Commit 5a646e03 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Bartosz Golaszewski

gpiolib: Return label, if set, for IRQ only line

If line has been locked as IRQ without requesting,
still check its label and return it, if not NULL.
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20240530191418.1138003-2-andriy.shevchenko@linux.intel.comSigned-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
parent ea95bd85
......@@ -106,16 +106,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->gdev->desc_srcu,
srcu_read_lock_held(&desc->gdev->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;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment