[U-Boot] [PATCH] gpio: mxs: add name_to_gpio() function

Override the default name_to_gpio() function with one that accepts strings of the form bank:pin. If a colon is present in the provided name, it behaves like the default version.
This lets the "gpio" command work with sane names rather than requiring the user to enter the bank/pin composite in decimal.
Signed-off-by: Mans Rullgard mans@mansr.com --- drivers/gpio/mxs_gpio.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
diff --git a/drivers/gpio/mxs_gpio.c b/drivers/gpio/mxs_gpio.c index da0199b..b54a10b 100644 --- a/drivers/gpio/mxs_gpio.c +++ b/drivers/gpio/mxs_gpio.c @@ -114,3 +114,18 @@ int gpio_free(unsigned gpio) { return 0; } + +int name_to_gpio(const char *name) +{ + unsigned bank, pin; + char *end; + + bank = simple_strtoul(name, &end, 10); + + if (!*end || *end != ':') + return bank; + + pin = simple_strtoul(end + 1, NULL, 10); + + return (bank << MXS_PAD_BANK_SHIFT) | (pin << MXS_PAD_PIN_SHIFT); +}

On 15/12/2015 23:27, Mans Rullgard wrote:
Override the default name_to_gpio() function with one that accepts strings of the form bank:pin. If a colon is present in the provided name, it behaves like the default version.
This lets the "gpio" command work with sane names rather than requiring the user to enter the bank/pin composite in decimal.
Signed-off-by: Mans Rullgard mans@mansr.com
drivers/gpio/mxs_gpio.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
diff --git a/drivers/gpio/mxs_gpio.c b/drivers/gpio/mxs_gpio.c index da0199b..b54a10b 100644 --- a/drivers/gpio/mxs_gpio.c +++ b/drivers/gpio/mxs_gpio.c @@ -114,3 +114,18 @@ int gpio_free(unsigned gpio) { return 0; }
+int name_to_gpio(const char *name) +{
- unsigned bank, pin;
- char *end;
- bank = simple_strtoul(name, &end, 10);
- if (!*end || *end != ':')
return bank;
- pin = simple_strtoul(end + 1, NULL, 10);
- return (bank << MXS_PAD_BANK_SHIFT) | (pin << MXS_PAD_PIN_SHIFT);
+}
Reviewed-by: Stefano Babic sbabic@denx.de
Best regards, Stefano Babic
participants (2)
-
Mans Rullgard
-
Stefano Babic