gpiolib: Extract gpiod_not_found() helper
PATCH 1/1 gpiolib: Extract gpiod_not_found() helper
Several places in the code are using same idiom, i.e.
IS_ERR(desc) && PTR_ERR(desc) == -ENOENT
which meaning is GPIO description is not found.
For better readability extract gpiod_not_found() helper and use it.
Signed-off-by Andy Shevchenko <[email protected]>
--- drivers/gpio/gpiolib-devres.c | 8 +++----- drivers/gpio/gpiolib-of.c | 12 ++++++------ drivers/gpio/gpiolib.c | 12 +++++------- drivers/gpio/gpiolib.h | 2 ++ 4 files changed, 16 insertions(+), 18 deletions(-)
drivers/gpio/gpiolib-devres.c +3 -5
@@ -246,10 +246,8 @@ struct gpio_desc *__must_check devm_gpiod_get_index_optional(struct device *dev,struct gpio_desc *desc; desc =devm_gpiod_get_index (dev, con_id, index, flags); -if (IS_ERR (desc)) { -if (PTR_ERR (desc) == -ENOENT ) -return NULL ; - } +if (gpiod_not_found (desc)) +return NULL ;return desc; }
@@ -308,7 +306,7 @@ devm_gpiod_get_array_optional(struct device *dev, const char *con_id,struct gpio_descs *descs; descs =devm_gpiod_get_array (dev, con_id, flags); -if (PTR_ERR (descs) == -ENOENT ) +if (gpiod_not_found (descs))return NULL ;return descs;
drivers/gpio/gpiolib-of.c +6 -6
@@ -509,31 +509,31 @@ struct gpio_desc *of_find_gpio(struct device *dev, const char *con_id, desc =of_get_named_gpiod_flags (dev->of_node, prop_name, idx, &of_flags); -if (!IS_ERR (desc) ||PTR_ERR (desc) != -ENOENT ) +if (!gpiod_not_found (desc))break ; } -if (PTR_ERR (desc) == -ENOENT ) { +if (gpiod_not_found (desc)) {/* Special handling for SPI GPIOs if used */ desc =of_find_spi_gpio (dev, con_id, &of_flags); } -if (PTR_ERR (desc) == -ENOENT ) { +if (gpiod_not_found (desc)) {/* This quirk looks up flags and all */ desc =of_find_spi_cs_gpio (dev, con_id, idx, flags);if (!IS_ERR (desc))return desc; } -if (PTR_ERR (desc) == -ENOENT ) { +if (gpiod_not_found (desc)) {/* Special handling for regulator GPIOs if used */ desc =of_find_regulator_gpio (dev, con_id, &of_flags); } -if (PTR_ERR (desc) == -ENOENT ) +if (gpiod_not_found (desc)) desc =of_find_arizona_gpio (dev, con_id, &of_flags); -if (PTR_ERR (desc) == -ENOENT ) +if (gpiod_not_found (desc)) desc =of_find_usb_gpio (dev, con_id, &of_flags);if (IS_ERR (desc))
drivers/gpio/gpiolib.c +5 -7
@@ -3778,7 +3778,7 @@ struct gpio_desc *fwnode_gpiod_get_index(struct fwnode_handle *fwnode, desc =fwnode_get_named_gpiod (fwnode, prop_name, index, flags, label); -if (!IS_ERR (desc) || (PTR_ERR (desc) != -ENOENT )) +if (!gpiod_not_found (desc))break ; }
@@ -3954,7 +3954,7 @@ struct gpio_desc *__must_check gpiod_get_index(struct device *dev,* Either we are not using DT or ACPI, or their lookup did not return * a result. In that case, use platform lookup as a fallback. */ -if (!desc || desc ==ERR_PTR (-ENOENT )) { +if (!desc ||gpiod_not_found (desc)) {dev_dbg (dev,"using lookup tables for GPIO lookup\n" ); desc =gpiod_find (dev, con_id, idx, &lookupflags); }
@@ -4089,10 +4089,8 @@ struct gpio_desc *__must_check gpiod_get_index_optional(struct device *dev,struct gpio_desc *desc; desc =gpiod_get_index (dev, con_id, index, flags); -if (IS_ERR (desc)) { -if (PTR_ERR (desc) == -ENOENT ) -return NULL ; - } +if (gpiod_not_found (desc)) +return NULL ;return desc; }
@@ -4296,7 +4294,7 @@ struct gpio_descs *__must_check gpiod_get_array_optional(struct device *dev,struct gpio_descs *descs; descs =gpiod_get_array (dev, con_id, flags); -if (PTR_ERR (descs) == -ENOENT ) +if (gpiod_not_found (descs))return NULL ;return descs;
drivers/gpio/gpiolib.h +2 -0
@@ -130,6 +130,8 @@ struct gpio_desc {#endif }; +#define gpiod_not_found (desc) (IS_ERR(desc) && PTR_ERR(desc) == -ENOENT) +int gpiod_request (struct gpio_desc *desc,const char *label);void gpiod_free (struct gpio_desc *desc); int gpiod_configure_flags(struct gpio_desc *desc, const char *con_id,
Signature · 1 line
2.28.0
Bartosz Golaszewski
AppliedQuoted 9 lines · Andy Shevchenko
Several places in the code are using same idiom, i.e.
IS_ERR(desc) && PTR_ERR(desc) == -ENOENTwhich meaning is GPIO description is not found.
For better readability extract
gpiod_not_found()helper and use it.Signed-off-by Andy Shevchenko <[email protected]>---
Applied, thanks!
Bartosz