Now many of GPIO drivers implement two interfaces gpiolib and irqchip which are essentially orthogonal. So, now GPIO line can be requested in three ways: 1) As pure GPIO (gpioX_request()) 2) As pure GPIO IRQ, especially in DT boot case. DT: interrupt-parent = <&gpio6>; interrupts = <11 IRQ_TYPE_EDGE_FALLING>; Code: platform_get_irq() or of_irq_get() request_irq() 3) combination of (1) and (2). And from GPIO debugfs it could be identified when GPIO is requested/used or used as IRQ, but there is no way to determine when GPIO is requested/used as IRQ only. Such information is useful for debugging, so update GPIO debugfs code to show marker '<irq-only>' for GPIO lines which are requested/used as GPIO IRQ only. After this patch sys/kernel/debug/gpio will produce following output: ... GPIOs 160-191, platform/4805d000.gpio, gpio: gpio-171 ((null) ) in hi IRQ-209 <irq-only> GPIOs 192-223, platform/48051000.gpio, gpio: gpio-203 (vtt_fixed ) out hi Cc: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> --- drivers/gpio/gpiolib.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index f1dcb5b..d69fc58 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -2272,8 +2272,11 @@ static void gpiolib_dbg_show(struct seq_file *s, struct gpio_chip *chip) chip->get ? (chip->get(chip, i) ? "hi" : "lo") : "? "); - if (is_irq) + if (is_irq) { seq_printf(s, " IRQ-%d", gpiod_to_irq(gdesc)); + if (!test_bit(FLAG_REQUESTED, &gdesc->flags)) + seq_puts(s, " <irq-only>"); + } seq_printf(s, "\n"); } } -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html