aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/include/gpio.h9
-rw-r--r--src/lib/gpio.c6
2 files changed, 15 insertions, 0 deletions
diff --git a/src/include/gpio.h b/src/include/gpio.h
index 4627e4412c..3f462df295 100644
--- a/src/include/gpio.h
+++ b/src/include/gpio.h
@@ -32,6 +32,15 @@ void gpio_output(gpio_t gpio, int value);
int _gpio_base3_value(gpio_t gpio[], int num_gpio, int binary_first);
/*
+ * This function may be implemented by SoC/board code to provide
+ * a mapping from a GPIO pin to controller by returning the ACPI
+ * path for the controller that owns this GPIO.
+ *
+ * If not implemented the default handler will return NULL.
+ */
+const char *gpio_acpi_path(gpio_t gpio);
+
+/*
* Read the value presented by the set of GPIOs, when each pin is interpreted
* as a base-2 digit (LOW = 0, HIGH = 1).
*
diff --git a/src/lib/gpio.c b/src/lib/gpio.c
index 2e345956f8..b0a5f4dfc3 100644
--- a/src/lib/gpio.c
+++ b/src/lib/gpio.c
@@ -139,3 +139,9 @@ int _gpio_base3_value(gpio_t gpio[], int num_gpio, int binary_first)
return result;
}
+
+/* Default handler for ACPI path is to return NULL */
+__attribute__((weak)) const char *gpio_acpi_path(gpio_t gpio)
+{
+ return NULL;
+}