gpio: add gpio_add/remove callback dt functions
Add `gpio_add_callback_dt` and `gpio_remove_callback_dt` functions
that allow the user to pass `gpio_dt_spec` directly.
Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
diff --git a/include/zephyr/drivers/gpio.h b/include/zephyr/drivers/gpio.h
index d9b7a68..d73e20c 100644
--- a/include/zephyr/drivers/gpio.h
+++ b/include/zephyr/drivers/gpio.h
@@ -1445,6 +1445,23 @@
}
/**
+ * @brief Add an application callback.
+ *
+ * This is equivalent to:
+ *
+ * gpio_add_callback(spec->port, callback);
+ *
+ * @param spec GPIO specification from devicetree.
+ * @param callback A valid application's callback structure pointer.
+ * @return a value from gpio_add_callback().
+ */
+static inline int gpio_add_callback_dt(const struct gpio_dt_spec *spec,
+ struct gpio_callback *callback)
+{
+ return gpio_add_callback(spec->port, callback);
+}
+
+/**
* @brief Remove an application callback.
* @param port Pointer to the device structure for the driver instance.
* @param callback A valid application's callback structure pointer.
@@ -1474,6 +1491,23 @@
}
/**
+ * @brief Remove an application callback.
+ *
+ * This is equivalent to:
+ *
+ * gpio_remove_callback(spec->port, callback);
+ *
+ * @param spec GPIO specification from devicetree.
+ * @param callback A valid application's callback structure pointer.
+ * @return a value from gpio_remove_callback().
+ */
+static inline int gpio_remove_callback_dt(const struct gpio_dt_spec *spec,
+ struct gpio_callback *callback)
+{
+ return gpio_remove_callback(spec->port, callback);
+}
+
+/**
* @brief Function to get pending interrupts
*
* The purpose of this function is to return the interrupt