[U-Boot] [PATCH 02/21] sunxi: mmc: Fix card-detect gpio handling to work with the device-model

Simon Glass sjg at chromium.org
Sat Apr 25 01:23:55 CEST 2015


HI Hans,

On 24 April 2015 at 07:48, Hans de Goede <hdegoede at redhat.com> wrote:
> The device-model gpio functions may return another value then -1 as error,
> make the sunxi mmc code properly handle this.

FYI I tend to call it 'drive model' rather than 'device model'. It
might be good to change your commit messages it to avoid confusion.

Reviewed-by: Simon Glass <sjg at chromium.org>

>
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> ---
>  drivers/mmc/sunxi_mmc.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mmc/sunxi_mmc.c b/drivers/mmc/sunxi_mmc.c
> index fcc278d..a664236 100644
> --- a/drivers/mmc/sunxi_mmc.c
> +++ b/drivers/mmc/sunxi_mmc.c
> @@ -9,6 +9,7 @@
>   */
>
>  #include <common.h>
> +#include <errno.h>
>  #include <malloc.h>
>  #include <mmc.h>
>  #include <asm/io.h>
> @@ -37,7 +38,7 @@ static int sunxi_mmc_getcd_gpio(int sdc_no)
>         case 2: return sunxi_name_to_gpio(CONFIG_MMC2_CD_PIN);
>         case 3: return sunxi_name_to_gpio(CONFIG_MMC3_CD_PIN);
>         }
> -       return -1;
> +       return -EINVAL;
>  }
>
>  static int mmc_resource_init(int sdc_no)
> @@ -72,7 +73,7 @@ static int mmc_resource_init(int sdc_no)
>         mmchost->mmc_no = sdc_no;
>
>         cd_pin = sunxi_mmc_getcd_gpio(sdc_no);
> -       if (cd_pin != -1) {
> +       if (cd_pin >= 0) {
>                 ret = gpio_request(cd_pin, "mmc_cd");
>                 if (!ret)
>                         ret = gpio_direction_input(cd_pin);
> @@ -424,7 +425,7 @@ static int sunxi_mmc_getcd(struct mmc *mmc)
>         int cd_pin;
>
>         cd_pin = sunxi_mmc_getcd_gpio(mmchost->mmc_no);
> -       if (cd_pin == -1)
> +       if (cd_pin < 0)
>                 return 1;
>
>         return !gpio_get_value(cd_pin);
> --
> 2.3.5
>

Regards,
Simon


More information about the U-Boot mailing list