mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-10-31 14:23:49 +01:00
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: Andy Shevchenko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bartosz Golaszewski <[email protected]>
This commit is contained in:
1 parent
ea95bd8510
commit
5a646e03e9
1 file changed
+6
-6
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user