From: Kishon Vijay Abraham I <kishon@ti.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: grant.likely@linaro.org, tony@atomide.com, balbi@ti.com,
arnd@arndb.de, swarren@nvidia.com, sylvester.nawrocki@gmail.com,
linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-usb@vger.kernel.org,
akpm@linux-foundation.org, rob.herring@calxeda.com,
rob@landley.net, linux@arm.linux.org.uk,
benoit.cousson@linaro.org, mchehab@redhat.com, cesarb@cesarb.net,
davem@davemloft.net, rnayak@ti.com, shawn.guo@linaro.org,
santosh.shilimkar@ti.com, devicetree-discuss@lists.ozlabs.org,
linux-doc@vger.kernel.org, nsekhar@ti.com, balajitk@ti.com,
george.cherian@ti.com
Subject: Re: [PATCH v9 1/8] drivers: phy: add generic PHY framework
Date: Thu, 18 Jul 2013 11:33:17 +0530 [thread overview]
Message-ID: <51E78525.9000802@ti.com> (raw)
In-Reply-To: <20130717172510.GB17093@kroah.com>
Hi,
On Wednesday 17 July 2013 10:55 PM, Greg KH wrote:
> On Wed, Jul 17, 2013 at 03:02:59PM +0530, Kishon Vijay Abraham I wrote:
>> Hi,
>>
>> On Wednesday 17 July 2013 11:59 AM, Greg KH wrote:
>>> On Wed, Jun 26, 2013 at 05:17:29PM +0530, Kishon Vijay Abraham I wrote:
>>>> +menuconfig GENERIC_PHY
>>>> + tristate "PHY Subsystem"
>>>> + help
>>>> + Generic PHY support.
>>>> +
>>>> + This framework is designed to provide a generic interface for PHY
>>>> + devices present in the kernel. This layer will have the generic
>>>> + API by which phy drivers can create PHY using the phy framework and
>>>> + phy users can obtain reference to the PHY.
>>>
>>> Shouldn't this be something that other drivers select? How will anyone
>>> know if they need this or not?
>>
>> All the PHY drivers should go here. So only if *GENERIC_PHY* is enabled those
>> PHY drivers can be selected like in [1].
>> The PHY consumer driver should ideally use *depends on* in their Kconfig.
>>
>> [1] ->
>> http://archive.arm.linux.org.uk/lurker/message/20130628.134308.4a8f7668.ca.html
>
> No, switch it around the other way. How would I even _know_ that I need
> to enable the generic PHY subsystem in the first place? How can I
> determine that I need this for my hardware? You need to give hints to
> someone who doesn't even know what a PHY is, otherwise they will always
> disable it and move on.
>
>>>> --- /dev/null
>>>> +++ b/drivers/phy/phy-core.c
>>>> @@ -0,0 +1,544 @@
>>>> +/*
>>>> + * phy-core.c -- Generic Phy framework.
>>>> + *
>>>> + * Copyright (C) 2013 Texas Instruments
>>>> + *
>>>> + * Author: Kishon Vijay Abraham I <kishon@ti.com>
>>>> + *
>>>> + * This program is free software; you can redistribute it and/or modify it
>>>> + * under the terms of the GNU General Public License as published by the
>>>> + * Free Software Foundation; either version 2 of the License, or (at your
>>>> + * option) any later version.
>>>
>>> You really mean "any later version" (I have to ask)?
>>
>> That was copied from somewhere :-s
>
> So, is that what you really mean to have for this code?
indeed.
>
>>>> + * This program is distributed in the hope that it will be useful,
>>>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>>>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
>>>> + * GNU General Public License for more details.
>>>> + *
>>>> + * You should have received a copy of the GNU General Public License
>>>> + * along with this program. If not, see <http://www.gnu.org/licenses/>.
>>>
>>> Are these two paragraphs needed? This isn't a "program", and they got a
>>> copy of the GPL already with the kernel.
>>
>> hmm.. I can remove that.
>>>
>>>> +static struct class *phy_class;
>>>
>>> Why do you need a class?
>>
>> Wanted to group all the PHY drivers to be used by different subsystems
>> (SATA/USB/PCIE/HDMI/VIDEO) into a single entity. There were some comments in my
>> initial version [3] on using a bus_type instead of class but then it was
>> decided to go with class itself.
>>
>> [3] -> http://lkml.indiana.edu/hypermail/linux/kernel/1302.2/01389.html
>
> Ok, but what does the class usage get you?
hmm.. actually I use class only to iterate through the list of devices in *phy*
class which could very well be implemented using list. Just that I wont have a
/sys/class/phy/ entry to find the list of phys added in the system. I dont
think I want to add any other stuff to expose to the user space at this point
of time.
>
>>> When modifying/adding new sysfs stuff, you need a Documentation/ABI/
>>> entry as well.
>>
>> I'm not actually adding any new sysfs entry other than what a *class_create*
>> must have created. Do I need to add one for that?
>
> If you are not creating anything in sysfs at all, why use the driver
> model? (hint, I think you need to do something here to justify it...)
Well.. it helps me to use pm_runtime to enable clocks utilizing the
parent-child relationship.
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 v9 1/8] drivers: phy: add generic PHY framework
Date: Thu, 18 Jul 2013 11:33:17 +0530 [thread overview]
Message-ID: <51E78525.9000802@ti.com> (raw)
In-Reply-To: <20130717172510.GB17093@kroah.com>
Hi,
On Wednesday 17 July 2013 10:55 PM, Greg KH wrote:
> On Wed, Jul 17, 2013 at 03:02:59PM +0530, Kishon Vijay Abraham I wrote:
>> Hi,
>>
>> On Wednesday 17 July 2013 11:59 AM, Greg KH wrote:
>>> On Wed, Jun 26, 2013 at 05:17:29PM +0530, Kishon Vijay Abraham I wrote:
>>>> +menuconfig GENERIC_PHY
>>>> + tristate "PHY Subsystem"
>>>> + help
>>>> + Generic PHY support.
>>>> +
>>>> + This framework is designed to provide a generic interface for PHY
>>>> + devices present in the kernel. This layer will have the generic
>>>> + API by which phy drivers can create PHY using the phy framework and
>>>> + phy users can obtain reference to the PHY.
>>>
>>> Shouldn't this be something that other drivers select? How will anyone
>>> know if they need this or not?
>>
>> All the PHY drivers should go here. So only if *GENERIC_PHY* is enabled those
>> PHY drivers can be selected like in [1].
>> The PHY consumer driver should ideally use *depends on* in their Kconfig.
>>
>> [1] ->
>> http://archive.arm.linux.org.uk/lurker/message/20130628.134308.4a8f7668.ca.html
>
> No, switch it around the other way. How would I even _know_ that I need
> to enable the generic PHY subsystem in the first place? How can I
> determine that I need this for my hardware? You need to give hints to
> someone who doesn't even know what a PHY is, otherwise they will always
> disable it and move on.
>
>>>> --- /dev/null
>>>> +++ b/drivers/phy/phy-core.c
>>>> @@ -0,0 +1,544 @@
>>>> +/*
>>>> + * phy-core.c -- Generic Phy framework.
>>>> + *
>>>> + * Copyright (C) 2013 Texas Instruments
>>>> + *
>>>> + * Author: Kishon Vijay Abraham I <kishon@ti.com>
>>>> + *
>>>> + * This program is free software; you can redistribute it and/or modify it
>>>> + * under the terms of the GNU General Public License as published by the
>>>> + * Free Software Foundation; either version 2 of the License, or (at your
>>>> + * option) any later version.
>>>
>>> You really mean "any later version" (I have to ask)?
>>
>> That was copied from somewhere :-s
>
> So, is that what you really mean to have for this code?
indeed.
>
>>>> + * This program is distributed in the hope that it will be useful,
>>>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>>>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
>>>> + * GNU General Public License for more details.
>>>> + *
>>>> + * You should have received a copy of the GNU General Public License
>>>> + * along with this program. If not, see <http://www.gnu.org/licenses/>.
>>>
>>> Are these two paragraphs needed? This isn't a "program", and they got a
>>> copy of the GPL already with the kernel.
>>
>> hmm.. I can remove that.
>>>
>>>> +static struct class *phy_class;
>>>
>>> Why do you need a class?
>>
>> Wanted to group all the PHY drivers to be used by different subsystems
>> (SATA/USB/PCIE/HDMI/VIDEO) into a single entity. There were some comments in my
>> initial version [3] on using a bus_type instead of class but then it was
>> decided to go with class itself.
>>
>> [3] -> http://lkml.indiana.edu/hypermail/linux/kernel/1302.2/01389.html
>
> Ok, but what does the class usage get you?
hmm.. actually I use class only to iterate through the list of devices in *phy*
class which could very well be implemented using list. Just that I wont have a
/sys/class/phy/ entry to find the list of phys added in the system. I dont
think I want to add any other stuff to expose to the user space at this point
of time.
>
>>> When modifying/adding new sysfs stuff, you need a Documentation/ABI/
>>> entry as well.
>>
>> I'm not actually adding any new sysfs entry other than what a *class_create*
>> must have created. Do I need to add one for that?
>
> If you are not creating anything in sysfs at all, why use the driver
> model? (hint, I think you need to do something here to justify it...)
Well.. it helps me to use pm_runtime to enable clocks utilizing the
parent-child relationship.
Thanks
Kishon
WARNING: multiple messages have this Message-ID (diff)
From: Kishon Vijay Abraham I <kishon@ti.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: <grant.likely@linaro.org>, <tony@atomide.com>, <balbi@ti.com>,
<arnd@arndb.de>, <swarren@nvidia.com>,
<sylvester.nawrocki@gmail.com>, <linux-kernel@vger.kernel.org>,
<linux-omap@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-usb@vger.kernel.org>, <akpm@linux-foundation.org>,
<rob.herring@calxeda.com>, <rob@landley.net>,
<linux@arm.linux.org.uk>, <benoit.cousson@linaro.org>,
<mchehab@redhat.com>, <cesarb@cesarb.net>, <davem@davemloft.net>,
<rnayak@ti.com>, <shawn.guo@linaro.org>,
<santosh.shilimkar@ti.com>, <devicetree-discuss@lists.ozlabs.org>,
<linux-doc@vger.kernel.org>, <nsekhar@ti.com>, <balajitk@ti.com>,
<george.cherian@ti.com>
Subject: Re: [PATCH v9 1/8] drivers: phy: add generic PHY framework
Date: Thu, 18 Jul 2013 11:33:17 +0530 [thread overview]
Message-ID: <51E78525.9000802@ti.com> (raw)
In-Reply-To: <20130717172510.GB17093@kroah.com>
Hi,
On Wednesday 17 July 2013 10:55 PM, Greg KH wrote:
> On Wed, Jul 17, 2013 at 03:02:59PM +0530, Kishon Vijay Abraham I wrote:
>> Hi,
>>
>> On Wednesday 17 July 2013 11:59 AM, Greg KH wrote:
>>> On Wed, Jun 26, 2013 at 05:17:29PM +0530, Kishon Vijay Abraham I wrote:
>>>> +menuconfig GENERIC_PHY
>>>> + tristate "PHY Subsystem"
>>>> + help
>>>> + Generic PHY support.
>>>> +
>>>> + This framework is designed to provide a generic interface for PHY
>>>> + devices present in the kernel. This layer will have the generic
>>>> + API by which phy drivers can create PHY using the phy framework and
>>>> + phy users can obtain reference to the PHY.
>>>
>>> Shouldn't this be something that other drivers select? How will anyone
>>> know if they need this or not?
>>
>> All the PHY drivers should go here. So only if *GENERIC_PHY* is enabled those
>> PHY drivers can be selected like in [1].
>> The PHY consumer driver should ideally use *depends on* in their Kconfig.
>>
>> [1] ->
>> http://archive.arm.linux.org.uk/lurker/message/20130628.134308.4a8f7668.ca.html
>
> No, switch it around the other way. How would I even _know_ that I need
> to enable the generic PHY subsystem in the first place? How can I
> determine that I need this for my hardware? You need to give hints to
> someone who doesn't even know what a PHY is, otherwise they will always
> disable it and move on.
>
>>>> --- /dev/null
>>>> +++ b/drivers/phy/phy-core.c
>>>> @@ -0,0 +1,544 @@
>>>> +/*
>>>> + * phy-core.c -- Generic Phy framework.
>>>> + *
>>>> + * Copyright (C) 2013 Texas Instruments
>>>> + *
>>>> + * Author: Kishon Vijay Abraham I <kishon@ti.com>
>>>> + *
>>>> + * This program is free software; you can redistribute it and/or modify it
>>>> + * under the terms of the GNU General Public License as published by the
>>>> + * Free Software Foundation; either version 2 of the License, or (at your
>>>> + * option) any later version.
>>>
>>> You really mean "any later version" (I have to ask)?
>>
>> That was copied from somewhere :-s
>
> So, is that what you really mean to have for this code?
indeed.
>
>>>> + * This program is distributed in the hope that it will be useful,
>>>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>>>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
>>>> + * GNU General Public License for more details.
>>>> + *
>>>> + * You should have received a copy of the GNU General Public License
>>>> + * along with this program. If not, see <http://www.gnu.org/licenses/>.
>>>
>>> Are these two paragraphs needed? This isn't a "program", and they got a
>>> copy of the GPL already with the kernel.
>>
>> hmm.. I can remove that.
>>>
>>>> +static struct class *phy_class;
>>>
>>> Why do you need a class?
>>
>> Wanted to group all the PHY drivers to be used by different subsystems
>> (SATA/USB/PCIE/HDMI/VIDEO) into a single entity. There were some comments in my
>> initial version [3] on using a bus_type instead of class but then it was
>> decided to go with class itself.
>>
>> [3] -> http://lkml.indiana.edu/hypermail/linux/kernel/1302.2/01389.html
>
> Ok, but what does the class usage get you?
hmm.. actually I use class only to iterate through the list of devices in *phy*
class which could very well be implemented using list. Just that I wont have a
/sys/class/phy/ entry to find the list of phys added in the system. I dont
think I want to add any other stuff to expose to the user space at this point
of time.
>
>>> When modifying/adding new sysfs stuff, you need a Documentation/ABI/
>>> entry as well.
>>
>> I'm not actually adding any new sysfs entry other than what a *class_create*
>> must have created. Do I need to add one for that?
>
> If you are not creating anything in sysfs at all, why use the driver
> model? (hint, I think you need to do something here to justify it...)
Well.. it helps me to use pm_runtime to enable clocks utilizing the
parent-child relationship.
Thanks
Kishon
next prev parent reply other threads:[~2013-07-18 6:03 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-26 11:47 [PATCH v9 0/8] Generic PHY Framework Kishon Vijay Abraham I
2013-06-26 11:47 ` Kishon Vijay Abraham I
2013-06-26 11:47 ` Kishon Vijay Abraham I
[not found] ` <1372247257-30186-1-git-send-email-kishon-l0cyMroinI0@public.gmane.org>
2013-06-26 11:47 ` [PATCH v9 1/8] drivers: phy: add generic PHY framework Kishon Vijay Abraham I
2013-06-26 11:47 ` Kishon Vijay Abraham I
2013-06-26 11:47 ` Kishon Vijay Abraham I
2013-06-26 12:10 ` Felipe Balbi
2013-06-26 12:10 ` Felipe Balbi
2013-06-26 12:10 ` Felipe Balbi
2013-07-17 6:29 ` Greg KH
2013-07-17 6:29 ` Greg KH
2013-07-17 9:32 ` Kishon Vijay Abraham I
2013-07-17 9:32 ` Kishon Vijay Abraham I
2013-07-17 9:32 ` Kishon Vijay Abraham I
2013-07-17 17:25 ` Greg KH
2013-07-17 17:25 ` Greg KH
2013-07-18 6:03 ` Kishon Vijay Abraham I [this message]
2013-07-18 6:03 ` Kishon Vijay Abraham I
2013-07-18 6:03 ` Kishon Vijay Abraham I
2013-07-18 6:24 ` Greg KH
2013-07-18 6:24 ` Greg KH
2013-07-18 6:27 ` Kishon Vijay Abraham I
2013-07-18 6:27 ` Kishon Vijay Abraham I
2013-07-18 6:27 ` Kishon Vijay Abraham I
2013-06-26 11:47 ` [PATCH v9 2/8] usb: phy: omap-usb2: use the new " Kishon Vijay Abraham I
2013-06-26 11:47 ` Kishon Vijay Abraham I
2013-06-26 11:47 ` Kishon Vijay Abraham I
2013-06-26 11:47 ` [PATCH v9 3/8] usb: phy: twl4030: " Kishon Vijay Abraham I
2013-06-26 11:47 ` Kishon Vijay Abraham I
2013-06-26 11:47 ` Kishon Vijay Abraham I
2013-06-26 11:47 ` [PATCH v9 4/8] ARM: OMAP: USB: Add phy binding information Kishon Vijay Abraham I
2013-06-26 11:47 ` Kishon Vijay Abraham I
2013-06-26 11:47 ` Kishon Vijay Abraham I
2013-06-26 11:47 ` [PATCH v9 5/8] ARM: dts: omap: update usb_otg_hs data Kishon Vijay Abraham I
2013-06-26 11:47 ` Kishon Vijay Abraham I
2013-06-26 11:47 ` Kishon Vijay Abraham I
2013-06-26 11:47 ` [PATCH v9 6/8] usb: musb: omap2430: use the new generic PHY framework Kishon Vijay Abraham I
2013-06-26 11:47 ` Kishon Vijay Abraham I
2013-06-26 11:47 ` Kishon Vijay Abraham I
2013-06-26 11:47 ` [PATCH v9 7/8] usb: phy: omap-usb2: remove *set_suspend* callback from omap-usb2 Kishon Vijay Abraham I
2013-06-26 11:47 ` Kishon Vijay Abraham I
2013-06-26 11:47 ` Kishon Vijay Abraham I
2013-06-26 11:47 ` [PATCH v9 8/8] usb: phy: twl4030-usb: remove *set_suspend* and *phy_init* ops Kishon Vijay Abraham I
2013-06-26 11:47 ` Kishon Vijay Abraham I
2013-06-26 11:47 ` Kishon Vijay Abraham I
2013-07-03 9:32 ` [PATCH v9 0/8] Generic PHY Framework Patel, Satish
2013-07-03 9:32 ` Patel, Satish
[not found] ` <780E789C2E067A4BB8F69D0BB9EC4F253E975B5E-yXqyApvAXouIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2013-07-03 10:05 ` Kishon Vijay Abraham I
2013-07-03 10:05 ` Kishon Vijay Abraham I
[not found] ` <51D3F773.9000209-l0cyMroinI0@public.gmane.org>
2013-07-03 13:20 ` Felipe Balbi
2013-07-03 13:20 ` Felipe Balbi
[not found] ` <20130703132038.GI15056-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2013-07-04 5:17 ` Kishon Vijay Abraham I
2013-07-04 5:17 ` Kishon Vijay Abraham I
2013-07-04 9:21 ` Patel, Satish
2013-07-04 9:21 ` Patel, Satish
2013-07-04 9:55 ` Kishon Vijay Abraham I
2013-07-04 9:55 ` Kishon Vijay Abraham I
2013-07-04 9:58 ` Patel, Satish
2013-07-04 9:58 ` Patel, Satish
[not found] ` <51D54694.20203-l0cyMroinI0@public.gmane.org>
2013-07-04 10:12 ` Felipe Balbi
2013-07-04 10:12 ` Felipe Balbi
2013-07-04 10:45 ` Patel, Satish
2013-07-04 10:45 ` Patel, Satish
2013-07-08 11:24 ` Patel, Satish
2013-07-08 11:24 ` Patel, Satish
[not found] ` <780E789C2E067A4BB8F69D0BB9EC4F253E9764D5-yXqyApvAXouIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2013-07-08 12:17 ` Kishon Vijay Abraham I
2013-07-08 12:17 ` Kishon Vijay Abraham I
2013-07-09 2:23 ` Patel, Satish
2013-07-09 2:23 ` Patel, Satish
2013-07-09 11:44 ` Felipe Balbi
2013-07-09 11:44 ` Felipe Balbi
2013-07-09 12:33 ` Patel, Satish
2013-07-09 12:33 ` Patel, Satish
2013-07-09 17:34 ` Felipe Balbi
2013-07-09 17:34 ` Felipe Balbi
2013-07-30 6:25 ` Rahul Sharma
2013-07-30 6:25 ` Rahul Sharma
2013-07-08 13:26 ` Felipe Balbi
2013-07-08 13:26 ` Felipe Balbi
-- strict thread matches above, loose matches on Subject: below --
2013-06-28 3:27 [PATCH v9 1/8] drivers: phy: add generic PHY framework Jingoo Han
2013-06-28 3:27 ` Jingoo Han
2013-06-28 5:15 ` Kishon Vijay Abraham I
2013-06-28 5:15 ` Kishon Vijay Abraham I
2013-06-28 5:15 ` 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=51E78525.9000802@ti.com \
--to=kishon@ti.com \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=balajitk@ti.com \
--cc=balbi@ti.com \
--cc=benoit.cousson@linaro.org \
--cc=cesarb@cesarb.net \
--cc=davem@davemloft.net \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=george.cherian@ti.com \
--cc=grant.likely@linaro.org \
--cc=gregkh@linuxfoundation.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=nsekhar@ti.com \
--cc=rnayak@ti.com \
--cc=rob.herring@calxeda.com \
--cc=rob@landley.net \
--cc=santosh.shilimkar@ti.com \
--cc=shawn.guo@linaro.org \
--cc=swarren@nvidia.com \
--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.