<br><br><div class="gmail_quote">2012/6/13 Jon Hunter <span dir="ltr"><<a href="mailto:jon-hunter@ti.com" target="_blank">jon-hunter@ti.com</a>></span><br><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
On 06/11/2012 09:30 PM, Zumeng Chen wrote:<br>
><br>
><br>
> 2012/6/11 Jon Hunter <<a href="mailto:jon-hunter@ti.com">jon-hunter@ti.com</a> <mailto:<a href="mailto:jon-hunter@ti.com">jon-hunter@ti.com</a>>><br>
<div class="im">><br>
><br>
>     On 06/11/2012 09:00 AM, Zumeng Chen wrote:<br>
>     > A typo fix for this cosmetic change and mute a failed message from<br>
>     > a unnecessary setting of some parent clk for usbhs_omap on OMAP3EVM.<br>
>     ><br>
>     > Signed-off-by: Zumeng Chen <<a href="mailto:zumeng.chen@gmail.com">zumeng.chen@gmail.com</a><br>
</div>>     <mailto:<a href="mailto:zumeng.chen@gmail.com">zumeng.chen@gmail.com</a>>><br>
<div><div class="h5">>     > ---<br>
>     >  drivers/mfd/omap-usb-host.c |    4 +++-<br>
>     >  1 files changed, 3 insertions(+), 1 deletions(-)<br>
>     ><br>
>     > diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c<br>
>     > index 7e96bb2..9aaaf3c 100644<br>
>     > --- a/drivers/mfd/omap-usb-host.c<br>
>     > +++ b/drivers/mfd/omap-usb-host.c<br>
>     > @@ -698,8 +698,9 @@ static int __devinit usbhs_omap_probe(struct<br>
>     platform_device *pdev)<br>
>     >               goto err_usbtll_p2_fck;<br>
>     >       }<br>
>     ><br>
>     > +#ifndef CONFIG_MACH_OMAP3EVM<br>
>     > +     /* for OMAP3 , the clk set parent fails */<br>
>     >       if (is_ehci_phy_mode(pdata->port_mode[0])) {<br>
>     > -             /* for OMAP3 , the clk set paretn fails */<br>
>     >               ret = clk_set_parent(omap->utmi_p1_fck,<br>
>     >                                       omap->xclk60mhsp1_ck);<br>
>     >               if (ret != 0)<br>
><br>
>     This begs the question, why is port_mode[0] set to ehci phy mode if this<br>
>     is failing? Something does not seem right here but this does not look<br>
>     like the right fix.<br>
><br>
> Actually, for omap3530evm, there is only port-mode[1] is valid, so<br>
> port_mode[0]<br>
> will be skipped by "if". And it will report "xclk60mhsp2_ck set parent<br>
> failed"<br>
><br>
> But why I bracket both of them, because, both xclk60mhsp2_ck and<br>
> xclk60mhsp1_ck<br>
> have dummy_ck clk for omap3530evm. So we can skip them directly.<br>
<br>
</div></div>How about something like this ...<br>
<br>
diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c<br>
index 62ec5c4..c1335f1 100644<br>
--- a/arch/arm/plat-omap/clock.c<br>
+++ b/arch/arm/plat-omap/clock.c<br>
@@ -149,6 +149,10 @@ int clk_set_parent(struct clk *clk, struct clk *parent)<br>
        if (!arch_clock || !arch_clock->clk_set_parent)<br>
                return ret;<br>
<br>
+       /* If the clock is a dummy clock just return */<br>
+       if (!strcmp(clk->name, <a href="http://dummy_ck.name" target="_blank">dummy_ck.name</a>))<br>
+               return 0;<br>
+<br></blockquote><div>Yes, this is a good fixes, thanks I'll try it.<br><br>Regards,<br>Zumeng <br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

        spin_lock_irqsave(&clockfw_lock, flags);<br>
        if (clk->usecount == 0) {<br>
                ret = arch_clock->clk_set_parent(clk, parent);<br>
<br>
Can you give this a try?<br>
<br>
Cheers<br>
<span class="HOEnZb"><font color="#888888">Jon<br>
</font></span></blockquote></div><br>