[U-Boot] [PATCH V2] imx6: mx6qarm2: updated board_mmc_getcd() to the new prototype

Jason Hui jason.hui at linaro.org
Wed Jan 18 04:08:33 CET 2012


On Tue, Jan 17, 2012 at 9:15 PM, Stefano Babic <sbabic at denx.de> wrote:
> Commit 314284b1567f1ce29c19060641e7f213146f7ab8 has
> changed board_mmc_getcd() function prototype, while
> mx6qarm2 has still the old one.
>
> Signed-off-by: Stefano Babic <sbabic at denx.de>
> CC: Jason Liu <jason.hui at linaro.org>
> Acked-by: Dirk Behme <dirk.behme at de.bosch.com>
>
> ---
>  board/freescale/mx6qarm2/mx6qarm2.c |    9 +++++----
>  1 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/board/freescale/mx6qarm2/mx6qarm2.c b/board/freescale/mx6qarm2/mx6qarm2.c
> index 9894245..9724c16 100644
> --- a/board/freescale/mx6qarm2/mx6qarm2.c
> +++ b/board/freescale/mx6qarm2/mx6qarm2.c
> @@ -120,17 +120,18 @@ struct fsl_esdhc_cfg usdhc_cfg[2] = {
>        {USDHC4_BASE_ADDR, 1},
>  };
>
> -int board_mmc_getcd(u8 *cd, struct mmc *mmc)
> +int board_mmc_getcd(struct mmc *mmc)
>  {
>        struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv;
> +       int ret;
>
>        if (cfg->esdhc_base == USDHC3_BASE_ADDR) {
>                gpio_direction_input(171); /*GPIO6_11*/
> -               *cd = gpio_get_value(171);
> +               ret = !gpio_get_value(171);
>        } else /* Don't have the CD GPIO pin on board */
> -               *cd = 0;
> +               ret = 0;
                              ^^^^^^1
Apparently, this is wrong for the else statement, since there is no CD
for the SD4 on the board,
so, we have to tell MMC system that the card is always there,
otherwise, we can't use the MMC
plug-in that slot. After change to new prototype, we also need convert
the ret value for the SD4,
and return 1 not 0 to MMC.

>
> -       return 0;
> +       return ret;
>  }
>
>  int board_mmc_init(bd_t *bis)
> --
> 1.7.5.4
>


More information about the U-Boot mailing list