[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <008901cef80e$8cac3650$a604a2f0$%debski@samsung.com>
Date: Fri, 13 Dec 2013 15:20:59 +0100
From: Kamil Debski <k.debski@...sung.com>
To: 'Kishon Vijay Abraham I' <kishon@...com>
Cc: linux-kernel@...r.kernel.org, linux-samsung-soc@...r.kernel.org,
linux-usb@...r.kernel.org, devicetree@...r.kernel.org,
kyungmin.park@...sung.com, Tomasz Figa <t.figa@...sung.com>,
Sylwester Nawrocki <s.nawrocki@...sung.com>,
Marek Szyprowski <m.szyprowski@...sung.com>,
gautam.vivek@...sung.com, mat.krawczuk@...il.com,
yulgon.kim@...sung.com, p.paneri@...sung.com,
av.tikhomirov@...sung.com, jg1.han@...sung.com,
galak@...eaurora.org, matt.porter@...aro.org
Subject: RE: [PATCH 1/9] phy: core: Change the way of_phy_get is called
Hi,
> From: Kishon Vijay Abraham I [mailto:kishon@...com]
> Sent: Monday, December 09, 2013 8:23 AM
>
> On Friday 06 December 2013 04:22 PM, Kamil Debski wrote:
> > Hi,
> >
> >> From: Kishon Vijay Abraham I [mailto:kishon@...com]
> >> Sent: Friday, December 06, 2013 6:31 AM
> >>
> >> Hi,
> >>
> >> On Thursday 05 December 2013 05:59 PM, Kamil Debski wrote:
> >>> Previously the of_phy_get function took a struct device * and was
> >>> declared static. It was impossible to call it from another driver
> >>> and thus it was impossible to get phy defined
> >>
> >> It was never intended to be called from other drivers. What's up
> with
> >> the wrapper of of_phy_get, phy_get()/devm_phy_get()? Why isn't that
> >> enough?
> >
> > Implementing support for multiple phys in the ehci driver is a bit
> tricky.
> > Especially when we want to do it right. Please have a look at this
> > part of the dts file:
> >
> > + ehci@...80000 {
> > + compatible = "samsung,exynos4210-ehci";
> > + reg = <0x12580000 0x20000>;
> > + interrupts = <0 70 0>;
> > + clocks = <&clock 304>, <&clock 305>;
> > + clock-names = "usbhost", "otg";
> > + status = "disabled";
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > + port@0 {
> > + reg = <0>;
> > + phys = <&usb2phy 1>;
> > + phy-names = "host";
> > + status = "disabled";
> > + };
> > + port@1 {
> > + reg = <1>;
> > + phys = <&usb2phy 2>;
> > + phy-names = "hsic0";
> > + status = "disabled";
> > + };
> > + port@2 {
> > + reg = <2>;
> > + phys = <&usb2phy 3>;
> > + phy-names = "hsic1";
> > + status = "disabled";
> > + };
> > + };
> >
> > With the above we have a clear specification of ports and their
> > respective phys. But to do this properly the ehci driver has to
> > iterate over port nodes. It is much easier to use devm_of_phy_get by
> > giving the node as its argument.
>
> I see. There are a couple of more things we do in the wrapper that gets
> missed while exporting of_phy_get (get_device and try_module_get). You
> might want to re-work that one.
Thank you for the review. I have just sent an updated version of the core
patches.
Best wishes,
--
Kamil Debski
Samsung R&D Institute Poland
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists