RE: [PATCH 1/9] phy: core: Change the way of_phy_get is called
From: Kamil Debski <hidden>
Date: 2013-12-13 14:21:06
Also in:
linux-samsung-soc, lkml
Hi,
From: Kishon Vijay Abraham I [mailto:kishon@ti.com] Sent: Monday, December 09, 2013 8:23 AM On Friday 06 December 2013 04:22 PM, Kamil Debski wrote:quoted
Hi,quoted
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:quoted
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 definedIt was never intended to be called from other drivers. What's upwithquoted
quoted
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 bittricky.quoted
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.
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