At present the gpio command only shows GPIOs which are marked as in use.
This makes sense with 'gpio status' since we already have the '-a' flag
to indicate that all GPIOs should be shown. But when a particular GPIO is
requested, it seems better to always display it. At present the request is
simply ignored.

Add an extra parameter for this to avoid changing the existing flag
parameter.

Signed-off-by: Simon Glass <s...@chromium.org>
---

 cmd/gpio.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/cmd/gpio.c b/cmd/gpio.c
index c60946bc06..1bf7363b3a 100644
--- a/cmd/gpio.c
+++ b/cmd/gpio.c
@@ -34,7 +34,7 @@ enum {
 };
 
 static void gpio_get_description(struct udevice *dev, const char *bank_name,
-                                int offset, int *flagsp)
+                                int offset, int *flagsp, bool show_all)
 {
        char buf[80];
        int ret;
@@ -42,7 +42,7 @@ static void gpio_get_description(struct udevice *dev, const 
char *bank_name,
        ret = gpio_get_function(dev, offset, NULL);
        if (ret < 0)
                goto err;
-       if (!(*flagsp & FLAG_SHOW_ALL) && ret == GPIOF_UNUSED)
+       if (!show_all && !(*flagsp & FLAG_SHOW_ALL) && ret == GPIOF_UNUSED)
                return;
        if ((*flagsp & FLAG_SHOW_BANK) && bank_name) {
                if (*flagsp & FLAG_SHOW_NEWLINE) {
@@ -98,11 +98,11 @@ static int do_gpio_status(bool all, const char *gpio_name)
                        if (gpio_name && *p) {
                                offset = simple_strtoul(p, NULL, 10);
                                gpio_get_description(dev, bank_name, offset,
-                                                    &flags);
+                                                    &flags, true);
                        } else {
                                for (offset = 0; offset < num_bits; offset++) {
                                        gpio_get_description(dev, bank_name,
-                                                            offset, &flags);
+                                                    offset, &flags, false);
                                }
                        }
                }
-- 
2.20.1.321.g9e740568ce-goog

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to