# ACPI configuration options

# Copyright (c) 2023 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

menuconfig ACPI
	bool "ACPI support"
	help
	  This option enables support for ACPI driver.

if ACPI

module = ACPI
module-str = acpi
source "subsys/logging/Kconfig.template.log_config"

if PCIE_PRT

config ACPI_PRT_BUS_NAME
	string "ACPI name of PCI bus"
	default "_SB.PCI0"
	help
	  ACPI name of PCI bus.

config ACPI_MAX_PRT_ENTRY
	int "Size of PRT buffer"
	default 4096
	help
	  Size of PRT table buffer.

endif # PCIE_PRT

config ACPI_SHELL
	bool "ACPI command Shell"
	depends on SHELL
	help
	  Enable commands for debugging ACPI using the built-in shell.

config ACPI_DEV_MAX
	int "maximum child devices"
	default 1000
	help
	  maximum acpi child devices.

endif # ACPI

config ACPI_HID_LEN_MAX
	int "Size of HID name"
	default 12
	help
	  Size of HID string.
