Since the following patch was too late to get into 2.6.38, it now should be
applied to 2.6.38.y. It has already hit mainline in 2.6.39-rc1...

----------  Forwarded Message  ----------

Subject: [PATCH] DM644x EVM: register MUSB device earlier
Date: Sunday 13 March 2011
From: Sergei Shtylyov <[email protected]>
To: [email protected], [email protected], 
[email protected]

The MUSB driver doesn't see its platform device on DM644x EVM board anymore
since commit 73b089b052a69020b953312a624a6e1eb5b81fab (usb: musb: split davinci
to its own platform_driver) because the new probe is called as subsys_initcall()
now, and the device is registered later than that by the board code.  Move the
registration to davinci_evm_init() -- it's safe to do so because the MUSB core
device still gets initialized as fs_initcall() -- which is late enough for the
I2C GPIO expander (which controls VBUS) to be initialized.

Signed-off-by: Sergei Shtylyov <[email protected]>

---
The patch is against the recent DaVinci tree.
It fixes post 2.6.38-rc1 regression, so should be applied immediately!

 arch/arm/mach-davinci/board-dm644x-evm.c |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

Index: linux-davinci/arch/arm/mach-davinci/board-dm644x-evm.c
===================================================================
--- linux-davinci.orig/arch/arm/mach-davinci/board-dm644x-evm.c
+++ linux-davinci/arch/arm/mach-davinci/board-dm644x-evm.c
@@ -440,11 +440,6 @@ evm_u35_setup(struct i2c_client *client,
        gpio_request(gpio + 7, "nCF_SEL");
        gpio_direction_output(gpio + 7, 1);
 
-       /* irlml6401 switches over 1A, in under 8 msec;
-        * now it can be managed by nDRV_VBUS ...
-        */
-       davinci_setup_usb(1000, 8);
-
        return 0;
 }
 
@@ -705,6 +700,9 @@ static __init void davinci_evm_init(void
        davinci_serial_init(&uart_config);
        dm644x_init_asp(&dm644x_evm_snd_data);
 
+       /* irlml6401 switches over 1A, in under 8 msec */
+       davinci_setup_usb(1000, 8);
+
        soc_info->emac_pdata->phy_id = DM644X_EVM_PHY_ID;
        /* Register the fixup for PHY on DaVinci */
        phy_register_fixup_for_uid(LXT971_PHY_ID, LXT971_PHY_MASK,

-------------------------------------------------------

_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to