Subject: [PATCH 1/2] ARM: OMAP2: Overo: init I2C before MMC to fix MMC suspend/resume failure

From: [email-masked] (Shubhrajyoti)
Date: Fri, 29 Jun 2012 12:03:18 +0530

Hi Kevin,
On Thursday 28 June 2012 10:31 PM, Kevin Hilman wrote:
> In order for suspend/resume dependencies to work correctly, I2C has to
> be initialized (more specifically, registered with the driver core)
> before MMC.
Agree.
>   Without this, the MMC driver fails to adjust the VMMC
> regulator (using i2c writes) during the suspend path.
>
> Problem found testing suspend/resume on 3730/OveroSTORM platform.
Not related to your patch.
Was just thinking if
arch/arm/mach-omap2/board-omap3beagle.c
arch/arm/mach-omap2/board-3430sdp.c

should also be patched.

> Signed-off-by: Kevin Hilman <[email-masked]>
> ---
>  arch/arm/mach-omap2/board-overo.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
> index 8fa2fc3..779734d 100644
> --- a/arch/arm/mach-omap2/board-overo.c
> +++ b/arch/arm/mach-omap2/board-overo.c
> @@ -494,8 +494,8 @@ static void __init overo_init(void)
>  
>  	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
>  	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
> -	omap_hsmmc_init(mmc);
>  	overo_i2c_init();
> +	omap_hsmmc_init(mmc);
>  	omap_display_init(&overo_dss_data);
>  	omap_serial_init();
>  	omap_sdrc_init(mt46h32m32lf6_sdrc_params,