1# Copyright 2017 The Fuchsia Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5LOCAL_DIR := $(GET_LOCAL_DIR)
6
7MODULE := $(LOCAL_DIR)
8
9ifeq ($(ARCH),x86)
10
11MODULE := $(LOCAL_DIR)
12
13MODULE_TYPE := driver
14
15MODULE_NAME := bus-acpi
16
17ifeq ($(call TOBOOL,$(USE_CLANG)),true)
18MODULE_COMPILEFLAGS += -Wno-null-pointer-arithmetic
19endif
20MODULE_CFLAGS += -fno-strict-aliasing
21
22
23MODULE_COMPILEFLAGS += -Ithird_party/lib/acpica/source/include \
24					   -I$($LOCAL_DIR)/include
25
26MODULE_SRCS := \
27    $(LOCAL_DIR)/bus-acpi.c \
28    $(LOCAL_DIR)/cpu-trace.c \
29    $(LOCAL_DIR)/debug.c \
30    $(LOCAL_DIR)/dev/dev-battery.c \
31    $(LOCAL_DIR)/dev/dev-cros-ec/dev.cpp \
32    $(LOCAL_DIR)/dev/dev-cros-ec/motion.cpp \
33    $(LOCAL_DIR)/dev/dev-ec.c \
34    $(LOCAL_DIR)/dev/dev-pwrbtn.cpp \
35    $(LOCAL_DIR)/dev/dev-pwrsrc.c \
36    $(LOCAL_DIR)/dev/dev-tbmc.cpp \
37    $(LOCAL_DIR)/dev/dev-thermal.c \
38    $(LOCAL_DIR)/init.c \
39    $(LOCAL_DIR)/iommu.c \
40    $(LOCAL_DIR)/methods.cpp \
41    $(LOCAL_DIR)/nhlt.c \
42    $(LOCAL_DIR)/pciroot.cpp \
43    $(LOCAL_DIR)/power.c \
44    $(LOCAL_DIR)/resources.c \
45    $(LOCAL_DIR)/util.c \
46
47MODULE_FIDL_LIBS := \
48    system/fidl/fuchsia-hardware-power
49
50MODULE_STATIC_LIBS := \
51    system/ulib/ddk \
52    system/ulib/ddktl \
53    system/ulib/fbl \
54    system/ulib/fidl \
55    system/ulib/hid \
56    system/ulib/pci \
57    system/ulib/region-alloc \
58    system/ulib/zxcpp \
59    third_party/ulib/acpica \
60    third_party/ulib/chromiumos-platform-ec \
61
62MODULE_LIBS := \
63    system/ulib/c \
64    system/ulib/driver \
65    system/ulib/zircon \
66
67# Userspace PCI feature flag. The scaffolding for the userspace pci bus driver is
68# in pci.cpp. If not enabled then the kernel pci bus driver initialization code
69# in ACPI (kpci.c)  will be built instead.
70ifeq ($(call TOBOOL, $(ENABLE_USER_PCI)), true)
71MODULE_DEFINES := ENABLE_USER_PCI=1
72MODULE_SRCS += $(LOCAL_DIR)/pci.cpp
73else
74MODULE_SRCS += $(LOCAL_DIR)/kpci.c
75endif
76
77MODULE_BANJO_LIBS := \
78    system/banjo/ddk-protocol-acpi \
79    system/banjo/ddk-protocol-hidbus \
80    system/banjo/ddk-protocol-intelhda-dsp \
81    system/banjo/ddk-protocol-pciroot \
82    system/banjo/ddk-protocol-platform-device \
83    system/banjo/ddk-protocol-scpi \
84
85else # !ARCH=x86
86
87MODULE_NAME := bus-acpi
88
89MODULE_TYPE := userapp
90MODULE_GROUP := core
91
92MODULE_SRCS += $(LOCAL_DIR)/dummy.c
93
94MODULE_LIBS := \
95    system/ulib/zircon \
96    system/ulib/c \
97
98endif # ARCH=x86
99
100include make/module.mk
101