Patchwork [U-Boot] mx5/6: Fix cpu_mmc_init() return value

login
register
mail settings
Submitter Benoît Thébaudeau
Date Aug. 14, 2012, 3:30 p.m.
Message ID <396451660.2404451.1344958215427.JavaMail.root@advansee.com>
Download mbox | patch
Permalink /patch/177345/
State Changes Requested
Delegated to: Stefano Babic
Headers show

Comments

Benoît Thébaudeau - Aug. 14, 2012, 3:30 p.m.
Do not pretend to have initialized mmc successfully if CONFIG_FSL_ESDHC is not
defined.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Stefano Babic <sbabic@denx.de>
---
 .../arch/arm/cpu/armv7/imx-common/cpu.c            |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
Stefano Babic - Aug. 17, 2012, 11:49 a.m.
On 14/08/2012 17:30, Benoît Thébaudeau wrote:
> Do not pretend to have initialized mmc successfully if CONFIG_FSL_ESDHC is not
> defined.
> 
> Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
> Cc: Stefano Babic <sbabic@denx.de>
> ---

Hi Benoît,

>  .../arch/arm/cpu/armv7/imx-common/cpu.c            |    8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git u-boot-4d3c95f.orig/arch/arm/cpu/armv7/imx-common/cpu.c u-boot-4d3c95f/arch/arm/cpu/armv7/imx-common/cpu.c
> index b3195dd..e736e9a 100644
> --- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/imx-common/cpu.c
> +++ u-boot-4d3c95f/arch/arm/cpu/armv7/imx-common/cpu.c
> @@ -117,11 +117,13 @@ int cpu_eth_init(bd_t *bis)
>   */

Let's see if we can even make it more readable. This is for i.MX5 and
i.MX6. The only way to get it working is to set CONFIG_FSL_ESDHC. There
is no other driver available.

>  int cpu_mmc_init(bd_t *bis)
>  {
> +	int rc = -ENODEV;
> +
>  #ifdef CONFIG_FSL_ESDHC
> -	return fsl_esdhc_mmc_init(bis);
> -#else
> -	return 0;
> +	rc = fsl_esdhc_mmc_init(bis);
>  #endif
> +
> +	return rc;
>  }
>  

Then why not:

ifdef CONFIG_FSL_ESDHC
int cpu_mmc_init(bd_t *bis)
{
	return fsl_esdhc_mmc_init(bis);
}
#endif

Best regards,
Stefano Babic
Benoît Thébaudeau - Aug. 17, 2012, 4:25 p.m.
Hi Stefano,

> On 14/08/2012 17:30, Benoît Thébaudeau wrote:
> > Do not pretend to have initialized mmc successfully if
> > CONFIG_FSL_ESDHC is not
> > defined.
> > 
> > Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
> > Cc: Stefano Babic <sbabic@denx.de>
> > ---
> 
> Hi Benoît,
> 
> >  .../arch/arm/cpu/armv7/imx-common/cpu.c            |    8 +++++---
> >  1 file changed, 5 insertions(+), 3 deletions(-)
> > 
> > diff --git u-boot-4d3c95f.orig/arch/arm/cpu/armv7/imx-common/cpu.c
> > u-boot-4d3c95f/arch/arm/cpu/armv7/imx-common/cpu.c
> > index b3195dd..e736e9a 100644
> > --- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/imx-common/cpu.c
> > +++ u-boot-4d3c95f/arch/arm/cpu/armv7/imx-common/cpu.c
> > @@ -117,11 +117,13 @@ int cpu_eth_init(bd_t *bis)
> >   */
> 
> Let's see if we can even make it more readable. This is for i.MX5 and
> i.MX6. The only way to get it working is to set CONFIG_FSL_ESDHC.
> There
> is no other driver available.
> 
> >  int cpu_mmc_init(bd_t *bis)
> >  {
> > +	int rc = -ENODEV;
> > +
> >  #ifdef CONFIG_FSL_ESDHC
> > -	return fsl_esdhc_mmc_init(bis);
> > -#else
> > -	return 0;
> > +	rc = fsl_esdhc_mmc_init(bis);
> >  #endif
> > +
> > +	return rc;
> >  }
> >  
> 
> Then why not:
> 
> ifdef CONFIG_FSL_ESDHC
> int cpu_mmc_init(bd_t *bis)
> {
> 	return fsl_esdhc_mmc_init(bis);
> }
> #endif

This sounds good. I'll do that and update the corresponding patches for all
i.MXs.

Best regards,
Benoît

Patch

diff --git u-boot-4d3c95f.orig/arch/arm/cpu/armv7/imx-common/cpu.c u-boot-4d3c95f/arch/arm/cpu/armv7/imx-common/cpu.c
index b3195dd..e736e9a 100644
--- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/imx-common/cpu.c
+++ u-boot-4d3c95f/arch/arm/cpu/armv7/imx-common/cpu.c
@@ -117,11 +117,13 @@  int cpu_eth_init(bd_t *bis)
  */
 int cpu_mmc_init(bd_t *bis)
 {
+	int rc = -ENODEV;
+
 #ifdef CONFIG_FSL_ESDHC
-	return fsl_esdhc_mmc_init(bis);
-#else
-	return 0;
+	rc = fsl_esdhc_mmc_init(bis);
 #endif
+
+	return rc;
 }
 
 void reset_cpu(ulong addr)