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; > } > > -- > 2.43.0.rc1.1336.g36b5255a03ac > What good would it be if gpiochip_dup_line_label() returns NULL for unrequested lines anyway? Bart