diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/vendorcode/google/chromeos/acpi.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/vendorcode/google/chromeos/acpi.c b/src/vendorcode/google/chromeos/acpi.c index 6605809023..13c757633b 100644 --- a/src/vendorcode/google/chromeos/acpi.c +++ b/src/vendorcode/google/chromeos/acpi.c @@ -14,6 +14,9 @@ */ #include <arch/acpigen.h> +#if IS_ENABLED(CONFIG_GENERIC_GPIO_LIB) +#include <gpio.h> +#endif #include "chromeos.h" void chromeos_acpi_gpio_generate(const struct cros_gpio *gpios, size_t num) @@ -28,7 +31,12 @@ void chromeos_acpi_gpio_generate(const struct cros_gpio *gpios, size_t num) acpigen_write_package(4); acpigen_write_integer(gpios[i].type); acpigen_write_integer(gpios[i].polarity); - acpigen_write_integer(gpios[i].gpio_num); + /* Get ACPI pin from GPIO library if available */ +#if IS_ENABLED(CONFIG_GENERIC_GPIO_LIB) + acpigen_write_integer(gpio_acpi_pin(gpios[i].gpio_num)); +#else + acpigen_write_integer(gpios[i].gpio_num); +#endif acpigen_write_string(gpios[i].device); acpigen_pop_len(); } |