Thread (35 messages) 35 messages, 6 authors, 2013-12-18

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 defined
It was never intended to be called from other drivers. What's up
with
quoted
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 bit
tricky.
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help