USB: serial: ftdi_sio: log the CBUS GPIO validity
authorMarc Zyngier <maz@kernel.org>
Fri, 4 Dec 2020 16:47:38 +0000 (16:47 +0000)
committerJohan Hovold <johan@kernel.org>
Wed, 9 Dec 2020 17:07:03 +0000 (18:07 +0100)
The validity of the ftdi CBUS GPIO is pretty hidden so far,
and finding out *why* some GPIOs don't work is sometimes
hard to identify. So let's help the user by displaying the
map of the CBUS pins that are valid for a GPIO.

Suggested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20201204164739.781812-4-maz@kernel.org
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
[johan: demote to KERN_DEBUG, rephrase messages, drop ftx-prog warning]
Signed-off-by: Johan Hovold <johan@kernel.org>
drivers/usb/serial/ftdi_sio.c

index a41ce9e60b96b7a3546183403da56c1ab0c1d809..94398f89e600d0071617c84fe8f16b041ba76927 100644 (file)
@@ -2009,6 +2009,12 @@ static int ftdi_gpio_init_valid_mask(struct gpio_chip *gc,
 
        bitmap_complement(valid_mask, &map, ngpios);
 
+       if (bitmap_empty(valid_mask, ngpios))
+               dev_dbg(&port->dev, "no CBUS pin configured for GPIO\n");
+       else
+               dev_dbg(&port->dev, "CBUS%*pbl configured for GPIO\n", ngpios,
+                       valid_mask);
+
        return 0;
 }