X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=cmd%2Fgpio.c;h=408a942455b58627a81107f3145fe08e33fbeb9f;hb=ea02cfb6495eb5f54bf239405316746a19d303b2;hp=67eef83c951c73326e3a458c4417b51a70a1c172;hpb=4dbc107f4683e45749045b97f0b529d5eb5178a9;p=oweals%2Fu-boot.git diff --git a/cmd/gpio.c b/cmd/gpio.c index 67eef83c95..408a942455 100644 --- a/cmd/gpio.c +++ b/cmd/gpio.c @@ -10,7 +10,9 @@ #include #include #include +#include #include +#include __weak int name_to_gpio(const char *name) { @@ -246,7 +248,12 @@ static int do_gpio(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) if (ret != -EBUSY) gpio_free(gpio); - return CMD_RET_SUCCESS; + /* + * Whilst wrong, the legacy gpio input command returns the pin + * value, or CMD_RET_FAILURE (which is indistinguishable from a + * valid pin value). + */ + return (sub_cmd == GPIOC_INPUT) ? value : CMD_RET_SUCCESS; err: if (ret != -EBUSY)