All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kishon Vijay Abraham I <kishon@ti.com>
To: Kamil Debski <k.debski@samsung.com>
Cc: linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
	linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
	kyungmin.park@samsung.com, Tomasz Figa <t.figa@samsung.com>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	gautam.vivek@samsung.com, mat.krawczuk@gmail.com,
	yulgon.kim@samsung.com, p.paneri@samsung.com,
	av.tikhomirov@samsung.com, jg1.han@samsung.com,
	galak@codeaurora.org, matt.porter@linaro.org
Subject: Re: [PATCH 1/9] phy: core: Change the way of_phy_get is called
Date: Mon, 9 Dec 2013 12:52:40 +0530	[thread overview]
Message-ID: <52A56FC0.8020001@ti.com> (raw)
In-Reply-To: <009901cef271$3c40d0b0$b4c27210$%debski@samsung.com>

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

WARNING: multiple messages have this Message-ID (diff)
From: Kishon Vijay Abraham I <kishon@ti.com>
To: Kamil Debski <k.debski@samsung.com>
Cc: <linux-kernel@vger.kernel.org>,
	<linux-samsung-soc@vger.kernel.org>, <linux-usb@vger.kernel.org>,
	<devicetree@vger.kernel.org>, <kyungmin.park@samsung.com>,
	Tomasz Figa <t.figa@samsung.com>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	<gautam.vivek@samsung.com>, <mat.krawczuk@gmail.com>,
	<yulgon.kim@samsung.com>, <p.paneri@samsung.com>,
	<av.tikhomirov@samsung.com>, <jg1.han@samsung.com>,
	<galak@codeaurora.org>, <matt.porter@linaro.org>
Subject: Re: [PATCH 1/9] phy: core: Change the way of_phy_get is called
Date: Mon, 9 Dec 2013 12:52:40 +0530	[thread overview]
Message-ID: <52A56FC0.8020001@ti.com> (raw)
In-Reply-To: <009901cef271$3c40d0b0$b4c27210$%debski@samsung.com>

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

  reply	other threads:[~2013-12-09  7:22 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-05 12:29 [PATCH v4 0/9] phy: Add new Exynos USB 2.0 PHY driver Kamil Debski
2013-12-05 12:29 ` [PATCH 1/9] phy: core: Change the way of_phy_get is called Kamil Debski
     [not found]   ` <1386246579-25141-2-git-send-email-k.debski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-12-06  5:30     ` Kishon Vijay Abraham I
2013-12-06  5:30       ` Kishon Vijay Abraham I
     [not found]       ` <52A16104.3080704-l0cyMroinI0@public.gmane.org>
2013-12-06 10:52         ` Kamil Debski
2013-12-06 10:52           ` Kamil Debski
2013-12-09  7:22           ` Kishon Vijay Abraham I [this message]
2013-12-09  7:22             ` Kishon Vijay Abraham I
2013-12-13 14:20             ` Kamil Debski
2013-12-05 12:29 ` [PATCH 2/9] phy: core: Add devm_of_phy_get to phy-core Kamil Debski
     [not found] ` <1386246579-25141-1-git-send-email-k.debski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-12-05 12:29   ` [PATCH v4 3/9] phy: Add new Exynos USB PHY driver Kamil Debski
2013-12-05 12:29     ` Kamil Debski
2013-12-06 10:59     ` Kishon Vijay Abraham I
2013-12-06 10:59       ` Kishon Vijay Abraham I
2013-12-06 16:28       ` Kamil Debski
2013-12-09  7:56         ` Kishon Vijay Abraham I
2013-12-09  7:56           ` Kishon Vijay Abraham I
2013-12-09 13:35           ` Kamil Debski
2013-12-06 16:47       ` Kamil Debski
2013-12-10  2:42     ` Anton Tikhomirov
2013-12-17 13:26       ` Kamil Debski
2013-12-18  0:54         ` Anton Tikhomirov
2013-12-06 10:32   ` [PATCH v4 7/9] phy: Add Exynos 5250 support to the Exynos USB 2.0 " Kamil Debski
2013-12-06 10:32     ` Kamil Debski
     [not found]     ` <1386325955-27322-1-git-send-email-k.debski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-12-06 11:15       ` Kishon Vijay Abraham I
2013-12-06 11:15         ` Kishon Vijay Abraham I
2013-12-06 10:34   ` [PATCH 9/9] dts: Add usb2phy to Exynos 5250 Kamil Debski
2013-12-06 10:34     ` Kamil Debski
2013-12-05 12:29 ` [PATCH v4 4/9] usb: ehci-s5p: Change to use phy provided by the generic phy framework Kamil Debski
2013-12-05 18:52   ` Alan Stern
2013-12-05 18:52     ` Alan Stern
2013-12-06 13:19     ` Kamil Debski
2013-12-05 12:29 ` [PATCH v4 5/9] usb: s3c-hsotg: Use the new Exynos USB phy driver with " Kamil Debski
2013-12-06 11:11   ` Kishon Vijay Abraham I
2013-12-06 11:11     ` Kishon Vijay Abraham I
     [not found]     ` <52A1B0F7.2050501-l0cyMroinI0@public.gmane.org>
2013-12-06 15:01       ` Matt Porter
2013-12-06 15:01         ` Matt Porter
2013-12-06 16:29         ` Kamil Debski
2013-12-11 15:15   ` Matt Porter
     [not found]   ` <1386246579-25141-6-git-send-email-k.debski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-12-16 21:40     ` Matt Porter
2013-12-16 21:40       ` Matt Porter
2013-12-17  9:41       ` Kamil Debski
2013-12-17 13:13         ` 'Matt Porter'
2013-12-05 15:07 ` [PATCH v4 0/9] phy: Add new Exynos USB 2.0 PHY driver Kishon Vijay Abraham I
2013-12-05 15:07   ` Kishon Vijay Abraham I
2013-12-06 10:51   ` Kamil Debski
2013-12-06 10:31 ` [PATCH v4 6/9] phy: Add support for S5PV210 to the Exynos USB " Kamil Debski
2013-12-06 11:14   ` Kishon Vijay Abraham I
2013-12-06 11:14     ` Kishon Vijay Abraham I
2013-12-06 10:33 ` [PATCH 8/9] dts: Add usb2phy to Exynos 4 Kamil Debski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52A56FC0.8020001@ti.com \
    --to=kishon@ti.com \
    --cc=av.tikhomirov@samsung.com \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=gautam.vivek@samsung.com \
    --cc=jg1.han@samsung.com \
    --cc=k.debski@samsung.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=mat.krawczuk@gmail.com \
    --cc=matt.porter@linaro.org \
    --cc=p.paneri@samsung.com \
    --cc=s.nawrocki@samsung.com \
    --cc=t.figa@samsung.com \
    --cc=yulgon.kim@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.