All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kishon Vijay Abraham I <kishon@ti.com>
To: Stephen Warren <swarren@wwwdotorg.org>
Cc: balbi@ti.com, gregkh@linuxfoundation.org, arnd@arndb.de,
	akpm@linux-foundation.org, sylvester.nawrocki@gmail.com,
	rob@landley.net, netdev@vger.kernel.org, davem@davemloft.net,
	cesarb@cesarb.net, linux-usb@vger.kernel.org,
	linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org,
	tony@atomide.com, grant.likely@secretlab.ca,
	rob.herring@calxeda.com, b-cousson@ti.com,
	linux@arm.linux.org.uk, eballetbo@gmail.com, javier@dowhile0.org,
	mchehab@redhat.com, santosh.shilimkar@ti.com,
	broonie@opensource.wolfsonmicro.com, swarren@nvidia.com,
	linux-doc@vger.kernel.org, devicetree-discuss@lists.ozlabs.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v5 1/6] drivers: phy: add generic PHY framework
Date: Mon, 8 Apr 2013 18:51:15 +0530	[thread overview]
Message-ID: <5162C44B.90501@ti.com> (raw)
In-Reply-To: <515CC123.4060402@wwwdotorg.org>

Hi,

On Thursday 04 April 2013 05:24 AM, Stephen Warren wrote:
> On 04/03/2013 06:53 AM, Kishon Vijay Abraham I wrote:
>> The PHY framework provides a set of APIs for the PHY drivers to
>> create/destroy a PHY and APIs for the PHY users to obtain a reference to the
>> PHY with or without using phandle. To obtain a reference to the PHY without
>> using phandle, the platform specfic intialization code (say from board file)
>> should have already called phy_bind with the binding information. The binding
>> information consists of phy's device name, phy user device name and an index.
>> The index is used when the same phy user binds to mulitple phys.
>>
>> PHY drivers should create the PHY by passing phy_descriptor that has
>> describes the PHY (label, type etc..) and ops like init, exit, suspend, resume,
>> power_on, power_off.
>>
>> The documentation for the generic PHY framework is added in
>> Documentation/phy.txt and the documentation for the sysfs entry is added
>> in Documentation/ABI/testing/sysfs-class-phy and the documentation for
>> dt binding is can be found at
>> Documentation/devicetree/bindings/phy/phy-bindings.txt
>
>> diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h
>
>> +extern struct phy *devm_phy_create(struct device *dev, const char *label,
>> +	struct device_node *of_node, int type, struct phy_ops *ops,
>> +	void *priv);
>
> Can't the function get of_node from dev->of_node?
>
> I wonder if we shouldn't split up the registration a bit though:
>
> A function which registers a PHY object itself. That's the function above.
>
> A function which registers a DT-based PHY provider.
>
> Then, the of_xlate op would be part of the PHY provider, not part of
> some random PHY that happens to exist on that node. So:

Yeah. Makes sense to me. By this we can avoid struct phy * to represent 
two different things (phy provider and phy instance).

Thanks
Kishon

WARNING: multiple messages have this Message-ID (diff)
From: kishon@ti.com (Kishon Vijay Abraham I)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 1/6] drivers: phy: add generic PHY framework
Date: Mon, 8 Apr 2013 18:51:15 +0530	[thread overview]
Message-ID: <5162C44B.90501@ti.com> (raw)
In-Reply-To: <515CC123.4060402@wwwdotorg.org>

Hi,

On Thursday 04 April 2013 05:24 AM, Stephen Warren wrote:
> On 04/03/2013 06:53 AM, Kishon Vijay Abraham I wrote:
>> The PHY framework provides a set of APIs for the PHY drivers to
>> create/destroy a PHY and APIs for the PHY users to obtain a reference to the
>> PHY with or without using phandle. To obtain a reference to the PHY without
>> using phandle, the platform specfic intialization code (say from board file)
>> should have already called phy_bind with the binding information. The binding
>> information consists of phy's device name, phy user device name and an index.
>> The index is used when the same phy user binds to mulitple phys.
>>
>> PHY drivers should create the PHY by passing phy_descriptor that has
>> describes the PHY (label, type etc..) and ops like init, exit, suspend, resume,
>> power_on, power_off.
>>
>> The documentation for the generic PHY framework is added in
>> Documentation/phy.txt and the documentation for the sysfs entry is added
>> in Documentation/ABI/testing/sysfs-class-phy and the documentation for
>> dt binding is can be found at
>> Documentation/devicetree/bindings/phy/phy-bindings.txt
>
>> diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h
>
>> +extern struct phy *devm_phy_create(struct device *dev, const char *label,
>> +	struct device_node *of_node, int type, struct phy_ops *ops,
>> +	void *priv);
>
> Can't the function get of_node from dev->of_node?
>
> I wonder if we shouldn't split up the registration a bit though:
>
> A function which registers a PHY object itself. That's the function above.
>
> A function which registers a DT-based PHY provider.
>
> Then, the of_xlate op would be part of the PHY provider, not part of
> some random PHY that happens to exist on that node. So:

Yeah. Makes sense to me. By this we can avoid struct phy * to represent 
two different things (phy provider and phy instance).

Thanks
Kishon

WARNING: multiple messages have this Message-ID (diff)
From: Kishon Vijay Abraham I <kishon@ti.com>
To: Stephen Warren <swarren@wwwdotorg.org>
Cc: <balbi@ti.com>, <gregkh@linuxfoundation.org>, <arnd@arndb.de>,
	<akpm@linux-foundation.org>, <sylvester.nawrocki@gmail.com>,
	<rob@landley.net>, <netdev@vger.kernel.org>,
	<davem@davemloft.net>, <cesarb@cesarb.net>,
	<linux-usb@vger.kernel.org>, <linux-omap@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <tony@atomide.com>,
	<grant.likely@secretlab.ca>, <rob.herring@calxeda.com>,
	<b-cousson@ti.com>, <linux@arm.linux.org.uk>,
	<eballetbo@gmail.com>, <javier@dowhile0.org>,
	<mchehab@redhat.com>, <santosh.shilimkar@ti.com>,
	<broonie@opensource.wolfsonmicro.com>, <swarren@nvidia.com>,
	<linux-doc@vger.kernel.org>,
	<devicetree-discuss@lists.ozlabs.org>,
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v5 1/6] drivers: phy: add generic PHY framework
Date: Mon, 8 Apr 2013 18:51:15 +0530	[thread overview]
Message-ID: <5162C44B.90501@ti.com> (raw)
In-Reply-To: <515CC123.4060402@wwwdotorg.org>

Hi,

On Thursday 04 April 2013 05:24 AM, Stephen Warren wrote:
> On 04/03/2013 06:53 AM, Kishon Vijay Abraham I wrote:
>> The PHY framework provides a set of APIs for the PHY drivers to
>> create/destroy a PHY and APIs for the PHY users to obtain a reference to the
>> PHY with or without using phandle. To obtain a reference to the PHY without
>> using phandle, the platform specfic intialization code (say from board file)
>> should have already called phy_bind with the binding information. The binding
>> information consists of phy's device name, phy user device name and an index.
>> The index is used when the same phy user binds to mulitple phys.
>>
>> PHY drivers should create the PHY by passing phy_descriptor that has
>> describes the PHY (label, type etc..) and ops like init, exit, suspend, resume,
>> power_on, power_off.
>>
>> The documentation for the generic PHY framework is added in
>> Documentation/phy.txt and the documentation for the sysfs entry is added
>> in Documentation/ABI/testing/sysfs-class-phy and the documentation for
>> dt binding is can be found at
>> Documentation/devicetree/bindings/phy/phy-bindings.txt
>
>> diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h
>
>> +extern struct phy *devm_phy_create(struct device *dev, const char *label,
>> +	struct device_node *of_node, int type, struct phy_ops *ops,
>> +	void *priv);
>
> Can't the function get of_node from dev->of_node?
>
> I wonder if we shouldn't split up the registration a bit though:
>
> A function which registers a PHY object itself. That's the function above.
>
> A function which registers a DT-based PHY provider.
>
> Then, the of_xlate op would be part of the PHY provider, not part of
> some random PHY that happens to exist on that node. So:

Yeah. Makes sense to me. By this we can avoid struct phy * to represent 
two different things (phy provider and phy instance).

Thanks
Kishon

  parent reply	other threads:[~2013-04-08 13:21 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-03 12:53 [PATCH v5 0/6] Generic PHY Framework Kishon Vijay Abraham I
2013-04-03 12:53 ` Kishon Vijay Abraham I
2013-04-03 12:53 ` Kishon Vijay Abraham I
2013-04-03 12:53 ` [PATCH v5 4/6] ARM: OMAP: USB: Add phy binding information Kishon Vijay Abraham I
2013-04-03 12:53   ` Kishon Vijay Abraham I
2013-04-03 12:53   ` Kishon Vijay Abraham I
2013-04-03 12:53 ` [PATCH v5 5/6] ARM: dts: omap: update usb_otg_hs data Kishon Vijay Abraham I
2013-04-03 12:53   ` Kishon Vijay Abraham I
2013-04-03 12:53   ` Kishon Vijay Abraham I
     [not found] ` <1364993634-6378-1-git-send-email-kishon-l0cyMroinI0@public.gmane.org>
2013-04-03 12:53   ` [PATCH v5 1/6] drivers: phy: add generic PHY framework Kishon Vijay Abraham I
2013-04-03 12:53     ` Kishon Vijay Abraham I
2013-04-03 12:53     ` Kishon Vijay Abraham I
     [not found]     ` <1364993634-6378-2-git-send-email-kishon-l0cyMroinI0@public.gmane.org>
2013-04-03 13:42       ` Felipe Balbi
2013-04-03 13:42         ` Felipe Balbi
2013-04-03 13:42         ` Felipe Balbi
     [not found]         ` <20130403134102.GC14680-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2013-04-03 14:18           ` Kishon Vijay Abraham I
2013-04-03 14:18             ` Kishon Vijay Abraham I
2013-04-03 14:18             ` Kishon Vijay Abraham I
     [not found]             ` <515C3A42.4020404-l0cyMroinI0@public.gmane.org>
2013-04-03 14:27               ` Felipe Balbi
2013-04-03 14:27                 ` Felipe Balbi
2013-04-03 14:27                 ` Felipe Balbi
2013-04-03 14:32                 ` Kishon Vijay Abraham I
2013-04-03 14:32                   ` Kishon Vijay Abraham I
2013-04-03 14:32                   ` Kishon Vijay Abraham I
     [not found]                   ` <515C3D94.1060000-l0cyMroinI0@public.gmane.org>
2013-04-03 15:47                     ` Felipe Balbi
2013-04-03 15:47                       ` Felipe Balbi
2013-04-03 15:47                       ` Felipe Balbi
     [not found]                       ` <20130403154704.GD19093-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2013-04-04  8:56                         ` Kishon Vijay Abraham I
2013-04-04  8:56                           ` Kishon Vijay Abraham I
2013-04-04  8:56                           ` Kishon Vijay Abraham I
2013-04-03 23:54       ` Stephen Warren
2013-04-03 23:54         ` Stephen Warren
2013-04-03 23:54         ` Stephen Warren
     [not found]         ` <515CC123.4060402-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-04-04  7:15           ` Felipe Balbi
2013-04-04  7:15             ` Felipe Balbi
2013-04-04  7:15             ` Felipe Balbi
2013-04-08 13:21         ` Kishon Vijay Abraham I [this message]
2013-04-08 13:21           ` Kishon Vijay Abraham I
2013-04-08 13:21           ` Kishon Vijay Abraham I
2013-04-03 21:46     ` Sylwester Nawrocki
2013-04-03 21:46       ` Sylwester Nawrocki
2013-04-04  9:21       ` Kishon Vijay Abraham I
2013-04-04  9:21         ` Kishon Vijay Abraham I
2013-04-04  9:21         ` Kishon Vijay Abraham I
     [not found]         ` <515D462F.9050109-l0cyMroinI0@public.gmane.org>
2013-04-04 10:41           ` Sylwester Nawrocki
2013-04-04 10:41             ` Sylwester Nawrocki
2013-04-04 10:41             ` Sylwester Nawrocki
2013-04-04 11:11             ` Kishon Vijay Abraham I
2013-04-04 11:11               ` Kishon Vijay Abraham I
2013-04-04 11:11               ` Kishon Vijay Abraham I
2013-04-03 12:53   ` [PATCH v5 2/6] usb: phy: omap-usb2: use the new " Kishon Vijay Abraham I
2013-04-03 12:53     ` Kishon Vijay Abraham I
2013-04-03 12:53     ` Kishon Vijay Abraham I
     [not found]     ` <1364993634-6378-3-git-send-email-kishon-l0cyMroinI0@public.gmane.org>
2013-04-03 13:48       ` Felipe Balbi
2013-04-03 13:48         ` Felipe Balbi
2013-04-03 13:48         ` Felipe Balbi
2013-04-03 14:55         ` Arnd Bergmann
2013-04-03 14:55           ` Arnd Bergmann
2013-04-03 15:48           ` Felipe Balbi
2013-04-03 15:48             ` Felipe Balbi
2013-04-03 15:48             ` Felipe Balbi
2013-04-03 12:53   ` [PATCH v5 3/6] usb: otg: twl4030: " Kishon Vijay Abraham I
2013-04-03 12:53     ` Kishon Vijay Abraham I
2013-04-03 12:53     ` Kishon Vijay Abraham I
2013-04-03 12:53   ` [PATCH v5 6/6] usb: musb: omap2430: " Kishon Vijay Abraham I
2013-04-03 12:53     ` Kishon Vijay Abraham I
2013-04-03 12:53     ` Kishon Vijay Abraham I
2013-04-03 23:42   ` [PATCH v5 0/6] Generic PHY Framework Stephen Warren
2013-04-03 23:42     ` Stephen Warren
2013-04-03 23:42     ` Stephen Warren

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=5162C44B.90501@ti.com \
    --to=kishon@ti.com \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=b-cousson@ti.com \
    --cc=balbi@ti.com \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=cesarb@cesarb.net \
    --cc=davem@davemloft.net \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=eballetbo@gmail.com \
    --cc=grant.likely@secretlab.ca \
    --cc=gregkh@linuxfoundation.org \
    --cc=javier@dowhile0.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mchehab@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=rob.herring@calxeda.com \
    --cc=rob@landley.net \
    --cc=santosh.shilimkar@ti.com \
    --cc=swarren@nvidia.com \
    --cc=swarren@wwwdotorg.org \
    --cc=sylvester.nawrocki@gmail.com \
    --cc=tony@atomide.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.