1# SPDX-License-Identifier: GPL-2.0
2#
3# Makefile for the Linux ACPI interpreter
4#
5
6ccflags-$(CONFIG_ACPI_DEBUG)	+= -DACPI_DEBUG_OUTPUT
7
8#
9# ACPI Boot-Time Table Parsing
10#
11ifeq ($(CONFIG_ACPI_CUSTOM_DSDT),y)
12tables.o: $(src)/../../include/$(subst $\",,$(CONFIG_ACPI_CUSTOM_DSDT_FILE)) ;
13
14endif
15
16obj-$(CONFIG_ACPI)		+= tables.o
17obj-$(CONFIG_X86)		+= blacklist.o
18
19#
20# ACPI Core Subsystem (Interpreter)
21#
22obj-$(CONFIG_ACPI)		+= acpi.o \
23					acpica/
24
25# All the builtin files are in the "acpi." module_param namespace.
26acpi-y				+= osi.o osl.o utils.o reboot.o
27acpi-y				+= nvs.o
28
29# Power management related files
30acpi-y				+= wakeup.o
31acpi-$(CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT) += sleep.o
32acpi-y				+= device_sysfs.o device_pm.o
33acpi-$(CONFIG_ACPI_SLEEP)	+= proc.o
34
35
36#
37# ACPI Bus and Device Drivers
38#
39acpi-y				+= bus.o glue.o
40acpi-y				+= scan.o
41acpi-y				+= resource.o
42acpi-y				+= acpi_processor.o
43acpi-y				+= processor_core.o
44acpi-$(CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC) += processor_pdc.o
45acpi-y				+= ec.o
46acpi-$(CONFIG_ACPI_DOCK)	+= dock.o
47acpi-$(CONFIG_PCI)		+= pci_root.o pci_link.o pci_irq.o
48obj-$(CONFIG_ACPI_MCFG)		+= pci_mcfg.o
49acpi-$(CONFIG_PCI)		+= acpi_lpss.o
50acpi-y				+= acpi_apd.o
51acpi-y				+= acpi_platform.o
52acpi-y				+= acpi_pnp.o
53acpi-$(CONFIG_ARM_AMBA)	+= acpi_amba.o
54acpi-y				+= power.o
55acpi-y				+= event.o
56acpi-y				+= evged.o
57acpi-y				+= sysfs.o
58acpi-y				+= property.o
59acpi-$(CONFIG_X86)		+= acpi_cmos_rtc.o
60acpi-$(CONFIG_X86)		+= x86/apple.o
61acpi-$(CONFIG_X86)		+= x86/utils.o
62acpi-$(CONFIG_X86)		+= x86/s2idle.o
63acpi-$(CONFIG_DEBUG_FS)		+= debugfs.o
64acpi-y				+= acpi_lpat.o
65acpi-$(CONFIG_ACPI_FPDT)	+= acpi_fpdt.o
66acpi-$(CONFIG_ACPI_LPIT)	+= acpi_lpit.o
67acpi-$(CONFIG_ACPI_GENERIC_GSI) += irq.o
68acpi-$(CONFIG_ACPI_WATCHDOG)	+= acpi_watchdog.o
69acpi-$(CONFIG_ACPI_PRMT)	+= prmt.o
70
71# Address translation
72acpi-$(CONFIG_ACPI_ADXL)	+= acpi_adxl.o
73
74# These are (potentially) separate modules
75
76# IPMI may be used by other drivers, so it has to initialise before them
77obj-$(CONFIG_ACPI_IPMI)		+= acpi_ipmi.o
78
79obj-$(CONFIG_ACPI_AC) 		+= ac.o
80obj-$(CONFIG_ACPI_BUTTON)	+= button.o
81obj-$(CONFIG_ACPI_TINY_POWER_BUTTON)	+= tiny-power-button.o
82obj-$(CONFIG_ACPI_FAN)		+= fan.o
83obj-$(CONFIG_ACPI_VIDEO)	+= video.o
84obj-$(CONFIG_ACPI_TAD)		+= acpi_tad.o
85obj-$(CONFIG_ACPI_PCI_SLOT)	+= pci_slot.o
86obj-$(CONFIG_ACPI_PROCESSOR)	+= processor.o
87obj-$(CONFIG_ACPI)		+= container.o
88obj-$(CONFIG_ACPI_THERMAL)	+= thermal.o
89obj-$(CONFIG_ACPI_PLATFORM_PROFILE) 	+= platform_profile.o
90obj-$(CONFIG_ACPI_NFIT)		+= nfit/
91obj-$(CONFIG_ACPI_NUMA)		+= numa/
92obj-$(CONFIG_ACPI)		+= acpi_memhotplug.o
93obj-$(CONFIG_ACPI_HOTPLUG_IOAPIC) += ioapic.o
94obj-$(CONFIG_ACPI_BATTERY)	+= battery.o
95obj-$(CONFIG_ACPI_SBS)		+= sbshc.o
96obj-$(CONFIG_ACPI_SBS)		+= sbs.o
97obj-$(CONFIG_ACPI_HED)		+= hed.o
98obj-$(CONFIG_ACPI_EC_DEBUGFS)	+= ec_sys.o
99obj-$(CONFIG_ACPI_CUSTOM_METHOD)+= custom_method.o
100obj-$(CONFIG_ACPI_BGRT)		+= bgrt.o
101obj-$(CONFIG_ACPI_CPPC_LIB)	+= cppc_acpi.o
102obj-$(CONFIG_ACPI_SPCR_TABLE)	+= spcr.o
103obj-$(CONFIG_ACPI_DEBUGGER_USER) += acpi_dbg.o
104obj-$(CONFIG_ACPI_PPTT) 	+= pptt.o
105
106# processor has its own "processor." module_param namespace
107processor-y			:= processor_driver.o
108processor-$(CONFIG_ACPI_PROCESSOR_IDLE) += processor_idle.o
109processor-$(CONFIG_ACPI_CPU_FREQ_PSS)	+= processor_throttling.o	\
110	processor_thermal.o
111processor-$(CONFIG_CPU_FREQ)	+= processor_perflib.o
112
113obj-$(CONFIG_ACPI_PROCESSOR_AGGREGATOR) += acpi_pad.o
114
115obj-$(CONFIG_ACPI_APEI)		+= apei/
116
117obj-$(CONFIG_ACPI_EXTLOG)	+= acpi_extlog.o
118
119obj-$(CONFIG_ACPI_CONFIGFS)	+= acpi_configfs.o
120
121obj-y				+= pmic/
122
123video-objs			+= acpi_video.o video_detect.o
124obj-y				+= dptf/
125
126obj-$(CONFIG_ARM64)		+= arm64/
127
128obj-$(CONFIG_ACPI_VIOT)		+= viot.o
129