diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2022-04-08 21:18:51 +0300 |
---|---|---|
committer | Bartosz Golaszewski <brgl@bgdev.pl> | 2022-04-09 23:38:17 +0300 |
commit | 66f46e370a9aec05524cdffde4062953e6ba2e08 (patch) | |
tree | a29d0ca07271d5ecc1457ddadc3c68af1f26b885 /drivers/gpio/gpiolib.c | |
parent | 57017edd46f835c85642fe8299f13b0db61d4c31 (diff) | |
download | linux-66f46e370a9aec05524cdffde4062953e6ba2e08.tar.xz |
gpiolib: Split out for_each_gpio_desc() macro
In some cases we want to traverse all GPIO descriptors for given
chip, let's split out for_each_gpio_desc() macro for such cases.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Diffstat (limited to 'drivers/gpio/gpiolib.c')
-rw-r--r-- | drivers/gpio/gpiolib.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index d41041966cf5..2bdc1efad66e 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -308,15 +308,10 @@ static struct gpio_desc *gpio_name_to_desc(const char * const name) spin_lock_irqsave(&gpio_lock, flags); list_for_each_entry(gdev, &gpio_devices, list) { - int i; - - for (i = 0; i != gdev->ngpio; ++i) { - struct gpio_desc *desc = &gdev->descs[i]; - - if (!desc->name) - continue; + struct gpio_desc *desc; - if (!strcmp(desc->name, name)) { + for_each_gpio_desc(gdev->chip, desc) { + if (desc->name && !strcmp(desc->name, name)) { spin_unlock_irqrestore(&gpio_lock, flags); return desc; } |