All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felipe Balbi <balbi@ti.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Tomasz Figa <tomasz.figa@gmail.com>,
	Kishon Vijay Abraham I <kishon@ti.com>,
	Alan Stern <stern@rowland.harvard.edu>,
	<kyungmin.park@samsung.com>, <balbi@ti.com>,
	<jg1.han@samsung.com>, <s.nawrocki@samsung.com>,
	<kgene.kim@samsung.com>, <grant.likely@linaro.org>,
	<tony@atomide.com>, <arnd@arndb.de>, <swarren@nvidia.com>,
	<devicetree-discuss@lists.ozlabs.org>,
	<linux-doc@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-samsung-soc@vger.kernel.org>, <linux-omap@vger.kernel.org>,
	<linux-usb@vger.kernel.org>, <linux-media@vger.kernel.org>,
	<linux-fbdev@vger.kernel.org>, <akpm@linux-foundation.org>,
	<balajitk@ti.com>, <george.cherian@ti.com>, <nsekhar@ti.com>
Subject: Re: [PATCH 01/15] drivers: phy: add generic PHY framework
Date: Tue, 30 Jul 2013 10:11:06 +0300	[thread overview]
Message-ID: <20130730071106.GC16441@radagast> (raw)
In-Reply-To: <20130721154653.GG16598@kroah.com>

[-- Attachment #1: Type: text/plain, Size: 6276 bytes --]

On Sun, Jul 21, 2013 at 08:46:53AM -0700, Greg KH wrote:
> On Sun, Jul 21, 2013 at 01:12:07PM +0200, Tomasz Figa wrote:
> > On Sunday 21 of July 2013 16:37:33 Kishon Vijay Abraham I wrote:
> > > Hi,
> > > 
> > > On Sunday 21 July 2013 04:01 PM, Tomasz Figa wrote:
> > > > Hi,
> > > > 
> > > > On Saturday 20 of July 2013 19:59:10 Greg KH wrote:
> > > >> On Sat, Jul 20, 2013 at 10:32:26PM -0400, Alan Stern wrote:
> > > >>> On Sat, 20 Jul 2013, Greg KH wrote:
> > > >>>>>>> That should be passed using platform data.
> > > >>>>>> 
> > > >>>>>> Ick, don't pass strings around, pass pointers.  If you have
> > > >>>>>> platform
> > > >>>>>> data you can get to, then put the pointer there, don't use a
> > > >>>>>> "name".
> > > >>>>> 
> > > >>>>> I don't think I understood you here :-s We wont have phy pointer
> > > >>>>> when we create the device for the controller no?(it'll be done in
> > > >>>>> board file). Probably I'm missing something.
> > > >>>> 
> > > >>>> Why will you not have that pointer?  You can't rely on the "name"
> > > >>>> as
> > > >>>> the device id will not match up, so you should be able to rely on
> > > >>>> the pointer being in the structure that the board sets up, right?
> > > >>>> 
> > > >>>> Don't use names, especially as ids can, and will, change, that is
> > > >>>> going
> > > >>>> to cause big problems.  Use pointers, this is C, we are supposed to
> > > >>>> be
> > > >>>> doing that :)
> > > >>> 
> > > >>> Kishon, I think what Greg means is this:  The name you are using
> > > >>> must
> > > >>> be stored somewhere in a data structure constructed by the board
> > > >>> file,
> > > >>> right?  Or at least, associated with some data structure somehow.
> > > >>> Otherwise the platform code wouldn't know which PHY hardware
> > > >>> corresponded to a particular name.
> > > >>> 
> > > >>> Greg's suggestion is that you store the address of that data
> > > >>> structure
> > > >>> in the platform data instead of storing the name string.  Have the
> > > >>> consumer pass the data structure's address when it calls phy_create,
> > > >>> instead of passing the name.  Then you don't have to worry about two
> > > >>> PHYs accidentally ending up with the same name or any other similar
> > > >>> problems.
> > > >> 
> > > >> Close, but the issue is that whatever returns from phy_create()
> > > >> should
> > > >> then be used, no need to call any "find" functions, as you can just
> > > >> use
> > > >> the pointer that phy_create() returns.  Much like all other class api
> > > >> functions in the kernel work.
> > > > 
> > > > I think there is a confusion here about who registers the PHYs.
> > > > 
> > > > All platform code does is registering a platform/i2c/whatever device,
> > > > which causes a driver (located in drivers/phy/) to be instantiated.
> > > > Such drivers call phy_create(), usually in their probe() callbacks,
> > > > so platform_code has no way (and should have no way, for the sake of
> > > > layering) to get what phy_create() returns.
> 
> Why not put pointers in the platform data structure that can hold these
> pointers?  I thought that is why we created those structures in the
> first place.  If not, what are they there for?

heh, IMO we shouldn't pass pointers of any kind through platform_data,
we want to pass data :-)

Allowing to pass pointers through that, is one of the reasons which got
us in such a big mess in ARM land, well it was much easier for a
board-file/driver writer to pass a function pointer then to create a
generic framework :-)

> > > > IMHO we need a lookup method for PHYs, just like for clocks,
> > > > regulators, PWMs or even i2c busses because there are complex cases
> > > > when passing just a name using platform data will not work. I would
> > > > second what Stephen said [1] and define a structure doing things in a
> > > > DT-like way.
> > > > 
> > > > Example;
> > > > 
> > > > [platform code]
> > > > 
> > > > static const struct phy_lookup my_phy_lookup[] = {
> > > > 
> > > > 	PHY_LOOKUP("s3c-hsotg.0", "otg", "samsung-usbphy.1", "phy.2"),
> > > 
> > > The only problem here is that if *PLATFORM_DEVID_AUTO* is used while
> > > creating the device, the ids in the device name would change and
> > > PHY_LOOKUP wont be useful.
> > 
> > I don't think this is a problem. All the existing lookup methods already 
> > use ID to identify devices (see regulators, clkdev, PWMs, i2c, ...). You 
> > can simply add a requirement that the ID must be assigned manually, 
> > without using PLATFORM_DEVID_AUTO to use PHY lookup.
> 
> And I'm saying that this idea, of using a specific name and id, is
> frought with fragility and will break in the future in various ways when
> devices get added to systems, making these strings constantly have to be
> kept up to date with different board configurations.
> 
> People, NEVER, hardcode something like an id.  The fact that this
> happens today with the clock code, doesn't make it right, it makes the
> clock code wrong.  Others have already said that this is wrong there as
> well, as systems change and dynamic ids get used more and more.
> 
> Let's not repeat the same mistakes of the past just because we refuse to
> learn from them...
> 
> So again, the "find a phy by a string" functions should be removed, the
> device id should be automatically created by the phy core just to make
> things unique in sysfs, and no driver code should _ever_ be reliant on
> the number that is being created, and the pointer to the phy structure
> should be used everywhere instead.
> 
> With those types of changes, I will consider merging this subsystem, but
> without them, sorry, I will not.

I'll agree with Greg here, the very fact that we see people trying to
add a requirement of *NOT* using PLATFORM_DEVID_AUTO already points to a
big problem in the framework.

The fact is that if we don't allow PLATFORM_DEVID_AUTO we will end up
adding similar infrastructure to the driver themselves to make sure we
don't end up with duplicate names in sysfs in case we have multiple
instances of the same IP in the SoC (or several of the same PCIe card).
I really don't want to go back to that.

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Felipe Balbi <balbi@ti.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: linux-fbdev@vger.kernel.org, linux-doc@vger.kernel.org,
	tony@atomide.com, nsekhar@ti.com,
	Tomasz Figa <tomasz.figa@gmail.com>,
	s.nawrocki@samsung.com, kgene.kim@samsung.com,
	swarren@nvidia.com, jg1.han@samsung.com,
	Kishon Vijay Abraham I <kishon@ti.com>,
	Alan Stern <stern@rowland.harvard.edu>,
	grant.likely@linaro.org, linux-media@vger.kernel.org,
	george.cherian@ti.com, arnd@arndb.de,
	devicetree-discuss@lists.ozlabs.org,
	linux-samsung-soc@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, balajitk@ti.com,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	balbi@ti.com, kyungmin.park@samsung.com,
	akpm@linux-foundation.org
Subject: Re: [PATCH 01/15] drivers: phy: add generic PHY framework
Date: Tue, 30 Jul 2013 10:11:06 +0300	[thread overview]
Message-ID: <20130730071106.GC16441@radagast> (raw)
In-Reply-To: <20130721154653.GG16598@kroah.com>


[-- Attachment #1.1: Type: text/plain, Size: 6276 bytes --]

On Sun, Jul 21, 2013 at 08:46:53AM -0700, Greg KH wrote:
> On Sun, Jul 21, 2013 at 01:12:07PM +0200, Tomasz Figa wrote:
> > On Sunday 21 of July 2013 16:37:33 Kishon Vijay Abraham I wrote:
> > > Hi,
> > > 
> > > On Sunday 21 July 2013 04:01 PM, Tomasz Figa wrote:
> > > > Hi,
> > > > 
> > > > On Saturday 20 of July 2013 19:59:10 Greg KH wrote:
> > > >> On Sat, Jul 20, 2013 at 10:32:26PM -0400, Alan Stern wrote:
> > > >>> On Sat, 20 Jul 2013, Greg KH wrote:
> > > >>>>>>> That should be passed using platform data.
> > > >>>>>> 
> > > >>>>>> Ick, don't pass strings around, pass pointers.  If you have
> > > >>>>>> platform
> > > >>>>>> data you can get to, then put the pointer there, don't use a
> > > >>>>>> "name".
> > > >>>>> 
> > > >>>>> I don't think I understood you here :-s We wont have phy pointer
> > > >>>>> when we create the device for the controller no?(it'll be done in
> > > >>>>> board file). Probably I'm missing something.
> > > >>>> 
> > > >>>> Why will you not have that pointer?  You can't rely on the "name"
> > > >>>> as
> > > >>>> the device id will not match up, so you should be able to rely on
> > > >>>> the pointer being in the structure that the board sets up, right?
> > > >>>> 
> > > >>>> Don't use names, especially as ids can, and will, change, that is
> > > >>>> going
> > > >>>> to cause big problems.  Use pointers, this is C, we are supposed to
> > > >>>> be
> > > >>>> doing that :)
> > > >>> 
> > > >>> Kishon, I think what Greg means is this:  The name you are using
> > > >>> must
> > > >>> be stored somewhere in a data structure constructed by the board
> > > >>> file,
> > > >>> right?  Or at least, associated with some data structure somehow.
> > > >>> Otherwise the platform code wouldn't know which PHY hardware
> > > >>> corresponded to a particular name.
> > > >>> 
> > > >>> Greg's suggestion is that you store the address of that data
> > > >>> structure
> > > >>> in the platform data instead of storing the name string.  Have the
> > > >>> consumer pass the data structure's address when it calls phy_create,
> > > >>> instead of passing the name.  Then you don't have to worry about two
> > > >>> PHYs accidentally ending up with the same name or any other similar
> > > >>> problems.
> > > >> 
> > > >> Close, but the issue is that whatever returns from phy_create()
> > > >> should
> > > >> then be used, no need to call any "find" functions, as you can just
> > > >> use
> > > >> the pointer that phy_create() returns.  Much like all other class api
> > > >> functions in the kernel work.
> > > > 
> > > > I think there is a confusion here about who registers the PHYs.
> > > > 
> > > > All platform code does is registering a platform/i2c/whatever device,
> > > > which causes a driver (located in drivers/phy/) to be instantiated.
> > > > Such drivers call phy_create(), usually in their probe() callbacks,
> > > > so platform_code has no way (and should have no way, for the sake of
> > > > layering) to get what phy_create() returns.
> 
> Why not put pointers in the platform data structure that can hold these
> pointers?  I thought that is why we created those structures in the
> first place.  If not, what are they there for?

heh, IMO we shouldn't pass pointers of any kind through platform_data,
we want to pass data :-)

Allowing to pass pointers through that, is one of the reasons which got
us in such a big mess in ARM land, well it was much easier for a
board-file/driver writer to pass a function pointer then to create a
generic framework :-)

> > > > IMHO we need a lookup method for PHYs, just like for clocks,
> > > > regulators, PWMs or even i2c busses because there are complex cases
> > > > when passing just a name using platform data will not work. I would
> > > > second what Stephen said [1] and define a structure doing things in a
> > > > DT-like way.
> > > > 
> > > > Example;
> > > > 
> > > > [platform code]
> > > > 
> > > > static const struct phy_lookup my_phy_lookup[] = {
> > > > 
> > > > 	PHY_LOOKUP("s3c-hsotg.0", "otg", "samsung-usbphy.1", "phy.2"),
> > > 
> > > The only problem here is that if *PLATFORM_DEVID_AUTO* is used while
> > > creating the device, the ids in the device name would change and
> > > PHY_LOOKUP wont be useful.
> > 
> > I don't think this is a problem. All the existing lookup methods already 
> > use ID to identify devices (see regulators, clkdev, PWMs, i2c, ...). You 
> > can simply add a requirement that the ID must be assigned manually, 
> > without using PLATFORM_DEVID_AUTO to use PHY lookup.
> 
> And I'm saying that this idea, of using a specific name and id, is
> frought with fragility and will break in the future in various ways when
> devices get added to systems, making these strings constantly have to be
> kept up to date with different board configurations.
> 
> People, NEVER, hardcode something like an id.  The fact that this
> happens today with the clock code, doesn't make it right, it makes the
> clock code wrong.  Others have already said that this is wrong there as
> well, as systems change and dynamic ids get used more and more.
> 
> Let's not repeat the same mistakes of the past just because we refuse to
> learn from them...
> 
> So again, the "find a phy by a string" functions should be removed, the
> device id should be automatically created by the phy core just to make
> things unique in sysfs, and no driver code should _ever_ be reliant on
> the number that is being created, and the pointer to the phy structure
> should be used everywhere instead.
> 
> With those types of changes, I will consider merging this subsystem, but
> without them, sorry, I will not.

I'll agree with Greg here, the very fact that we see people trying to
add a requirement of *NOT* using PLATFORM_DEVID_AUTO already points to a
big problem in the framework.

The fact is that if we don't allow PLATFORM_DEVID_AUTO we will end up
adding similar infrastructure to the driver themselves to make sure we
don't end up with duplicate names in sysfs in case we have multiple
instances of the same IP in the SoC (or several of the same PCIe card).
I really don't want to go back to that.

-- 
balbi

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Felipe Balbi <balbi@ti.com>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 01/15] drivers: phy: add generic PHY framework
Date: Tue, 30 Jul 2013 07:11:06 +0000	[thread overview]
Message-ID: <20130730071106.GC16441@radagast> (raw)
In-Reply-To: <20130721154653.GG16598@kroah.com>

[-- Attachment #1: Type: text/plain, Size: 6276 bytes --]

On Sun, Jul 21, 2013 at 08:46:53AM -0700, Greg KH wrote:
> On Sun, Jul 21, 2013 at 01:12:07PM +0200, Tomasz Figa wrote:
> > On Sunday 21 of July 2013 16:37:33 Kishon Vijay Abraham I wrote:
> > > Hi,
> > > 
> > > On Sunday 21 July 2013 04:01 PM, Tomasz Figa wrote:
> > > > Hi,
> > > > 
> > > > On Saturday 20 of July 2013 19:59:10 Greg KH wrote:
> > > >> On Sat, Jul 20, 2013 at 10:32:26PM -0400, Alan Stern wrote:
> > > >>> On Sat, 20 Jul 2013, Greg KH wrote:
> > > >>>>>>> That should be passed using platform data.
> > > >>>>>> 
> > > >>>>>> Ick, don't pass strings around, pass pointers.  If you have
> > > >>>>>> platform
> > > >>>>>> data you can get to, then put the pointer there, don't use a
> > > >>>>>> "name".
> > > >>>>> 
> > > >>>>> I don't think I understood you here :-s We wont have phy pointer
> > > >>>>> when we create the device for the controller no?(it'll be done in
> > > >>>>> board file). Probably I'm missing something.
> > > >>>> 
> > > >>>> Why will you not have that pointer?  You can't rely on the "name"
> > > >>>> as
> > > >>>> the device id will not match up, so you should be able to rely on
> > > >>>> the pointer being in the structure that the board sets up, right?
> > > >>>> 
> > > >>>> Don't use names, especially as ids can, and will, change, that is
> > > >>>> going
> > > >>>> to cause big problems.  Use pointers, this is C, we are supposed to
> > > >>>> be
> > > >>>> doing that :)
> > > >>> 
> > > >>> Kishon, I think what Greg means is this:  The name you are using
> > > >>> must
> > > >>> be stored somewhere in a data structure constructed by the board
> > > >>> file,
> > > >>> right?  Or at least, associated with some data structure somehow.
> > > >>> Otherwise the platform code wouldn't know which PHY hardware
> > > >>> corresponded to a particular name.
> > > >>> 
> > > >>> Greg's suggestion is that you store the address of that data
> > > >>> structure
> > > >>> in the platform data instead of storing the name string.  Have the
> > > >>> consumer pass the data structure's address when it calls phy_create,
> > > >>> instead of passing the name.  Then you don't have to worry about two
> > > >>> PHYs accidentally ending up with the same name or any other similar
> > > >>> problems.
> > > >> 
> > > >> Close, but the issue is that whatever returns from phy_create()
> > > >> should
> > > >> then be used, no need to call any "find" functions, as you can just
> > > >> use
> > > >> the pointer that phy_create() returns.  Much like all other class api
> > > >> functions in the kernel work.
> > > > 
> > > > I think there is a confusion here about who registers the PHYs.
> > > > 
> > > > All platform code does is registering a platform/i2c/whatever device,
> > > > which causes a driver (located in drivers/phy/) to be instantiated.
> > > > Such drivers call phy_create(), usually in their probe() callbacks,
> > > > so platform_code has no way (and should have no way, for the sake of
> > > > layering) to get what phy_create() returns.
> 
> Why not put pointers in the platform data structure that can hold these
> pointers?  I thought that is why we created those structures in the
> first place.  If not, what are they there for?

heh, IMO we shouldn't pass pointers of any kind through platform_data,
we want to pass data :-)

Allowing to pass pointers through that, is one of the reasons which got
us in such a big mess in ARM land, well it was much easier for a
board-file/driver writer to pass a function pointer then to create a
generic framework :-)

> > > > IMHO we need a lookup method for PHYs, just like for clocks,
> > > > regulators, PWMs or even i2c busses because there are complex cases
> > > > when passing just a name using platform data will not work. I would
> > > > second what Stephen said [1] and define a structure doing things in a
> > > > DT-like way.
> > > > 
> > > > Example;
> > > > 
> > > > [platform code]
> > > > 
> > > > static const struct phy_lookup my_phy_lookup[] = {
> > > > 
> > > > 	PHY_LOOKUP("s3c-hsotg.0", "otg", "samsung-usbphy.1", "phy.2"),
> > > 
> > > The only problem here is that if *PLATFORM_DEVID_AUTO* is used while
> > > creating the device, the ids in the device name would change and
> > > PHY_LOOKUP wont be useful.
> > 
> > I don't think this is a problem. All the existing lookup methods already 
> > use ID to identify devices (see regulators, clkdev, PWMs, i2c, ...). You 
> > can simply add a requirement that the ID must be assigned manually, 
> > without using PLATFORM_DEVID_AUTO to use PHY lookup.
> 
> And I'm saying that this idea, of using a specific name and id, is
> frought with fragility and will break in the future in various ways when
> devices get added to systems, making these strings constantly have to be
> kept up to date with different board configurations.
> 
> People, NEVER, hardcode something like an id.  The fact that this
> happens today with the clock code, doesn't make it right, it makes the
> clock code wrong.  Others have already said that this is wrong there as
> well, as systems change and dynamic ids get used more and more.
> 
> Let's not repeat the same mistakes of the past just because we refuse to
> learn from them...
> 
> So again, the "find a phy by a string" functions should be removed, the
> device id should be automatically created by the phy core just to make
> things unique in sysfs, and no driver code should _ever_ be reliant on
> the number that is being created, and the pointer to the phy structure
> should be used everywhere instead.
> 
> With those types of changes, I will consider merging this subsystem, but
> without them, sorry, I will not.

I'll agree with Greg here, the very fact that we see people trying to
add a requirement of *NOT* using PLATFORM_DEVID_AUTO already points to a
big problem in the framework.

The fact is that if we don't allow PLATFORM_DEVID_AUTO we will end up
adding similar infrastructure to the driver themselves to make sure we
don't end up with duplicate names in sysfs in case we have multiple
instances of the same IP in the SoC (or several of the same PCIe card).
I really don't want to go back to that.

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: balbi@ti.com (Felipe Balbi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 01/15] drivers: phy: add generic PHY framework
Date: Tue, 30 Jul 2013 10:11:06 +0300	[thread overview]
Message-ID: <20130730071106.GC16441@radagast> (raw)
In-Reply-To: <20130721154653.GG16598@kroah.com>

On Sun, Jul 21, 2013 at 08:46:53AM -0700, Greg KH wrote:
> On Sun, Jul 21, 2013 at 01:12:07PM +0200, Tomasz Figa wrote:
> > On Sunday 21 of July 2013 16:37:33 Kishon Vijay Abraham I wrote:
> > > Hi,
> > > 
> > > On Sunday 21 July 2013 04:01 PM, Tomasz Figa wrote:
> > > > Hi,
> > > > 
> > > > On Saturday 20 of July 2013 19:59:10 Greg KH wrote:
> > > >> On Sat, Jul 20, 2013 at 10:32:26PM -0400, Alan Stern wrote:
> > > >>> On Sat, 20 Jul 2013, Greg KH wrote:
> > > >>>>>>> That should be passed using platform data.
> > > >>>>>> 
> > > >>>>>> Ick, don't pass strings around, pass pointers.  If you have
> > > >>>>>> platform
> > > >>>>>> data you can get to, then put the pointer there, don't use a
> > > >>>>>> "name".
> > > >>>>> 
> > > >>>>> I don't think I understood you here :-s We wont have phy pointer
> > > >>>>> when we create the device for the controller no?(it'll be done in
> > > >>>>> board file). Probably I'm missing something.
> > > >>>> 
> > > >>>> Why will you not have that pointer?  You can't rely on the "name"
> > > >>>> as
> > > >>>> the device id will not match up, so you should be able to rely on
> > > >>>> the pointer being in the structure that the board sets up, right?
> > > >>>> 
> > > >>>> Don't use names, especially as ids can, and will, change, that is
> > > >>>> going
> > > >>>> to cause big problems.  Use pointers, this is C, we are supposed to
> > > >>>> be
> > > >>>> doing that :)
> > > >>> 
> > > >>> Kishon, I think what Greg means is this:  The name you are using
> > > >>> must
> > > >>> be stored somewhere in a data structure constructed by the board
> > > >>> file,
> > > >>> right?  Or at least, associated with some data structure somehow.
> > > >>> Otherwise the platform code wouldn't know which PHY hardware
> > > >>> corresponded to a particular name.
> > > >>> 
> > > >>> Greg's suggestion is that you store the address of that data
> > > >>> structure
> > > >>> in the platform data instead of storing the name string.  Have the
> > > >>> consumer pass the data structure's address when it calls phy_create,
> > > >>> instead of passing the name.  Then you don't have to worry about two
> > > >>> PHYs accidentally ending up with the same name or any other similar
> > > >>> problems.
> > > >> 
> > > >> Close, but the issue is that whatever returns from phy_create()
> > > >> should
> > > >> then be used, no need to call any "find" functions, as you can just
> > > >> use
> > > >> the pointer that phy_create() returns.  Much like all other class api
> > > >> functions in the kernel work.
> > > > 
> > > > I think there is a confusion here about who registers the PHYs.
> > > > 
> > > > All platform code does is registering a platform/i2c/whatever device,
> > > > which causes a driver (located in drivers/phy/) to be instantiated.
> > > > Such drivers call phy_create(), usually in their probe() callbacks,
> > > > so platform_code has no way (and should have no way, for the sake of
> > > > layering) to get what phy_create() returns.
> 
> Why not put pointers in the platform data structure that can hold these
> pointers?  I thought that is why we created those structures in the
> first place.  If not, what are they there for?

heh, IMO we shouldn't pass pointers of any kind through platform_data,
we want to pass data :-)

Allowing to pass pointers through that, is one of the reasons which got
us in such a big mess in ARM land, well it was much easier for a
board-file/driver writer to pass a function pointer then to create a
generic framework :-)

> > > > IMHO we need a lookup method for PHYs, just like for clocks,
> > > > regulators, PWMs or even i2c busses because there are complex cases
> > > > when passing just a name using platform data will not work. I would
> > > > second what Stephen said [1] and define a structure doing things in a
> > > > DT-like way.
> > > > 
> > > > Example;
> > > > 
> > > > [platform code]
> > > > 
> > > > static const struct phy_lookup my_phy_lookup[] = {
> > > > 
> > > > 	PHY_LOOKUP("s3c-hsotg.0", "otg", "samsung-usbphy.1", "phy.2"),
> > > 
> > > The only problem here is that if *PLATFORM_DEVID_AUTO* is used while
> > > creating the device, the ids in the device name would change and
> > > PHY_LOOKUP wont be useful.
> > 
> > I don't think this is a problem. All the existing lookup methods already 
> > use ID to identify devices (see regulators, clkdev, PWMs, i2c, ...). You 
> > can simply add a requirement that the ID must be assigned manually, 
> > without using PLATFORM_DEVID_AUTO to use PHY lookup.
> 
> And I'm saying that this idea, of using a specific name and id, is
> frought with fragility and will break in the future in various ways when
> devices get added to systems, making these strings constantly have to be
> kept up to date with different board configurations.
> 
> People, NEVER, hardcode something like an id.  The fact that this
> happens today with the clock code, doesn't make it right, it makes the
> clock code wrong.  Others have already said that this is wrong there as
> well, as systems change and dynamic ids get used more and more.
> 
> Let's not repeat the same mistakes of the past just because we refuse to
> learn from them...
> 
> So again, the "find a phy by a string" functions should be removed, the
> device id should be automatically created by the phy core just to make
> things unique in sysfs, and no driver code should _ever_ be reliant on
> the number that is being created, and the pointer to the phy structure
> should be used everywhere instead.
> 
> With those types of changes, I will consider merging this subsystem, but
> without them, sorry, I will not.

I'll agree with Greg here, the very fact that we see people trying to
add a requirement of *NOT* using PLATFORM_DEVID_AUTO already points to a
big problem in the framework.

The fact is that if we don't allow PLATFORM_DEVID_AUTO we will end up
adding similar infrastructure to the driver themselves to make sure we
don't end up with duplicate names in sysfs in case we have multiple
instances of the same IP in the SoC (or several of the same PCIe card).
I really don't want to go back to that.

-- 
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130730/625b34cb/attachment-0001.sig>

  reply	other threads:[~2013-07-30  7:11 UTC|newest]

Thread overview: 371+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-18  6:46 [PATCH 00/15] PHY framework Kishon Vijay Abraham I
2013-07-18  6:58 ` Kishon Vijay Abraham I
2013-07-18  6:46 ` Kishon Vijay Abraham I
2013-07-18  6:46 ` Kishon Vijay Abraham I
2013-07-18  6:46 ` [PATCH 01/15] drivers: phy: add generic " Kishon Vijay Abraham I
2013-07-18  6:58   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  7:20   ` Greg KH
2013-07-18  7:20     ` Greg KH
2013-07-18  7:20     ` Greg KH
2013-07-18  8:59     ` Kishon Vijay Abraham I
2013-07-18  9:11       ` Kishon Vijay Abraham I
2013-07-18  8:59       ` Kishon Vijay Abraham I
2013-07-18  8:59       ` Kishon Vijay Abraham I
2013-07-18 15:49       ` Greg KH
2013-07-18 15:49         ` Greg KH
2013-07-18 15:49         ` Greg KH
2013-07-19  5:37         ` Kishon Vijay Abraham I
2013-07-19  5:49           ` Kishon Vijay Abraham I
2013-07-19  5:37           ` Kishon Vijay Abraham I
2013-07-19  5:37           ` Kishon Vijay Abraham I
2013-07-19  5:43           ` Greg KH
2013-07-19  5:43             ` Greg KH
2013-07-19  5:43             ` Greg KH
2013-07-19  5:55             ` Kishon Vijay Abraham I
2013-07-19  5:56               ` Kishon Vijay Abraham I
2013-07-19  5:55               ` Kishon Vijay Abraham I
2013-07-19  5:55               ` Kishon Vijay Abraham I
2013-07-19  6:29               ` Greg KH
2013-07-19  6:29                 ` Greg KH
2013-07-19  6:29                 ` Greg KH
2013-07-19  6:29                 ` Greg KH
2013-07-19  6:36                 ` Kishon Vijay Abraham I
2013-07-19  6:48                   ` Kishon Vijay Abraham I
2013-07-19  6:36                   ` Kishon Vijay Abraham I
2013-07-19  6:36                   ` Kishon Vijay Abraham I
2013-07-19 15:54                   ` Stephen Warren
2013-07-19 15:54                     ` Stephen Warren
2013-07-19 15:54                     ` Stephen Warren
2013-07-20  3:15                     ` Kishon Vijay Abraham I
2013-07-20  3:27                       ` Kishon Vijay Abraham I
2013-07-20  3:15                       ` Kishon Vijay Abraham I
2013-07-20  3:15                       ` Kishon Vijay Abraham I
2013-07-19 23:50                   ` Greg KH
2013-07-19 23:50                     ` Greg KH
2013-07-19 23:50                     ` Greg KH
2013-07-20  3:19                     ` Kishon Vijay Abraham I
2013-07-20  3:31                       ` Kishon Vijay Abraham I
2013-07-20  3:19                       ` Kishon Vijay Abraham I
2013-07-20  3:19                       ` Kishon Vijay Abraham I
2013-07-20 22:00                       ` Greg KH
2013-07-20 22:00                         ` Greg KH
2013-07-20 22:00                         ` Greg KH
2013-07-20 22:00                         ` Greg KH
2013-07-21  2:32                         ` Alan Stern
2013-07-21  2:32                           ` Alan Stern
2013-07-21  2:32                           ` Alan Stern
2013-07-21  2:32                           ` Alan Stern
2013-07-21  2:59                           ` Greg KH
2013-07-21  2:59                             ` Greg KH
2013-07-21  2:59                             ` Greg KH
2013-07-21 10:22                             ` Sascha Hauer
2013-07-21 10:22                               ` Sascha Hauer
2013-07-21 10:22                               ` Sascha Hauer
2013-07-21 15:48                               ` Greg KH
2013-07-21 15:48                                 ` Greg KH
2013-07-21 15:48                                 ` Greg KH
2013-07-21 17:14                                 ` Sylwester Nawrocki
2013-07-21 17:14                                   ` Sylwester Nawrocki
2013-07-21 17:14                                   ` Sylwester Nawrocki
2013-07-21 19:22                                   ` Alan Stern
2013-07-21 19:22                                     ` Alan Stern
2013-07-21 19:22                                     ` Alan Stern
2013-07-21 19:22                                     ` Alan Stern
2013-07-22  7:25                                     ` Kishon Vijay Abraham I
2013-07-22  7:37                                       ` Kishon Vijay Abraham I
2013-07-22  7:25                                       ` Kishon Vijay Abraham I
2013-07-22  7:25                                       ` Kishon Vijay Abraham I
2013-07-22 14:44                                       ` Alan Stern
2013-07-22 14:44                                         ` Alan Stern
2013-07-22 14:44                                         ` Alan Stern
2013-07-22 14:44                                         ` Alan Stern
2013-07-23  5:47                                         ` Kishon Vijay Abraham I
2013-07-23  5:59                                           ` Kishon Vijay Abraham I
2013-07-23  5:47                                           ` Kishon Vijay Abraham I
2013-07-23  5:47                                           ` Kishon Vijay Abraham I
2013-07-23  7:29                                         ` Tomasz Figa
2013-07-23  7:29                                           ` Tomasz Figa
2013-07-23  7:29                                           ` Tomasz Figa
2013-07-23  7:55                                           ` Tomasz Figa
2013-07-23  7:55                                             ` Tomasz Figa
2013-07-23  7:55                                             ` Tomasz Figa
2013-07-23 14:37                                             ` Alan Stern
2013-07-23 14:37                                               ` Alan Stern
2013-07-23 14:37                                               ` Alan Stern
2013-07-23 14:37                                               ` Alan Stern
2013-07-23 14:50                                               ` Tomasz Figa
2013-07-23 14:50                                                 ` Tomasz Figa
2013-07-23 14:50                                                 ` Tomasz Figa
2013-07-23 14:50                                                 ` Tomasz Figa
2013-07-23 15:18                                               ` Kishon Vijay Abraham I
2013-07-23 15:30                                                 ` Kishon Vijay Abraham I
2013-07-23 15:18                                                 ` Kishon Vijay Abraham I
2013-07-23 15:18                                                 ` Kishon Vijay Abraham I
2013-07-23 16:18                                                 ` Greg KH
2013-07-23 16:18                                                   ` Greg KH
2013-07-23 16:18                                                   ` Greg KH
2013-07-23 16:18                                                   ` Greg KH
2013-07-23 16:28                                                   ` Kishon Vijay Abraham I
2013-07-23 16:40                                                     ` Kishon Vijay Abraham I
2013-07-23 16:28                                                     ` Kishon Vijay Abraham I
2013-07-23 16:28                                                     ` Kishon Vijay Abraham I
2013-07-23 16:35                                                     ` Greg KH
2013-07-23 16:35                                                       ` Greg KH
2013-07-23 16:35                                                       ` Greg KH
2013-07-23 16:35                                                       ` Greg KH
2013-07-23 16:50                                                   ` Tomasz Figa
2013-07-23 16:50                                                     ` Tomasz Figa
2013-07-23 16:50                                                     ` Tomasz Figa
2013-07-23 16:50                                                     ` Tomasz Figa
2013-07-23 17:37                                                     ` Greg KH
2013-07-23 17:37                                                       ` Greg KH
2013-07-23 17:37                                                       ` Greg KH
2013-07-23 17:37                                                       ` Greg KH
2013-07-23 17:44                                                       ` Mark Brown
2013-07-23 17:44                                                         ` Mark Brown
2013-07-23 17:44                                                         ` Mark Brown
2013-07-23 17:44                                                         ` Mark Brown
2013-07-23 18:01                                                         ` Greg KH
2013-07-23 18:01                                                           ` Greg KH
2013-07-23 18:01                                                           ` Greg KH
2013-07-23 18:01                                                           ` Greg KH
2013-07-23 19:31                                                           ` Mark Brown
2013-07-23 19:31                                                             ` Mark Brown
2013-07-23 19:31                                                             ` Mark Brown
2013-07-23 19:31                                                             ` Mark Brown
2013-07-23 19:44                                                             ` Greg KH
2013-07-23 19:44                                                               ` Greg KH
2013-07-23 19:44                                                               ` Greg KH
2013-07-23 19:44                                                               ` Greg KH
2013-07-23 20:07                                                               ` Tomasz Figa
2013-07-23 20:07                                                                 ` Tomasz Figa
2013-07-23 20:07                                                                 ` Tomasz Figa
2013-07-23 20:07                                                                 ` Tomasz Figa
2013-07-23 20:50                                                                 ` Greg KH
2013-07-23 20:50                                                                   ` Greg KH
2013-07-23 20:50                                                                   ` Greg KH
2013-07-23 20:50                                                                   ` Greg KH
2013-07-23 21:05                                                                   ` Tomasz Figa
2013-07-23 21:05                                                                     ` Tomasz Figa
2013-07-23 21:05                                                                     ` Tomasz Figa
2013-07-23 21:05                                                                     ` Tomasz Figa
2013-07-23 21:23                                                                     ` Greg KH
2013-07-23 21:23                                                                       ` Greg KH
2013-07-23 21:23                                                                       ` Greg KH
2013-07-23 21:23                                                                       ` Greg KH
2013-07-23 23:48                                                               ` Mark Brown
2013-07-23 23:48                                                                 ` Mark Brown
2013-07-23 23:48                                                                 ` Mark Brown
2013-07-23 23:48                                                                 ` Mark Brown
2013-07-23 17:48                                                       ` Tomasz Figa
2013-07-23 17:48                                                         ` Tomasz Figa
2013-07-23 17:48                                                         ` Tomasz Figa
2013-07-23 17:48                                                         ` Tomasz Figa
2013-07-23 18:04                                                         ` Greg KH
2013-07-23 18:04                                                           ` Greg KH
2013-07-23 18:04                                                           ` Greg KH
2013-07-23 18:04                                                           ` Greg KH
2013-07-23 20:46                                                           ` Tomasz Figa
2013-07-23 20:46                                                             ` Tomasz Figa
2013-07-23 20:46                                                             ` Tomasz Figa
2013-07-23 20:46                                                             ` Tomasz Figa
2013-07-23 19:36                                                     ` Alan Stern
2013-07-23 19:36                                                       ` Alan Stern
2013-07-23 19:36                                                       ` Alan Stern
2013-07-23 19:36                                                       ` Alan Stern
2013-07-23 20:20                                                       ` Tomasz Figa
2013-07-23 20:20                                                         ` Tomasz Figa
2013-07-23 20:20                                                         ` Tomasz Figa
2013-07-23 20:20                                                         ` Tomasz Figa
2013-07-23 20:53                                                         ` Alan Stern
2013-07-23 20:53                                                           ` Alan Stern
2013-07-23 20:53                                                           ` Alan Stern
2013-07-23 20:53                                                           ` Alan Stern
2013-07-23 21:02                                                           ` Tomasz Figa
2013-07-23 21:02                                                             ` Tomasz Figa
2013-07-23 21:02                                                             ` Tomasz Figa
2013-07-23 21:02                                                             ` Tomasz Figa
2013-07-23 21:14                                                             ` Alan Stern
2013-07-23 21:14                                                               ` Alan Stern
2013-07-23 21:14                                                               ` Alan Stern
2013-07-23 21:14                                                               ` Alan Stern
2013-07-23 21:31                                                               ` Tomasz Figa
2013-07-23 21:31                                                                 ` Tomasz Figa
2013-07-23 21:31                                                                 ` Tomasz Figa
2013-07-23 21:31                                                                 ` Tomasz Figa
2013-07-24 18:32                                                                 ` Arnd Bergmann
2013-07-24 18:32                                                                   ` Arnd Bergmann
2013-07-24 18:32                                                                   ` Arnd Bergmann
2013-07-24 18:32                                                                   ` Arnd Bergmann
2013-07-25  5:11                                                                   ` Kishon Vijay Abraham I
2013-07-25  5:11                                                                     ` Kishon Vijay Abraham I
2013-07-25  7:54                                                                     ` Arnd Bergmann
2013-07-25  7:54                                                                       ` Arnd Bergmann
2013-07-25  7:54                                                                       ` Arnd Bergmann
2013-07-25  7:54                                                                       ` Arnd Bergmann
2013-07-25  9:29                                                                   ` Sylwester Nawrocki
2013-07-25  9:29                                                                     ` Sylwester Nawrocki
2013-07-25  9:29                                                                     ` Sylwester Nawrocki
2013-07-25  9:29                                                                     ` Sylwester Nawrocki
2013-07-25  9:29                                                                   ` Mark Brown
2013-07-25  9:29                                                                     ` Mark Brown
2013-07-25  9:29                                                                     ` Mark Brown
2013-07-25  9:29                                                                     ` Mark Brown
2013-07-25 10:11                                                                     ` Kishon Vijay Abraham I
2013-07-25 10:11                                                                       ` Kishon Vijay Abraham I
2013-07-25 10:16                                                                   ` Laurent Pinchart
2013-07-25 10:16                                                                     ` Laurent Pinchart
2013-07-25 10:16                                                                     ` Laurent Pinchart
2013-07-25 10:16                                                                     ` Laurent Pinchart
2013-07-25 10:26                                                                     ` Florian Fainelli
2013-07-25 10:26                                                                       ` Florian Fainelli
2013-07-25 11:00                                                                     ` Arnd Bergmann
2013-07-25 11:00                                                                       ` Arnd Bergmann
2013-07-25 11:00                                                                       ` Arnd Bergmann
2013-07-25 11:00                                                                       ` Arnd Bergmann
2013-07-25 11:10                                                                       ` Laurent Pinchart
2013-07-25 11:10                                                                         ` Laurent Pinchart
2013-07-25 11:10                                                                         ` Laurent Pinchart
2013-07-25 11:10                                                                         ` Laurent Pinchart
2013-07-25 12:09                                                                       ` Mark Brown
2013-07-25 12:09                                                                         ` Mark Brown
2013-07-25 12:09                                                                         ` Mark Brown
2013-07-25 12:09                                                                         ` Mark Brown
2013-07-23 17:34                                               ` Mark Brown
2013-07-23 17:34                                                 ` Mark Brown
2013-07-23 17:34                                                 ` Mark Brown
2013-07-23 17:34                                                 ` Mark Brown
2013-07-22 15:04                                       ` Greg KH
2013-07-22 15:04                                         ` Greg KH
2013-07-22 15:04                                         ` Greg KH
2013-07-23  5:34                                         ` Kishon Vijay Abraham I
2013-07-23  5:46                                           ` Kishon Vijay Abraham I
2013-07-23  5:34                                           ` Kishon Vijay Abraham I
2013-07-23  5:34                                           ` Kishon Vijay Abraham I
2013-07-21 10:31                             ` Tomasz Figa
2013-07-21 10:31                               ` Tomasz Figa
2013-07-21 10:31                               ` Tomasz Figa
2013-07-21 11:07                               ` Kishon Vijay Abraham I
2013-07-21 11:19                                 ` Kishon Vijay Abraham I
2013-07-21 11:07                                 ` Kishon Vijay Abraham I
2013-07-21 11:07                                 ` Kishon Vijay Abraham I
2013-07-21 11:12                                 ` Tomasz Figa
2013-07-21 11:12                                   ` Tomasz Figa
2013-07-21 11:12                                   ` Tomasz Figa
2013-07-21 15:46                                   ` Greg KH
2013-07-21 15:46                                     ` Greg KH
2013-07-21 15:46                                     ` Greg KH
2013-07-21 15:46                                     ` Greg KH
2013-07-30  7:11                                     ` Felipe Balbi [this message]
2013-07-30  7:11                                       ` Felipe Balbi
2013-07-30  7:11                                       ` Felipe Balbi
2013-07-30  7:11                                       ` Felipe Balbi
2013-07-31  5:44                                       ` Kishon Vijay Abraham I
2013-07-31  5:56                                         ` Kishon Vijay Abraham I
2013-07-31  5:44                                         ` Kishon Vijay Abraham I
2013-07-31  5:44                                         ` Kishon Vijay Abraham I
2013-07-31  6:15                                         ` Felipe Balbi
2013-07-31  6:15                                           ` Felipe Balbi
2013-07-31  6:15                                           ` Felipe Balbi
2013-07-31  6:15                                           ` Felipe Balbi
2013-08-13 10:44                                           ` Kishon Vijay Abraham I
2013-08-13 10:56                                             ` Kishon Vijay Abraham I
2013-08-13 10:44                                             ` Kishon Vijay Abraham I
2013-08-13 10:44                                             ` Kishon Vijay Abraham I
2013-08-13 11:37                                             ` Tomasz Figa
2013-08-13 11:37                                               ` Tomasz Figa
2013-08-13 11:37                                               ` Tomasz Figa
2013-08-13 12:05                                               ` Kishon Vijay Abraham I
2013-08-13 12:17                                                 ` Kishon Vijay Abraham I
2013-08-13 12:05                                                 ` Kishon Vijay Abraham I
2013-08-13 12:05                                                 ` Kishon Vijay Abraham I
2013-08-13 22:19                                                 ` Sylwester Nawrocki
2013-08-13 22:19                                                   ` Sylwester Nawrocki
2013-08-13 22:19                                                   ` Sylwester Nawrocki
2013-08-13 23:04                                                   ` Tomasz Figa
2013-08-13 23:04                                                     ` Tomasz Figa
2013-08-13 23:04                                                     ` Tomasz Figa
2013-08-14 15:05                                                     ` Kishon Vijay Abraham I
2013-08-14 15:17                                                       ` Kishon Vijay Abraham I
2013-08-14 15:05                                                       ` Kishon Vijay Abraham I
2013-08-14 15:05                                                       ` Kishon Vijay Abraham I
2013-08-19  5:28                                                       ` Kishon Vijay Abraham I
2013-08-19  5:40                                                         ` Kishon Vijay Abraham I
2013-08-19  5:28                                                         ` Kishon Vijay Abraham I
2013-08-19  5:28                                                         ` Kishon Vijay Abraham I
2013-08-20 12:26                                                         ` Felipe Balbi
2013-08-20 12:26                                                           ` Felipe Balbi
2013-08-20 12:26                                                           ` Felipe Balbi
2013-08-20 12:26                                                           ` Felipe Balbi
2013-07-18  6:46 ` [PATCH 02/15] usb: phy: omap-usb2: use the new " Kishon Vijay Abraham I
2013-07-18  6:58   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  7:21   ` Greg KH
2013-07-18  7:21     ` Greg KH
2013-07-18  7:21     ` Greg KH
2013-07-18  9:00     ` Kishon Vijay Abraham I
2013-07-18  9:12       ` Kishon Vijay Abraham I
2013-07-18  9:00       ` Kishon Vijay Abraham I
2013-07-18  9:00       ` Kishon Vijay Abraham I
2013-07-18  6:46 ` [PATCH 03/15] usb: phy: twl4030: " Kishon Vijay Abraham I
2013-07-18  6:58   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46 ` [PATCH 04/15] ARM: OMAP: USB: Add phy binding information Kishon Vijay Abraham I
2013-07-18  6:58   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  7:02   ` Tony Lindgren
2013-07-18  7:02     ` Tony Lindgren
2013-07-18  7:02     ` Tony Lindgren
2013-07-18  7:02     ` Tony Lindgren
2013-07-18  6:46 ` [PATCH 05/15] ARM: dts: omap: update usb_otg_hs data Kishon Vijay Abraham I
2013-07-18  6:58   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  7:05   ` Tony Lindgren
2013-07-18  7:05     ` Tony Lindgren
2013-07-18  7:05     ` Tony Lindgren
2013-07-18  6:46 ` [PATCH 06/15] usb: musb: omap2430: use the new generic PHY framework Kishon Vijay Abraham I
2013-07-18  6:58   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46 ` [PATCH 07/15] usb: phy: omap-usb2: remove *set_suspend* callback from omap-usb2 Kishon Vijay Abraham I
2013-07-18  6:58   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46 ` [PATCH 08/15] usb: phy: twl4030-usb: remove *set_suspend* and *phy_init* ops Kishon Vijay Abraham I
2013-07-18  6:58   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46 ` [PATCH 09/15] phy: Add driver for Exynos MIPI CSIS/DSIM DPHYs Kishon Vijay Abraham I
2013-07-18  6:58   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46 ` [PATCH 10/15] video: exynos_mipi_dsim: Use the generic PHY driver Kishon Vijay Abraham I
2013-07-18  6:58   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46 ` [PATCH 11/15] exynos4-is: Use the generic MIPI CSIS " Kishon Vijay Abraham I
2013-07-18  6:58   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46 ` [PATCH 12/15] ARM: Samsung: Remove the MIPI PHY setup code Kishon Vijay Abraham I
2013-07-18  6:58   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46 ` [PATCH 13/15] phy: Add driver for Exynos DP PHY Kishon Vijay Abraham I
2013-07-18  6:58   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46 ` [PATCH 14/15] video: exynos_dp: remove non-DT support for Exynos Display Port Kishon Vijay Abraham I
2013-07-18  6:58   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46 ` [PATCH 15/15] video: exynos_dp: Use the generic PHY driver Kishon Vijay Abraham I
2013-07-18  6:58   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I
2013-07-18  6:46   ` Kishon Vijay Abraham I

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=20130730071106.GC16441@radagast \
    --to=balbi@ti.com \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=balajitk@ti.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=george.cherian@ti.com \
    --cc=grant.likely@linaro.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jg1.han@samsung.com \
    --cc=kgene.kim@samsung.com \
    --cc=kishon@ti.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=nsekhar@ti.com \
    --cc=s.nawrocki@samsung.com \
    --cc=stern@rowland.harvard.edu \
    --cc=swarren@nvidia.com \
    --cc=tomasz.figa@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.