Thu, May 09, 2024 at 03:15:05PM +0200, Bartosz Golaszewski kirjoitti: > On Wed, May 8, 2024 at 4:47 PM Andy Shevchenko > <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > > > > If line has been locked as IRQ without requesting, > > still check its label and return it, if not NULL. > > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > > --- > > drivers/gpio/gpiolib.c | 12 ++++++------ > > 1 file changed, 6 insertions(+), 6 deletions(-) > > > > diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c > > index db536ec9734d..1f1673552767 100644 > > --- a/drivers/gpio/gpiolib.c > > +++ b/drivers/gpio/gpiolib.c > > @@ -105,16 +105,16 @@ const char *gpiod_get_label(struct gpio_desc *desc) > > unsigned long flags; > > > > flags = READ_ONCE(desc->flags); > > - if (test_bit(FLAG_USED_AS_IRQ, &flags) && > > - !test_bit(FLAG_REQUESTED, &flags)) > > - return "interrupt"; > > - > > - if (!test_bit(FLAG_REQUESTED, &flags)) > > - return NULL; > > > > label = srcu_dereference_check(desc->label, &desc->srcu, > > srcu_read_lock_held(&desc->srcu)); > > > > + if (test_bit(FLAG_USED_AS_IRQ, &flags)) > > + return label->str ?: "interrupt"; > > + > > + if (!test_bit(FLAG_REQUESTED, &flags)) > > + return NULL; > > + > > return label->str; > > } > > What good would it be if gpiochip_dup_line_label() returns NULL for > unrequested lines anyway? Then it should be handled differently in those cases. So, consider it as a preparatory patch which doesn't change current behaviour. (Yes, I have some hack patches locally which do something useful, but they are not ready. In any case this one looks to me as a good cleanup on its own for the sake of readability of the code and reduced amount of checks.) -- With Best Regards, Andy Shevchenko