summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
authorMartin Roth <martinroth@google.com>2017-11-11 15:22:55 -0700
committerMartin Roth <martinroth@google.com>2017-11-13 20:21:22 +0000
commitdffd280b55ccb9f9c69ee3deb8c962b8e3fb12ae (patch)
tree151fa56d7ebc907b713ee2e6153d40e357d97119 /src/mainboard
parentb77bc6f5e70d441d8b9deb6fc0cd13d2952e5bce (diff)
downloadcoreboot-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>
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/google/kahlee/BiosCallOuts.c7
-rw-r--r--src/mainboard/google/kahlee/variants/baseboard/gpio.c7
-rw-r--r--src/mainboard/google/kahlee/variants/baseboard/include/baseboard/variants.h2
-rw-r--r--src/mainboard/google/kahlee/variants/kahlee/gpio.c7
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 }