X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=cmd%2Fgpio.c;h=eff36ab2af329df34e83bafee24a633a8380ae76;hb=5d336d1701567e5025c3010b325e633a677c30a2;hp=4ac1f1e4180e1d7bcf3ab7d029d6015415fc9d88;hpb=66f657d15b5d95a80ea8329002762118a97aae17;p=oweals%2Fu-boot.git diff --git a/cmd/gpio.c b/cmd/gpio.c index 4ac1f1e418..eff36ab2af 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) { @@ -90,19 +90,19 @@ static int do_gpio_status(bool all, const char *gpio_name) banklen = bank_name ? strlen(bank_name) : 0; if (!gpio_name || !bank_name || - !strncmp(gpio_name, bank_name, banklen)) { - const char *p = NULL; + !strncasecmp(gpio_name, bank_name, banklen)) { + const char *p; int offset; p = gpio_name + banklen; 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); } } }