[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <51EEAF32.4040905@ti.com>
Date: Tue, 23 Jul 2013 21:58:34 +0530
From: Kishon Vijay Abraham I <kishon@...com>
To: Greg KH <gregkh@...uxfoundation.org>
CC: Alan Stern <stern@...land.harvard.edu>,
Tomasz Figa <tomasz.figa@...il.com>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
<broonie@...nel.org>,
Sylwester Nawrocki <sylvester.nawrocki@...il.com>,
Sascha Hauer <s.hauer@...gutronix.de>,
<kyungmin.park@...sung.com>, <balbi@...com>, <jg1.han@...sung.com>,
<s.nawrocki@...sung.com>, <kgene.kim@...sung.com>,
<grant.likely@...aro.org>, <tony@...mide.com>, <arnd@...db.de>,
<swarren@...dia.com>, <devicetree@...r.kernel.org>,
<linux-doc@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-samsung-soc@...r.kernel.org>, <linux-omap@...r.kernel.org>,
<linux-usb@...r.kernel.org>, <linux-media@...r.kernel.org>,
<linux-fbdev@...r.kernel.org>, <akpm@...ux-foundation.org>,
<balajitk@...com>, <george.cherian@...com>, <nsekhar@...com>,
<olof@...om.net>, Stephen Warren <swarren@...dotorg.org>,
<b.zolnierkie@...sung.com>,
Daniel Lezcano <daniel.lezcano@...aro.org>
Subject: Re: [PATCH 01/15] drivers: phy: add generic PHY framework
Hi Greg,
On Tuesday 23 July 2013 09:48 PM, Greg KH wrote:
> On Tue, Jul 23, 2013 at 08:48:24PM +0530, Kishon Vijay Abraham I wrote:
>> Hi,
>>
>> On Tuesday 23 July 2013 08:07 PM, Alan Stern wrote:
>>> On Tue, 23 Jul 2013, Tomasz Figa wrote:
>>>
>>>> On Tuesday 23 of July 2013 09:29:32 Tomasz Figa wrote:
>>>>> Hi Alan,
>>>
>>> Thanks for helping to clarify the issues here.
>>>
>>>>>> Okay. Are PHYs _always_ platform devices?
>>>>>
>>>>> They can be i2c, spi or any other device types as well.
>>>
>>> In those other cases, presumably there is no platform data associated
>>> with the PHY since it isn't a platform device. Then how does the
>>> kernel know which controller is attached to the PHY? Is this spelled
>>> out in platform data associated with the PHY's i2c/spi/whatever parent?
.
.
<snip>
.
.
>>
>> static struct phy *phy_lookup(void *priv) {
>> .
>> .
>> if (phy->priv==priv) //instead of string comparison, we'll use pointer
>> return phy;
>> }
>>
>> PHY driver should be like
>> phy_create((dev, ops, pdata->info);
>>
>> The controller driver would do
>> phy_get(dev, NULL, pdata->info);
>>
>> Now the PHY framework will check for a match of *priv* pointer and return the PHY.
>>
>> I think this should be possible?
>
> Ick, no. Why can't you just pass the pointer to the phy itself? If you
> had a "priv" pointer to search from, then you could have just passed the
> original phy pointer in the first place, right?
>
> The issue is that a string "name" is not going to scale at all, as it
> requires hard-coded information that will change over time (as the
> existing clock interface is already showing.)
>
> Please just pass the real "phy" pointer around, that's what it is there
> for. Your "board binding" logic/code should be able to handle this, as
> it somehow was going to do the same thing with a "name".
The problem is the board file won't have the *phy* pointer. *phy* pointer is
created at a much later time when the phy driver is probed.
Thanks
Kishon
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists