lkml.org 
[lkml]   [2013]   [Dec]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/9] phy: core: Change the way of_phy_get is called
    On Friday 06 December 2013 04:22 PM, Kamil Debski wrote:
    > Hi,
    >
    >> From: Kishon Vijay Abraham I [mailto:kishon@ti.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@12580000 {
    > + 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.

    Thanks
    Kishon


    \
     
     \ /
      Last update: 2013-12-09 08:41    [W:3.618 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site