diff options
author | Sergei Shtylyov <sshtylyov@ru.mvista.com> | 2011-03-13 16:06:59 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@ti.com> | 2011-03-15 11:17:23 -0400 |
commit | 60d97a840175d3becb2e6de36537a5cdfc0ec3a9 (patch) | |
tree | 6cbdb324a563050736f15388418300a54dd0bba5 /arch/arm/mach-davinci/board-dm644x-evm.c | |
parent | f6e5306ecf269cac52cb06a2f356431f63640595 (diff) |
davinci: DM644x EVM: register MUSB device earlier
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@ru.mvista.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Tested-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'arch/arm/mach-davinci/board-dm644x-evm.c')
-rw-r--r-- | arch/arm/mach-davinci/board-dm644x-evm.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c index 0ca90b834586..556bbd468db3 100644 --- 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, int gpio, unsigned ngpio, void *c) | |||
440 | gpio_request(gpio + 7, "nCF_SEL"); | 440 | gpio_request(gpio + 7, "nCF_SEL"); |
441 | gpio_direction_output(gpio + 7, 1); | 441 | gpio_direction_output(gpio + 7, 1); |
442 | 442 | ||
443 | /* irlml6401 switches over 1A, in under 8 msec; | ||
444 | * now it can be managed by nDRV_VBUS ... | ||
445 | */ | ||
446 | davinci_setup_usb(1000, 8); | ||
447 | |||
448 | return 0; | 443 | return 0; |
449 | } | 444 | } |
450 | 445 | ||
@@ -705,6 +700,9 @@ static __init void davinci_evm_init(void) | |||
705 | davinci_serial_init(&uart_config); | 700 | davinci_serial_init(&uart_config); |
706 | dm644x_init_asp(&dm644x_evm_snd_data); | 701 | dm644x_init_asp(&dm644x_evm_snd_data); |
707 | 702 | ||
703 | /* irlml6401 switches over 1A, in under 8 msec */ | ||
704 | davinci_setup_usb(1000, 8); | ||
705 | |||
708 | soc_info->emac_pdata->phy_id = DM644X_EVM_PHY_ID; | 706 | soc_info->emac_pdata->phy_id = DM644X_EVM_PHY_ID; |
709 | /* Register the fixup for PHY on DaVinci */ | 707 | /* Register the fixup for PHY on DaVinci */ |
710 | phy_register_fixup_for_uid(LXT971_PHY_ID, LXT971_PHY_MASK, | 708 | phy_register_fixup_for_uid(LXT971_PHY_ID, LXT971_PHY_MASK, |