Re: linux-next: manual merge of the usb tree with the omap tree

From: Ming Lei
Date: Thu Jan 06 2011 - 10:02:09 EST


Hi,

2010/12/24 Cousson, Benoit <b-cousson@xxxxxx>:
> + Paul "the omap clock guru".
>
> At first glance, that seems almost good.
> Except for a couple of nodes that seems to lose their 3630 support.
>
> I'm just wondering why the original usb clock node is
> kept after the introduction of the "ehci-omap.0" clock
> node. But this is anyway harmless.
>
> What commits are generating this conflict?
>
> On 12/23/2010 7:18 AM, Stephen Rothwell wrote:
>> Hi Greg,
>>
>> Today's linux-next merge of the usb tree got a conflict in
>> arch/arm/mach-omap2/clock3xxx_data.c and
>> arch/arm/mach-omap2/clock44xx_data.c between various commits from the omap
>> tree and various commits from the usb tree.
>>
>> I did a quick fix (which may be completely wrong - see below).
>
>> diff --cc arch/arm/mach-omap2/clock3xxx_data.c
>> index 9ab817e,0579604..0000000
>> --- a/arch/arm/mach-omap2/clock3xxx_data.c
>> +++ b/arch/arm/mach-omap2/clock3xxx_data.c
>> @@@ -3275,17 -3267,18 +3275,18 @@@ static struct omap_clk omap3xxx_clks[]
>>       CLK(NULL,       "gfx_l3_ick",   &gfx_l3_ick,    CK_3430ES1),
>>       CLK(NULL,       "gfx_cg1_ck",   &gfx_cg1_ck,    CK_3430ES1),
>>       CLK(NULL,       "gfx_cg2_ck",   &gfx_cg2_ck,    CK_3430ES1),
>>  -    CLK(NULL,       "sgx_fck",      &sgx_fck,       CK_3430ES2 | CK_3517),
>>  -    CLK(NULL,       "sgx_ick",      &sgx_ick,       CK_3430ES2 | CK_3517),
>>  +    CLK(NULL,       "sgx_fck",      &sgx_fck,       CK_3430ES2PLUS | CK_3517 | CK_36XX),
>>  +    CLK(NULL,       "sgx_ick",      &sgx_ick,       CK_3430ES2PLUS | CK_3517 | CK_36XX),
>>       CLK(NULL,       "d2d_26m_fck",  &d2d_26m_fck,   CK_3430ES1),
>>  -    CLK(NULL,       "modem_fck",    &modem_fck,     CK_343X),
>>  -    CLK(NULL,       "sad2d_ick",    &sad2d_ick,     CK_343X),
>>  -    CLK(NULL,       "mad2d_ick",    &mad2d_ick,     CK_343X),
>>  +    CLK(NULL,       "modem_fck",    &modem_fck,     CK_34XX | CK_36XX),
>>  +    CLK(NULL,       "sad2d_ick",    &sad2d_ick,     CK_34XX | CK_36XX),
>>  +    CLK(NULL,       "mad2d_ick",    &mad2d_ick,     CK_34XX | CK_36XX),
>>       CLK(NULL,       "gpt10_fck",    &gpt10_fck,     CK_3XXX),
>>       CLK(NULL,       "gpt11_fck",    &gpt11_fck,     CK_3XXX),
>>  -    CLK(NULL,       "cpefuse_fck",  &cpefuse_fck,   CK_3430ES2 | CK_AM35XX),
>>  -    CLK(NULL,       "ts_fck",       &ts_fck,        CK_3430ES2 | CK_AM35XX),
>>  -    CLK(NULL,       "usbtll_fck",   &usbtll_fck,    CK_3430ES2 | CK_AM35XX),
>>  +    CLK(NULL,       "cpefuse_fck",  &cpefuse_fck,   CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>>  +    CLK(NULL,       "ts_fck",       &ts_fck,        CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>>  +    CLK(NULL,       "usbtll_fck",   &usbtll_fck,    CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>
> That one could be removed after the introduction of the following one if the
> clk_get(dev, "usbtll_fck") API is used.
>
>> +     CLK("ehci-omap.0",      "usbtll_fck",   &usbtll_fck,    CK_3430ES2 | CK_AM35XX),
>
> If only that one is kept it should be:
> +       CLK("ehci-omap.0",      "usbtll_fck",   &usbtll_fck,    CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>
> Assuming that one of the conflicting commits was trying to add the 3630 support.
>
>>       CLK("omap-mcbsp.1",     "prcm_fck",     &core_96m_fck,  CK_3XXX),
>>       CLK("omap-mcbsp.5",     "prcm_fck",     &core_96m_fck,  CK_3XXX),
>>       CLK(NULL,       "core_96m_fck", &core_96m_fck,  CK_3XXX),
>> @@@ -3309,26 -3302,27 +3310,27 @@@
>>       CLK(NULL,       "core_12m_fck", &core_12m_fck,  CK_3XXX),
>>       CLK("omap_hdq.0", "fck",        &hdq_fck,       CK_3XXX),
>>       CLK(NULL,       "ssi_ssr_fck",  &ssi_ssr_fck_3430es1,   CK_3430ES1),
>>  -    CLK(NULL,       "ssi_ssr_fck",  &ssi_ssr_fck_3430es2,   CK_3430ES2),
>>  +    CLK(NULL,       "ssi_ssr_fck",  &ssi_ssr_fck_3430es2,   CK_3430ES2PLUS | CK_36XX),
>>       CLK(NULL,       "ssi_sst_fck",  &ssi_sst_fck_3430es1,   CK_3430ES1),
>>  -    CLK(NULL,       "ssi_sst_fck",  &ssi_sst_fck_3430es2,   CK_3430ES2),
>>  +    CLK(NULL,       "ssi_sst_fck",  &ssi_sst_fck_3430es2,   CK_3430ES2PLUS | CK_36XX),
>>       CLK(NULL,       "core_l3_ick",  &core_l3_ick,   CK_3XXX),
>> -     CLK("musb_hdrc",        "ick",  &hsotgusb_ick_3430es1,  CK_3430ES1),
>> -     CLK("musb_hdrc",        "ick",  &hsotgusb_ick_3430es2,  CK_3430ES2PLUS | CK_36XX),
>> +     CLK("musb-omap2430",    "ick",  &hsotgusb_ick_3430es1,  CK_3430ES1),
>>  -    CLK("musb-omap2430",    "ick",  &hsotgusb_ick_3430es2,  CK_3430ES2),
>> ++    CLK("musb-omap2430",    "ick",  &hsotgusb_ick_3430es2,  CK_3430ES2PLUS | CK_36XX),
>>       CLK(NULL,       "sdrc_ick",     &sdrc_ick,      CK_3XXX),
>>       CLK(NULL,       "gpmc_fck",     &gpmc_fck,      CK_3XXX),
>>  -    CLK(NULL,       "security_l3_ick", &security_l3_ick, CK_343X),
>>  -    CLK(NULL,       "pka_ick",      &pka_ick,       CK_343X),
>>  +    CLK(NULL,       "security_l3_ick", &security_l3_ick, CK_34XX | CK_36XX),
>>  +    CLK(NULL,       "pka_ick",      &pka_ick,       CK_34XX | CK_36XX),
>>       CLK(NULL,       "core_l4_ick",  &core_l4_ick,   CK_3XXX),
>>  -    CLK(NULL,       "usbtll_ick",   &usbtll_ick,    CK_3430ES2 | CK_AM35XX),
>>  +    CLK(NULL,       "usbtll_ick",   &usbtll_ick,    CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>> +     CLK("ehci-omap.0",      "usbtll_ick",   &usbtll_ick,    CK_3430ES2 | CK_AM35XX),
>
> ditto, should probably be:
>  +      CLK("ehci-omap.0",      "usbtll_ick",   &usbtll_ick,    CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>
>>  -    CLK("mmci-omap-hs.2",   "ick",  &mmchs3_ick,    CK_3430ES2 | CK_AM35XX),
>>  -    CLK(NULL,       "icr_ick",      &icr_ick,       CK_343X),
>>  -    CLK("omap-aes", "ick",  &aes2_ick,      CK_343X),
>>  -    CLK("omap-sham",        "ick",  &sha12_ick,     CK_343X),
>>  -    CLK(NULL,       "des2_ick",     &des2_ick,      CK_343X),
>>  +    CLK("mmci-omap-hs.2",   "ick",  &mmchs3_ick,    CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>>  +    CLK(NULL,       "icr_ick",      &icr_ick,       CK_34XX | CK_36XX),
>>  +    CLK("omap-aes", "ick",  &aes2_ick,      CK_34XX | CK_36XX),
>>  +    CLK("omap-sham",        "ick",  &sha12_ick,     CK_34XX | CK_36XX),
>>  +    CLK(NULL,       "des2_ick",     &des2_ick,      CK_34XX | CK_36XX),
>>       CLK("mmci-omap-hs.1",   "ick",  &mmchs2_ick,    CK_3XXX),
>>       CLK("mmci-omap-hs.0",   "ick",  &mmchs1_ick,    CK_3XXX),
>>  -    CLK(NULL,       "mspro_ick",    &mspro_ick,     CK_343X),
>>  +    CLK(NULL,       "mspro_ick",    &mspro_ick,     CK_34XX | CK_36XX),
>>       CLK("omap_hdq.0", "ick",        &hdq_ick,       CK_3XXX),
>>       CLK("omap2_mcspi.4", "ick",     &mcspi4_ick,    CK_3XXX),
>>       CLK("omap2_mcspi.3", "ick",     &mcspi3_ick,    CK_3XXX),
>> @@@ -3361,14 -3355,17 +3363,17 @@@
>>       CLK("omapdss",  "video_fck",    &dss_96m_fck,   CK_3XXX),
>>       CLK("omapdss",  "dss2_fck",     &dss2_alwon_fck, CK_3XXX),
>>       CLK("omapdss",  "ick",          &dss_ick_3430es1,       CK_3430ES1),
>>  -    CLK("omapdss",  "ick",          &dss_ick_3430es2,       CK_3430ES2 | CK_AM35XX),
>>  -    CLK(NULL,       "cam_mclk",     &cam_mclk,      CK_343X),
>>  -    CLK(NULL,       "cam_ick",      &cam_ick,       CK_343X),
>>  -    CLK(NULL,       "csi2_96m_fck", &csi2_96m_fck,  CK_343X),
>>  -    CLK(NULL,       "usbhost_120m_fck", &usbhost_120m_fck, CK_3430ES2 | CK_AM35XX),
>>  +    CLK("omapdss",  "ick",          &dss_ick_3430es2,       CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>>  +    CLK(NULL,       "cam_mclk",     &cam_mclk,      CK_34XX | CK_36XX),
>>  +    CLK(NULL,       "cam_ick",      &cam_ick,       CK_34XX | CK_36XX),
>>  +    CLK(NULL,       "csi2_96m_fck", &csi2_96m_fck,  CK_34XX | CK_36XX),
>>  +    CLK(NULL,       "usbhost_120m_fck", &usbhost_120m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>> +     CLK("ehci-omap.0",      "hs_fck", &usbhost_120m_fck, CK_3430ES2 | CK_AM35XX),
>
> ditto
>
>>  -    CLK(NULL,       "usbhost_48m_fck", &usbhost_48m_fck, CK_3430ES2 | CK_AM35XX),
>>  +    CLK(NULL,       "usbhost_48m_fck", &usbhost_48m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>> +     CLK("ehci-omap.0",      "fs_fck", &usbhost_48m_fck, CK_3430ES2 | CK_AM35XX),
>
> ditto
>
>>  -    CLK(NULL,       "usbhost_ick",  &usbhost_ick,   CK_3430ES2 | CK_AM35XX),
>>  +    CLK(NULL,       "usbhost_ick",  &usbhost_ick,   CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>> +     CLK("ehci-omap.0",      "usbhost_ick",  &usbhost_ick,   CK_3430ES2 | CK_AM35XX),
>
> ditto
>
>>  -    CLK(NULL,       "usim_fck",     &usim_fck,      CK_3430ES2),
>>  +    CLK(NULL,       "usim_fck",     &usim_fck,      CK_3430ES2PLUS | CK_36XX),
>>       CLK(NULL,       "gpt1_fck",     &gpt1_fck,      CK_3XXX),
>>       CLK(NULL,       "wkup_32k_fck", &wkup_32k_fck,  CK_3XXX),
>>       CLK(NULL,       "gpio1_dbck",   &gpio1_dbck,    CK_3XXX),
>> diff --cc arch/arm/mach-omap2/clock44xx_data.c
>> index c426adc,bfcd19f..0000000
>> --- a/arch/arm/mach-omap2/clock44xx_data.c
>> +++ b/arch/arm/mach-omap2/clock44xx_data.c
>> @@@ -3198,6 -2937,10 +3198,7 @@@ static struct omap_clk omap44xx_clks[]
>>       CLK(NULL,       "uart3_fck",                    &uart3_fck,     CK_443X),
>>       CLK(NULL,       "uart4_fck",                    &uart4_fck,     CK_443X),
>>       CLK(NULL,       "usb_host_fs_fck",              &usb_host_fs_fck,       CK_443X),
>> +     CLK("ehci-omap.0",      "fs_fck",               &usb_host_fs_fck,       CK_443X),
>>  -    CLK(NULL,       "usb_host_hs_utmi_p3_clk",      &usb_host_hs_utmi_p3_clk,       CK_443X),
>>  -    CLK(NULL,       "usb_host_hs_hsic60m_p1_clk",   &usb_host_hs_hsic60m_p1_clk,    CK_443X),
>>  -    CLK(NULL,       "usb_host_hs_hsic60m_p2_clk",   &usb_host_hs_hsic60m_p2_clk,    CK_443X),
>
> I'm not sure these 3 nodes should be removed. AFAIR, they were just slightly moved in lo branch.

Even with the fixes above, ehci on my beagle xM/Panda still doesn't work
with 2.6.37-next-20110106+, follows the failure messages:

[ 57.918182] bus: 'platform': really_probe: probing driver ehci-omap
with device ehci-omap.0
[ 57.918243] ehci-omap ehci-omap.0: failed to get ehci port0 regulator
[ 57.918273] ehci-omap ehci-omap.0: failed to get ehci port1 regulator
[ 57.918304] ehci-omap ehci-omap.0: starting TI EHCI USB Controller
[ 57.918457] ehci-omap ehci-omap.0: OMAP UHH_REVISION 0x10
[ 57.918487] ehci-omap ehci-omap.0: TLL RESET DONE
[ 57.918487] ehci-omap ehci-omap.0: OMAP3 ES version > ES2.1
[ 57.918518] ehci-omap ehci-omap.0: UHH setup done, uhh_hostconfig=31c
[ 58.922302] ehci-omap ehci-omap.0: phy reset operation timed out
[ 59.930114] ehci-omap ehci-omap.0: phy reset operation timed out
[ 59.930145] ehci-omap ehci-omap.0: reset hcs_params 0x1313 dbg=0
cc=1 pcc=3 ordered ports=3
[ 59.930175] ehci-omap ehci-omap.0: reset hcc_params 0016 thresh 1
uframes 256/512/1024 park
[ 59.930206] ehci-omap ehci-omap.0: OMAP-EHCI Host Controller
[ 59.936218] drivers/usb/core/inode.c: creating file 'devices'
[ 59.936279] drivers/usb/core/inode.c: creating file '001'

Any ideas?

thanks,
--
Lei Ming
--
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/