mirror of
https://github.com/torvalds/linux.git
synced 2026-07-30 03:01:41 +02:00
gpiolib: Simplify implementation of for_each_hwgpio_in_range()
The whole purpose of the custom CLASS() is to have possibility to initialise the counter variable _i to 0. This can't be done with simple __free() macro as it will be not allowed by C language. OTOH, the CLASS() operates with the pointers and explicit usage of the scoped variable _data is not needed, since the pointers are kept the same over the iterations. Simplify the implementation of for_each_hwgpio_in_range(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20250207151149.2119765-3-andriy.shevchenko@linux.intel.com Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
parent
8893516000
commit
767412f092
|
|
@ -560,11 +560,9 @@ DEFINE_CLASS(_gpiochip_for_each_data,
|
|||
*/
|
||||
#define for_each_hwgpio_in_range(_chip, _i, _base, _size, _label) \
|
||||
for (CLASS(_gpiochip_for_each_data, _data)(&_label, &_i); \
|
||||
*_data.i < _size; \
|
||||
(*_data.i)++, kfree(*(_data.label)), *_data.label = NULL) \
|
||||
if (IS_ERR(*_data.label = \
|
||||
gpiochip_dup_line_label(_chip, _base + *_data.i))) {} \
|
||||
else
|
||||
_i < _size; \
|
||||
_i++, kfree(_label), _label = NULL) \
|
||||
if (IS_ERR(_label = gpiochip_dup_line_label(_chip, _base + _i))) {} else
|
||||
|
||||
/**
|
||||
* for_each_hwgpio - Iterates over all GPIOs for given chip.
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user