summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Staaf <robotboy@chromium.org>2016-02-22 11:37:32 -0800
committerchrome-bot <chrome-bot@chromium.org>2016-02-22 23:50:53 -0800
commit98b0e13f606aefb7e2964bfa0358188d4fd31cfe (patch)
tree0262bf0687de2811839187f7b409cacacdfd3cea
parent8ae8dca6d4dd709c5c4909902c650f9780d113fb (diff)
downloadchrome-ec-98b0e13f606aefb7e2964bfa0358188d4fd31cfe.tar.gz
GPIO: Remove gpio_alt_funcs table from common header
Now that the cr50 no longer uses this array to store its pinmux config we can move it out of the header file, removing it from the public interface for GPIO code. This allows us to start modifying this struct more easily. Signed-off-by: Anton Staaf <robotboy@chromium.org> BRANCH=None BUG=None TEST=make buildall -j Change-Id: I9b4ca8b678b102bb9b63ccffe23bf2dc87aeb44a Reviewed-on: https://chromium-review.googlesource.com/328824 Commit-Ready: Anton Staaf <robotboy@chromium.org> Tested-by: Anton Staaf <robotboy@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Bill Richardson <wfrichar@chromium.org>
-rw-r--r--common/gpio.c33
-rw-r--r--include/gpio.h21
-rw-r--r--include/gpio_list.h13
3 files changed, 32 insertions, 35 deletions
diff --git a/common/gpio.c b/common/gpio.c
index 167207318f..e8652e7e9e 100644
--- a/common/gpio.c
+++ b/common/gpio.c
@@ -9,6 +9,7 @@
#include "console.h"
#include "gpio.h"
#include "host_command.h"
+#include "registers.h"
#include "system.h"
#include "util.h"
@@ -58,6 +59,35 @@ static int last_val_changed(int i, int v)
}
}
+/* GPIO alternate function structure */
+struct gpio_alt_func {
+ /* Port base address */
+ uint32_t port;
+
+ /* Bitmask on that port (multiple bits allowed) */
+ uint32_t mask;
+
+ /* Alternate function number */
+ uint8_t func;
+
+ /* Module ID (as uint8_t, since enum would be 32-bit) */
+ uint8_t module_id;
+
+ /* Flags (GPIO_*; see above). */
+ uint16_t flags;
+};
+
+/*
+ * Construct the gpio_alt_funcs array. This array is used by gpio_config_module
+ * to enable and disable GPIO alternate functions on a module by module basis.
+ */
+#define ALTERNATE(pinmask, function, module, flags) \
+ {GPIO_##pinmask, function, module, flags},
+
+static const struct gpio_alt_func gpio_alt_funcs[] = {
+ #include "gpio.wrap"
+};
+
/*
* GPIO_CONFIG_ALL_PORTS signifies a "don't care" for the GPIO port. This is
* used in gpio_config_pins(). When the port parameter is set to this, the
@@ -74,7 +104,8 @@ static int gpio_config_pins(enum module_id id,
int rv = EC_ERROR_INVAL;
/* Find pins and set to alternate functions */
- for (af = gpio_alt_funcs; af < gpio_alt_funcs + gpio_alt_funcs_count;
+ for (af = gpio_alt_funcs;
+ af < gpio_alt_funcs + ARRAY_SIZE(gpio_alt_funcs);
af++) {
if (af->module_id != id)
continue; /* Pins for some other module */
diff --git a/include/gpio.h b/include/gpio.h
index b259025739..d7dcd9d3ca 100644
--- a/include/gpio.h
+++ b/include/gpio.h
@@ -85,27 +85,6 @@ extern void (* const gpio_irq_handlers[])(enum gpio_signal signal);
extern const int gpio_ih_count;
#define GPIO_IH_COUNT gpio_ih_count
-/* GPIO alternate function structure, for use by board.c */
-struct gpio_alt_func {
- /* Port base address */
- uint32_t port;
-
- /* Bitmask on that port (multiple bits allowed) */
- uint32_t mask;
-
- /* Alternate function number */
- uint8_t func;
-
- /* Module ID (as uint8_t, since enum would be 32-bit) */
- uint8_t module_id;
-
- /* Flags (GPIO_*; see above). */
- uint16_t flags;
-};
-
-extern const struct gpio_alt_func gpio_alt_funcs[];
-extern const int gpio_alt_funcs_count;
-
/**
* Pre-initialize GPIOs.
*
diff --git a/include/gpio_list.h b/include/gpio_list.h
index a94b6e7a9c..ba0b63e321 100644
--- a/include/gpio_list.h
+++ b/include/gpio_list.h
@@ -21,19 +21,6 @@ const struct gpio_info gpio_list[] = {
BUILD_ASSERT(ARRAY_SIZE(gpio_list) == GPIO_COUNT);
-/*
- * Construct the gpio_alt_funcs array. This array is used by gpio_config_module
- * to enable and disable GPIO alternate functions on a module by module basis.
- */
-#define ALTERNATE(pinmask, function, module, flags) \
- {GPIO_##pinmask, function, module, flags},
-
-const struct gpio_alt_func gpio_alt_funcs[] = {
- #include "gpio.wrap"
-};
-
-const int gpio_alt_funcs_count = ARRAY_SIZE(gpio_alt_funcs);
-
/* GPIO Interrupt Handlers */
#define GPIO_INT(name, pin, flags, signal) signal,
void (* const gpio_irq_handlers[])(enum gpio_signal signal) = {