]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
acpi: Create a new Kconfig for ACPI
authorSimon Glass <sjg@chromium.org>
Thu, 4 May 2023 22:54:57 +0000 (16:54 -0600)
committerBin Meng <bmeng@tinylab.org>
Thu, 11 May 2023 02:25:29 +0000 (10:25 +0800)
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>
arch/Kconfig
cmd/Kconfig
cmd/acpi.c
drivers/core/Kconfig
lib/Kconfig
lib/Makefile
lib/acpi/Makefile

index 55b9a5eb8a5d4e3e4cd332e95d0d70508572f0a0..c9a3359225288bb08bbcc7c54e39457c19630efc 100644 (file)
@@ -195,6 +195,7 @@ config SANDBOX
        imply PHYLIB
        imply DM_MDIO
        imply DM_MDIO_MUX
+       imply ACPI
        imply ACPI_PMC
        imply ACPI_PMC_SANDBOX
        imply CMD_PMC
@@ -261,6 +262,7 @@ config X86
        imply PCH
        imply PHYSMEM
        imply RTC_MC146818
+       imply ACPI
        imply ACPIGEN if !QEMU && !EFI_APP
        imply SYSINFO if GENERATE_SMBIOS_TABLE
        imply SYSINFO_SMBIOS if GENERATE_SMBIOS_TABLE
index 65957da7f5739dc5b5fd9e1077e83afeea30882a..87291e2d84d33d066907a8d034044f832d767f0a 100644 (file)
@@ -109,7 +109,7 @@ menu "Info commands"
 
 config CMD_ACPI
        bool "acpi"
-       depends on ACPIGEN
+       depends on ACPI
        default y
        help
          List and dump ACPI tables. ACPI (Advanced Configuration and Power
index d0fc062ef8cb4a797f883111d22848042a329e29..991b5235e289f4e810e673f6570612863994104c 100644 (file)
@@ -162,6 +162,10 @@ static int do_acpi_items(struct cmd_tbl *cmdtp, int flag, int argc,
        bool dump_contents;
 
        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);
 
        return 0;
index 0f755aa702ee45c3bf427f3476b2510c34fd6ba7..f0d848f45d8ed0f05b064a83a2956ec5c6519083 100644 (file)
@@ -448,6 +448,7 @@ config OFNODE_MULTI_TREE_MAX
 
 config ACPIGEN
        bool "Support ACPI table generation in driver model"
+       depends on ACPI
        default y if SANDBOX || (GENERATE_ACPI_TABLE && !QEMU)
        select LIB_UUID
        help
index d8dac09ea84311b54019e65f8cbf9854dee910b6..c8b3ec1ec9c3da55ed01700bd4b238d8a2a1d71a 100644 (file)
@@ -281,9 +281,17 @@ config SUPPORT_ACPI
          U-Boot can generate these tables and pass them to the Operating
          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
        bool "Generate an ACPI (Advanced Configuration and Power Interface) table"
-       depends on SUPPORT_ACPI
+       depends on ACPI
        select QFW if QEMU
        help
          The Advanced Configuration and Power Interface (ACPI) specification
index 10aa7ac02985b83c109a790f8bb5f43fdf0a1845..8d8ccc8bbc39578cc2c94559e6fd74ff027e622a 100644 (file)
@@ -66,7 +66,7 @@ obj-$(CONFIG_$(SPL_TPL_)CRC8) += crc8.o
 
 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_ECDSA) += ecdsa/
 obj-$(CONFIG_$(SPL_)RSA) += rsa/
index 956b5a0d7265a2aa7e80655dec8017b0b746a5e5..12337abaecfa4d60e2256dc16196289f67467dc2 100644 (file)
@@ -1,6 +1,8 @@
 # SPDX-License-Identifier: GPL-2.0+
 #
 
+ifdef CONFIG_$(SPL_TPL_)GENERATE_ACPI_TABLE
+
 obj-$(CONFIG_$(SPL_)ACPIGEN) += acpigen.o
 obj-$(CONFIG_$(SPL_)ACPIGEN) += acpi_device.o
 obj-$(CONFIG_$(SPL_)ACPIGEN) += acpi_dp.o
@@ -21,3 +23,5 @@ endif
 obj-y += facs.o
 obj-y += ssdt.o
 endif
+
+endif # GENERATE_ACPI_TABLE