[U-Boot] [PATCH] omap_hsmmc: Check wp and cd GPIO for -1

When we cannot check write protect or card change via GPIO (and have been passed -1 in omap_mmc_init), only even try the GPIO if >= 0. This prevents invalid GPIO messages from being seen on the console when doing MMC operations.
Signed-off-by: Tom Rini trini@ti.com --- drivers/mmc/omap_hsmmc.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c index 67cfcc2..5a63918 100644 --- a/drivers/mmc/omap_hsmmc.c +++ b/drivers/mmc/omap_hsmmc.c @@ -73,13 +73,21 @@ static int omap_mmc_setup_gpio_in(int gpio, const char *label) static int omap_mmc_getcd(struct mmc *mmc) { int cd_gpio = ((struct omap_hsmmc_data *)mmc->priv)->cd_gpio; - return gpio_get_value(cd_gpio); + + if (cd_gpio >= 0) + return gpio_get_value(cd_gpio); + else + return -1; }
static int omap_mmc_getwp(struct mmc *mmc) { int wp_gpio = ((struct omap_hsmmc_data *)mmc->priv)->wp_gpio; - return gpio_get_value(wp_gpio); + + if (wp_gpio >= 0) + return gpio_get_value(wp_gpio); + else + return -1; } #else static inline int omap_mmc_setup_gpio_in(int gpio, const char *label)

On Wed, Mar 20, 2013 at 3:32 PM, Tom Rini trini@ti.com wrote:
int cd_gpio = ((struct omap_hsmmc_data *)mmc->priv)->cd_gpio;
return gpio_get_value(cd_gpio);
if (cd_gpio >= 0)
What about using gpio_is_valid(cd_gpio) ?
return gpio_get_value(cd_gpio);
else
return -1;
What about -EINVAL?

On Wed, Mar 20, 2013 at 03:37:10PM -0300, Fabio Estevam wrote:
On Wed, Mar 20, 2013 at 3:32 PM, Tom Rini trini@ti.com wrote:
int cd_gpio = ((struct omap_hsmmc_data *)mmc->priv)->cd_gpio;
return gpio_get_value(cd_gpio);
if (cd_gpio >= 0)
What about using gpio_is_valid(cd_gpio) ?
OK, good point.
return gpio_get_value(cd_gpio);
else
return -1;
What about -EINVAL?
Not consistent with the rest of the driver, so I'll do that in a 2/2. Thanks!
participants (2)
-
Fabio Estevam
-
Tom Rini