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

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(-)
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)

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

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

Do not pretend to have initialized mmc successfully if CONFIG_FSL_ESDHC is not defined. Instead, only implement a custom cpu_mmc_init() when it does something.
Signed-off-by: Benoît Thébaudeau benoit.thebaudeau@advansee.com Cc: Stefano Babic sbabic@denx.de --- Changes for v2: - Do not define cpu_mmc_init() if CONFIG_FSL_ESDHC is not defined.
.../arch/arm/cpu/armv7/imx-common/cpu.c | 6 ++---- 1 file changed, 2 insertions(+), 4 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..7313fc0 100644 --- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/imx-common/cpu.c +++ u-boot-4d3c95f/arch/arm/cpu/armv7/imx-common/cpu.c @@ -111,18 +111,16 @@ int cpu_eth_init(bd_t *bis) return rc; }
+#ifdef CONFIG_FSL_ESDHC /* * Initializes on-chip MMC controllers. * to override, implement board_mmc_init() */ int cpu_mmc_init(bd_t *bis) { -#ifdef CONFIG_FSL_ESDHC return fsl_esdhc_mmc_init(bis); -#else - return 0; -#endif } +#endif
void reset_cpu(ulong addr) {

On 17/08/2012 22:42, Benoît Thébaudeau wrote:
Do not pretend to have initialized mmc successfully if CONFIG_FSL_ESDHC is not defined. Instead, only implement a custom cpu_mmc_init() when it does something.
Signed-off-by: Benoît Thébaudeau benoit.thebaudeau@advansee.com Cc: Stefano Babic sbabic@denx.de
Changes for v2:
- Do not define cpu_mmc_init() if CONFIG_FSL_ESDHC is not defined.
.../arch/arm/cpu/armv7/imx-common/cpu.c | 6 ++---- 1 file changed, 2 insertions(+), 4 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..7313fc0 100644 --- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/imx-common/cpu.c +++ u-boot-4d3c95f/arch/arm/cpu/armv7/imx-common/cpu.c @@ -111,18 +111,16 @@ int cpu_eth_init(bd_t *bis) return rc; }
+#ifdef CONFIG_FSL_ESDHC /*
- Initializes on-chip MMC controllers.
- to override, implement board_mmc_init()
*/ int cpu_mmc_init(bd_t *bis) { -#ifdef CONFIG_FSL_ESDHC return fsl_esdhc_mmc_init(bis); -#else
- return 0;
-#endif } +#endif
void reset_cpu(ulong addr) {
Acked-by: Stefano Babic sbabic@denx.de
Best regards, Stefano Babic

On 17/08/2012 22:42, Benoît Thébaudeau wrote:
Do not pretend to have initialized mmc successfully if CONFIG_FSL_ESDHC is not defined. Instead, only implement a custom cpu_mmc_init() when it does something.
Signed-off-by: Benoît Thébaudeau benoit.thebaudeau@advansee.com Cc: Stefano Babic sbabic@denx.de
Changes for v2:
- Do not define cpu_mmc_init() if CONFIG_FSL_ESDHC is not defined.
.../arch/arm/cpu/armv7/imx-common/cpu.c | 6 ++---- 1 file changed, 2 insertions(+), 4 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..7313fc0 100644 --- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/imx-common/cpu.c +++ u-boot-4d3c95f/arch/arm/cpu/armv7/imx-common/cpu.c @@ -111,18 +111,16 @@ int cpu_eth_init(bd_t *bis) return rc; }
+#ifdef CONFIG_FSL_ESDHC /*
- Initializes on-chip MMC controllers.
- to override, implement board_mmc_init()
*/ int cpu_mmc_init(bd_t *bis) { -#ifdef CONFIG_FSL_ESDHC return fsl_esdhc_mmc_init(bis); -#else
- return 0;
-#endif } +#endif
void reset_cpu(ulong addr) {
Applied to u-boot-imx, thanks.
Best regards, Stefano Babic
participants (2)
-
Benoît Thébaudeau
-
Stefano Babic