Subject: [PATCH v3 4/6] ARM: OMAP: USB: Add phy binding information

From: [email-masked] (kishon)
Date: Thu, 21 Mar 2013 11:18:12 +0530

Hi,

On Wednesday 20 March 2013 10:21 PM, Tony Lindgren wrote:
> * Kishon Vijay Abraham I <[email-masked]> [130320 02:17]:
>>
>> --- a/arch/arm/mach-omap2/board-2430sdp.c
>> +++ b/arch/arm/mach-omap2/board-2430sdp.c
>> @@ -265,6 +266,7 @@ static void __init omap_2430sdp_init(void)
>>
>>   	omap_mux_init_signal("usb0hs_stp", OMAP_PULL_ENA | OMAP_PULL_UP);
>>   	usb_bind_phy("musb-hdrc.0.auto", 0, "twl4030_usb");
>> +	phy_bind("musb-hdrc.0.auto", 0, "twl4030_usb");
>>   	usb_musb_init(NULL);
>>
>>   	board_smc91x_init();
>> --- a/arch/arm/mach-omap2/board-3430sdp.c
>> +++ b/arch/arm/mach-omap2/board-3430sdp.c
>> @@ -601,6 +602,7 @@ static void __init omap_3430sdp_init(void)
>>   	omap_serial_init();
>>   	omap_sdrc_init(hyb18m512160af6_sdrc_params, NULL);
>>   	usb_bind_phy("musb-hdrc.0.auto", 0, "twl4030_usb");
>> +	phy_bind("musb-hdrc.0.auto", 0, "twl4030_usb");
>>   	usb_musb_init(NULL);
>>   	board_smc91x_init();
>>   	board_flash_init(sdp_flash_partitions, chip_sel_3430, 0);
>
> Can't you call phy_bind() from usb_musb_init() with the default
> values automatically when usb_musb_init() is passed NULL?
>
> That way you don't have to patch every board-*.c file with the
> same lines, and don't need to include <linux/phy/phy.h> in each
> board-*.c file.
>
>> --- a/arch/arm/mach-omap2/board-4430sdp.c
>> +++ b/arch/arm/mach-omap2/board-4430sdp.c
>> @@ -32,6 +32,7 @@
>>   #include <linux/platform_data/omap4-keypad.h>
>>   #include <linux/usb/musb.h>
>>   #include <linux/usb/phy.h>
>> +#include <linux/phy/phy.h>
>>
>>   #include <asm/mach-types.h>
>>   #include <asm/mach/arch.h>
>> @@ -725,6 +726,7 @@ static void __init omap_4430sdp_init(void)
>>   	omap4_twl6030_hsmmc_init(mmc);
>>
>>   	usb_bind_phy("musb-hdrc.0.auto", 0, "omap-usb2.1.auto");
>> +	phy_bind("musb-hdrc.0.auto", 0, "omap-usb2.1.auto");
>>   	usb_musb_init(&musb_board_data);
>>
>>   	status = omap_ethernet_init();
>
> Here usb_musb_init() gets called with musb_board_data, so
> keeping the phy_bind() in the board-4430sdp.c can then override
> the default in usb_musb_init().

Currently phy_bind has a limitation to do that. Will change phy_bind() 
and have your comment incorporated.

Thanks
Kishon