acpi: Create a new Kconfig for ACPI

We have several Kconfig options for ACPI, but all relate to specific
functions, such as generating tables and AML code.

Add a new option which controls including basic ACPI library code,
including the lib/acpi directory. This will allow us to add functions
which are available even if table generation is not supported.

Adjust the command to avoid a build error when ACPIGEN is not enabled.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
Simon Glass 2023-05-04 16:54:57 -06:00 committed by Bin Meng
parent d8062e9503
commit 0992a90daa
7 changed files with 22 additions and 3 deletions

View file

@ -195,6 +195,7 @@ config SANDBOX
imply PHYLIB imply PHYLIB
imply DM_MDIO imply DM_MDIO
imply DM_MDIO_MUX imply DM_MDIO_MUX
imply ACPI
imply ACPI_PMC imply ACPI_PMC
imply ACPI_PMC_SANDBOX imply ACPI_PMC_SANDBOX
imply CMD_PMC imply CMD_PMC
@ -261,6 +262,7 @@ config X86
imply PCH imply PCH
imply PHYSMEM imply PHYSMEM
imply RTC_MC146818 imply RTC_MC146818
imply ACPI
imply ACPIGEN if !QEMU && !EFI_APP imply ACPIGEN if !QEMU && !EFI_APP
imply SYSINFO if GENERATE_SMBIOS_TABLE imply SYSINFO if GENERATE_SMBIOS_TABLE
imply SYSINFO_SMBIOS if GENERATE_SMBIOS_TABLE imply SYSINFO_SMBIOS if GENERATE_SMBIOS_TABLE

View file

@ -109,7 +109,7 @@ menu "Info commands"
config CMD_ACPI config CMD_ACPI
bool "acpi" bool "acpi"
depends on ACPIGEN depends on ACPI
default y default y
help help
List and dump ACPI tables. ACPI (Advanced Configuration and Power List and dump ACPI tables. ACPI (Advanced Configuration and Power

View file

@ -162,6 +162,10 @@ static int do_acpi_items(struct cmd_tbl *cmdtp, int flag, int argc,
bool dump_contents; bool dump_contents;
dump_contents = argc >= 2 && !strcmp("-d", argv[1]); dump_contents = argc >= 2 && !strcmp("-d", argv[1]);
if (!IS_ENABLED(CONFIG_ACPIGEN)) {
printf("Not supported (enable ACPIGEN)\n");
return CMD_RET_FAILURE;
}
acpi_dump_items(dump_contents ? ACPI_DUMP_CONTENTS : ACPI_DUMP_LIST); acpi_dump_items(dump_contents ? ACPI_DUMP_CONTENTS : ACPI_DUMP_LIST);
return 0; return 0;

View file

@ -448,6 +448,7 @@ config OFNODE_MULTI_TREE_MAX
config ACPIGEN config ACPIGEN
bool "Support ACPI table generation in driver model" bool "Support ACPI table generation in driver model"
depends on ACPI
default y if SANDBOX || (GENERATE_ACPI_TABLE && !QEMU) default y if SANDBOX || (GENERATE_ACPI_TABLE && !QEMU)
select LIB_UUID select LIB_UUID
help help

View file

@ -281,9 +281,17 @@ config SUPPORT_ACPI
U-Boot can generate these tables and pass them to the Operating U-Boot can generate these tables and pass them to the Operating
System. System.
config ACPI
bool "Enable support for ACPI libraries"
depends on SUPPORT_ACPI
help
Provides library functions for dealing with ACPI tables. This does
not necessarily include generation of tables
(see GENERATE_ACPI_TABLE), but allows for tables to be located.
config GENERATE_ACPI_TABLE config GENERATE_ACPI_TABLE
bool "Generate an ACPI (Advanced Configuration and Power Interface) table" bool "Generate an ACPI (Advanced Configuration and Power Interface) table"
depends on SUPPORT_ACPI depends on ACPI
select QFW if QEMU select QFW if QEMU
help help
The Advanced Configuration and Power Interface (ACPI) specification The Advanced Configuration and Power Interface (ACPI) specification

View file

@ -66,7 +66,7 @@ obj-$(CONFIG_$(SPL_TPL_)CRC8) += crc8.o
obj-y += crypto/ obj-y += crypto/
obj-$(CONFIG_$(SPL_TPL_)GENERATE_ACPI_TABLE) += acpi/ obj-$(CONFIG_$(SPL_TPL_)ACPI) += acpi/
obj-$(CONFIG_$(SPL_)MD5) += md5.o obj-$(CONFIG_$(SPL_)MD5) += md5.o
obj-$(CONFIG_ECDSA) += ecdsa/ obj-$(CONFIG_ECDSA) += ecdsa/
obj-$(CONFIG_$(SPL_)RSA) += rsa/ obj-$(CONFIG_$(SPL_)RSA) += rsa/

View file

@ -1,6 +1,8 @@
# SPDX-License-Identifier: GPL-2.0+ # SPDX-License-Identifier: GPL-2.0+
# #
ifdef CONFIG_$(SPL_TPL_)GENERATE_ACPI_TABLE
obj-$(CONFIG_$(SPL_)ACPIGEN) += acpigen.o obj-$(CONFIG_$(SPL_)ACPIGEN) += acpigen.o
obj-$(CONFIG_$(SPL_)ACPIGEN) += acpi_device.o obj-$(CONFIG_$(SPL_)ACPIGEN) += acpi_device.o
obj-$(CONFIG_$(SPL_)ACPIGEN) += acpi_dp.o obj-$(CONFIG_$(SPL_)ACPIGEN) += acpi_dp.o
@ -21,3 +23,5 @@ endif
obj-y += facs.o obj-y += facs.o
obj-y += ssdt.o obj-y += ssdt.o
endif endif
endif # GENERATE_ACPI_TABLE