From dffd280b55ccb9f9c69ee3deb8c962b8e3fb12ae Mon Sep 17 00:00:00 2001 From: Martin Roth Date: Sat, 11 Nov 2017 15:22:55 -0700 Subject: [PATCH] mb/google/kahlee: Add getter function for GPIO array Instead of getting the address of the GPIO function with an extern, add a getter function and make the GPIO arrays static. TEST=Build Grunt; Build & boot Kahlee BUG=b:69164070 Change-Id: I3defcb66696459b915d7d4f43234d5c08ab7d417 Signed-off-by: Martin Roth Reviewed-on: https://review.coreboot.org/22435 Tested-by: build bot (Jenkins) Reviewed-by: Marc Jones Reviewed-by: Aaron Durbin --- src/mainboard/google/kahlee/BiosCallOuts.c | 7 +++---- src/mainboard/google/kahlee/variants/baseboard/gpio.c | 7 ++++++- .../kahlee/variants/baseboard/include/baseboard/variants.h | 2 ++ src/mainboard/google/kahlee/variants/kahlee/gpio.c | 7 ++++++- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/mainboard/google/kahlee/BiosCallOuts.c b/src/mainboard/google/kahlee/BiosCallOuts.c index f26b54e0ed..2f6a6036c8 100644 --- a/src/mainboard/google/kahlee/BiosCallOuts.c +++ b/src/mainboard/google/kahlee/BiosCallOuts.c @@ -18,17 +18,16 @@ #include #include #include - -extern const GPIO_CONTROL agesa_board_gpios[]; +#include void platform_FchParams_reset(FCH_RESET_DATA_BLOCK *FchParams_reset) { - FchParams_reset->EarlyOemGpioTable = (void *)agesa_board_gpios; + FchParams_reset->EarlyOemGpioTable = (void *)get_gpio_table(); } void platform_FchParams_env(FCH_DATA_BLOCK *FchParams_env) { - FchParams_env->PostOemGpioTable = (void *)agesa_board_gpios; + FchParams_env->PostOemGpioTable = (void *)get_gpio_table(); /* SDHCI/MMC configuration */ if (IS_ENABLED(CONFIG_BOARD_GOOGLE_KAHLEE)) diff --git a/src/mainboard/google/kahlee/variants/baseboard/gpio.c b/src/mainboard/google/kahlee/variants/baseboard/gpio.c index 84e40b0c83..aca96c4e50 100644 --- a/src/mainboard/google/kahlee/variants/baseboard/gpio.c +++ b/src/mainboard/google/kahlee/variants/baseboard/gpio.c @@ -20,10 +20,15 @@ #include #include -const GPIO_CONTROL __attribute__((weak)) agesa_board_gpios[] = { +static const GPIO_CONTROL agesa_board_gpios[] = { }; +const __attribute__((weak)) GPIO_CONTROL *get_gpio_table(void) +{ + return agesa_board_gpios; +} + /* * GPE setup table must match ACPI GPE ASL * { gevent, gpe, direction, level } diff --git a/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/variants.h b/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/variants.h index 0a5780884f..aad560708a 100644 --- a/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/variants.h +++ b/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/variants.h @@ -19,7 +19,9 @@ #include #include +#include +const GPIO_CONTROL *get_gpio_table(void); const struct sci_source *get_gpe_table(size_t *num); size_t variant_board_id(void); diff --git a/src/mainboard/google/kahlee/variants/kahlee/gpio.c b/src/mainboard/google/kahlee/variants/kahlee/gpio.c index 3e981f5e17..0fd5f400cb 100644 --- a/src/mainboard/google/kahlee/variants/kahlee/gpio.c +++ b/src/mainboard/google/kahlee/variants/kahlee/gpio.c @@ -21,7 +21,7 @@ #include #include -const GPIO_CONTROL agesa_board_gpios[] = { +static const GPIO_CONTROL agesa_board_gpios[] = { /* AGPIO2 PCIE/WLAN WAKE# SCI*/ {2, Function1, FCH_GPIO_PULL_UP_ENABLE }, @@ -100,6 +100,11 @@ const GPIO_CONTROL agesa_board_gpios[] = { {-1} }; +const GPIO_CONTROL *get_gpio_table(void) +{ + return agesa_board_gpios; +} + /* * GPE setup table must match ACPI GPE ASL * { gevent, gpe, direction, level }