[U-Boot] [PATCH v3 1/3] mx6qsabresd: Fix card detection for invalid card id case

Stefano Babic sbabic at denx.de
Wed Mar 13 09:10:17 CET 2013


On 06/03/2013 16:46, Otavio Salvador wrote:
> This changes the code so in case an unkown value is passed it will
> return as invalid.
> 
> Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
> ---

Hi Otavio,

> Changes in v3: None
> Changes in v2:
> - Rework code to use a 'ret' variable (Fabio)
> 
>  board/freescale/mx6qsabresd/mx6qsabresd.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/board/freescale/mx6qsabresd/mx6qsabresd.c b/board/freescale/mx6qsabresd/mx6qsabresd.c
> index 65c4a1a..e556476 100644
> --- a/board/freescale/mx6qsabresd/mx6qsabresd.c
> +++ b/board/freescale/mx6qsabresd/mx6qsabresd.c
> @@ -145,15 +145,18 @@ struct fsl_esdhc_cfg usdhc_cfg[3] = {
>  int board_mmc_getcd(struct mmc *mmc)
>  {
>  	struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv;
> +	int ret = 0;
>  
>  	switch (cfg->esdhc_base) {
>  	case USDHC2_BASE_ADDR:
> -		return !gpio_get_value(USDHC2_CD_GPIO);
> +		ret = !gpio_get_value(USDHC2_CD_GPIO);

I do not understand. Is there no "break" statement here ? ret will be
overwritten then.

>  	case USDHC3_BASE_ADDR:
> -		return !gpio_get_value(USDHC3_CD_GPIO);
> -	default:
> -		return 1; /* eMMC/uSDHC4 is always present */
> +		ret = !gpio_get_value(USDHC3_CD_GPIO);
> +	case USDHC4_BASE_ADDR:
> +		ret = 1; /* eMMC/uSDHC4 is always present */
>  	}
> +
> +	return ret;
>  }
>  
>  int board_mmc_init(bd_t *bis)
> 

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the U-Boot mailing list