forked from Minki/linux
gpiolib: Embed iterator variable into for_each_gpio_desc_with_flag()
The iterator loop is used exclusively to get a descriptor, which in its turn is what is being used by the caller. Embed the iterator variable into the loop in the for_each_gpio_desc_with_flag() macro helper. Suggested-by: Bartosz Golaszewski <brgl@bgdev.pl> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
This commit is contained in:
parent
24a9dbb1c1
commit
57017edd46
@ -712,9 +712,8 @@ static void of_gpiochip_remove_hog(struct gpio_chip *chip,
|
||||
struct device_node *hog)
|
||||
{
|
||||
struct gpio_desc *desc;
|
||||
unsigned int i;
|
||||
|
||||
for_each_gpio_desc_with_flag(i, chip, desc, FLAG_IS_HOGGED)
|
||||
for_each_gpio_desc_with_flag(chip, desc, FLAG_IS_HOGGED)
|
||||
if (desc->hog == hog)
|
||||
gpiochip_free_own_desc(desc);
|
||||
}
|
||||
|
@ -760,7 +760,6 @@ void gpiochip_sysfs_unregister(struct gpio_device *gdev)
|
||||
{
|
||||
struct gpio_desc *desc;
|
||||
struct gpio_chip *chip = gdev->chip;
|
||||
unsigned int i;
|
||||
|
||||
if (!gdev->mockdev)
|
||||
return;
|
||||
@ -773,7 +772,7 @@ void gpiochip_sysfs_unregister(struct gpio_device *gdev)
|
||||
mutex_unlock(&sysfs_lock);
|
||||
|
||||
/* unregister gpiod class devices owned by sysfs */
|
||||
for_each_gpio_desc_with_flag(i, chip, desc, FLAG_SYSFS)
|
||||
for_each_gpio_desc_with_flag(chip, desc, FLAG_SYSFS)
|
||||
gpiod_free(desc);
|
||||
}
|
||||
|
||||
|
@ -4119,9 +4119,8 @@ int gpiod_hog(struct gpio_desc *desc, const char *name,
|
||||
static void gpiochip_free_hogs(struct gpio_chip *gc)
|
||||
{
|
||||
struct gpio_desc *desc;
|
||||
int id;
|
||||
|
||||
for_each_gpio_desc_with_flag(id, gc, desc, FLAG_IS_HOGGED)
|
||||
for_each_gpio_desc_with_flag(gc, desc, FLAG_IS_HOGGED)
|
||||
gpiochip_free_own_desc(desc);
|
||||
}
|
||||
|
||||
|
@ -100,10 +100,10 @@ struct gpio_array {
|
||||
|
||||
struct gpio_desc *gpiochip_get_desc(struct gpio_chip *gc, unsigned int hwnum);
|
||||
|
||||
#define for_each_gpio_desc_with_flag(i, gc, desc, flag) \
|
||||
for (i = 0, desc = gpiochip_get_desc(gc, i); \
|
||||
i < gc->ngpio; \
|
||||
i++, desc = gpiochip_get_desc(gc, i)) \
|
||||
#define for_each_gpio_desc_with_flag(gc, desc, flag) \
|
||||
for (unsigned int __i = 0; \
|
||||
__i < gc->ngpio && (desc = gpiochip_get_desc(gc, __i)); \
|
||||
__i++) \
|
||||
if (!test_bit(flag, &desc->flags)) {} else
|
||||
|
||||
int gpiod_get_array_value_complex(bool raw, bool can_sleep,
|
||||
|
Loading…
Reference in New Issue
Block a user