From f0172098210ecc944e7545cabbf239240e0d7883 Mon Sep 17 00:00:00 2001 From: Peter Bigot Date: Mon, 27 Jan 2020 05:56:25 -0600 Subject: [PATCH] gpio: use reduced-size role typedef for public API pin indexes There is a typedef used to store pin indexes in configuration structures. For consistency it should also be used to identify pin indexes in function prototypes. Signed-off-by: Peter Bigot --- drivers/gpio/gpio_handlers.c | 5 +++-- include/drivers/gpio.h | 30 ++++++++++++++++-------------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/drivers/gpio/gpio_handlers.c b/drivers/gpio/gpio_handlers.c index bc37e5516b2..90d3ec37e15 100644 --- a/drivers/gpio/gpio_handlers.c +++ b/drivers/gpio/gpio_handlers.c @@ -8,7 +8,7 @@ #include static inline int z_vrfy_gpio_config(struct device *port, - u32_t pin, gpio_flags_t flags) + gpio_pin_t pin, gpio_flags_t flags) { Z_OOPS(Z_SYSCALL_DRIVER_GPIO(port, config)); return z_impl_gpio_config((struct device *)port, pin, flags); @@ -59,7 +59,8 @@ static inline int z_vrfy_gpio_port_toggle_bits(struct device *port, #include static inline int z_vrfy_gpio_pin_interrupt_configure(struct device *port, - unsigned int pin, unsigned int flags) + gpio_pin_t pin, + gpio_flags_t flags) { Z_OOPS(Z_SYSCALL_DRIVER_GPIO(port, pin_interrupt_configure)); return z_impl_gpio_pin_interrupt_configure((struct device *)port, pin, diff --git a/include/drivers/gpio.h b/include/drivers/gpio.h index fe02e54fa70..2ed4514fc32 100644 --- a/include/drivers/gpio.h +++ b/include/drivers/gpio.h @@ -416,8 +416,8 @@ typedef u32_t gpio_port_value_t; /** * @brief Provides a type to hold a GPIO pin index. * - * This can be used to record the pin number from a devicetree GPIOS - * property. + * This reduced-size type is sufficient to record a pin number, + * e.g. from a devicetree GPIOS property. */ typedef u8_t gpio_pin_t; @@ -560,11 +560,11 @@ struct gpio_driver_api { u32_t (*get_pending_int)(struct device *dev); }; -__syscall int gpio_config(struct device *port, u32_t pin, +__syscall int gpio_config(struct device *port, gpio_pin_t pin, gpio_flags_t flags); static inline int z_impl_gpio_config(struct device *port, - u32_t pin, gpio_flags_t flags) + gpio_pin_t pin, gpio_flags_t flags) { const struct gpio_driver_api *api = (const struct gpio_driver_api *)port->driver_api; @@ -639,10 +639,12 @@ static inline int z_impl_gpio_disable_callback(struct device *port, * @retval -EWOULDBLOCK if operation would block. */ __syscall int gpio_pin_interrupt_configure(struct device *port, - unsigned int pin, gpio_flags_t flags); + gpio_pin_t pin, + gpio_flags_t flags); static inline int z_impl_gpio_pin_interrupt_configure(struct device *port, - unsigned int pin, gpio_flags_t flags) + gpio_pin_t pin, + gpio_flags_t flags) { const struct gpio_driver_api *api = (const struct gpio_driver_api *)port->driver_api; @@ -706,7 +708,7 @@ static inline int z_impl_gpio_pin_interrupt_configure(struct device *port, * @retval -EIO I/O error when accessing an external GPIO chip. * @retval -EWOULDBLOCK if operation would block. */ -static inline int gpio_pin_configure(struct device *port, u32_t pin, +static inline int gpio_pin_configure(struct device *port, gpio_pin_t pin, gpio_flags_t flags) { const struct gpio_driver_api *api = @@ -1035,7 +1037,7 @@ static inline int gpio_port_set_clr_bits(struct device *port, * @retval -EIO I/O error when accessing an external GPIO chip. * @retval -EWOULDBLOCK if operation would block. */ -static inline int gpio_pin_get_raw(struct device *port, unsigned int pin) +static inline int gpio_pin_get_raw(struct device *port, gpio_pin_t pin) { const struct gpio_driver_config *const cfg = (const struct gpio_driver_config *)port->config->config_info; @@ -1073,7 +1075,7 @@ static inline int gpio_pin_get_raw(struct device *port, unsigned int pin) * @retval -EIO I/O error when accessing an external GPIO chip. * @retval -EWOULDBLOCK if operation would block. */ -static inline int gpio_pin_get(struct device *port, unsigned int pin) +static inline int gpio_pin_get(struct device *port, gpio_pin_t pin) { const struct gpio_driver_config *const cfg = (const struct gpio_driver_config *)port->config->config_info; @@ -1107,7 +1109,7 @@ static inline int gpio_pin_get(struct device *port, unsigned int pin) * @retval -EIO I/O error when accessing an external GPIO chip. * @retval -EWOULDBLOCK if operation would block. */ -static inline int gpio_pin_set_raw(struct device *port, unsigned int pin, +static inline int gpio_pin_set_raw(struct device *port, gpio_pin_t pin, int value) { const struct gpio_driver_config *const cfg = @@ -1148,7 +1150,7 @@ static inline int gpio_pin_set_raw(struct device *port, unsigned int pin, * @retval -EIO I/O error when accessing an external GPIO chip. * @retval -EWOULDBLOCK if operation would block. */ -static inline int gpio_pin_set(struct device *port, unsigned int pin, int value) +static inline int gpio_pin_set(struct device *port, gpio_pin_t pin, int value) { const struct gpio_driver_config *const cfg = (const struct gpio_driver_config *)port->config->config_info; @@ -1176,7 +1178,7 @@ static inline int gpio_pin_set(struct device *port, unsigned int pin, int value) * @retval -EIO I/O error when accessing an external GPIO chip. * @retval -EWOULDBLOCK if operation would block. */ -static inline int gpio_pin_toggle(struct device *port, unsigned int pin) +static inline int gpio_pin_toggle(struct device *port, gpio_pin_t pin) { const struct gpio_driver_config *const cfg = (const struct gpio_driver_config *)port->config->config_info; @@ -1321,7 +1323,7 @@ static inline int gpio_remove_callback(struct device *port, */ /* Deprecated in 2.2 release */ __deprecated static inline int gpio_pin_enable_callback(struct device *port, - u32_t pin) + gpio_pin_t pin) { return gpio_enable_callback(port, pin); } @@ -1337,7 +1339,7 @@ __deprecated static inline int gpio_pin_enable_callback(struct device *port, */ /* Deprecated in 2.2 release */ __deprecated static inline int gpio_pin_disable_callback(struct device *port, - u32_t pin) + gpio_pin_t pin) { return gpio_disable_callback(port, pin); }