[77/78] davinci: DM644x EVM: register MUSB device earlier

From: Greg KH
Date: Mon Mar 21 2011 - 19:19:17 EST

2.6.38-stable review patch. If anyone has any objections, please let us know.


From: Sergei Shtylyov <sshtylyov@xxxxxxxxxxxxx>

commit 60d97a840175d3becb2e6de36537a5cdfc0ec3a9 upstream.

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 <sshtylyov@xxxxxxxxxxxxx>
Acked-by: Felipe Balbi <balbi@xxxxxx>
Tested-by: Sekhar Nori <nsekhar@xxxxxx>
Signed-off-by: Kevin Hilman <khilman@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

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

--- a/arch/arm/mach-davinci/board-dm644x-evm.c
+++ b/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

+ /* 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,

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/