diff options
author | Martin Roth <martinroth@google.com> | 2017-11-11 15:22:55 -0700 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2017-11-13 20:21:22 +0000 |
commit | dffd280b55ccb9f9c69ee3deb8c962b8e3fb12ae (patch) | |
tree | 151fa56d7ebc907b713ee2e6153d40e357d97119 | |
parent | b77bc6f5e70d441d8b9deb6fc0cd13d2952e5bce (diff) | |
download | coreboot-dffd280b55ccb9f9c69ee3deb8c962b8e3fb12ae.tar.xz |
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 <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/22435
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Marc Jones <marc@marcjonesconsulting.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
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 <FchPlatform.h> #include <soc/southbridge.h> #include <stdlib.h> - -extern const GPIO_CONTROL agesa_board_gpios[]; +#include <baseboard/variants.h> 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 <soc/southbridge.h> #include <stdlib.h> -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 <stddef.h> #include <soc/smi.h> +#include <AGESA.h> +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 <stdlib.h> #include <variant/gpio.h> -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 } |