devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kishon Vijay Abraham I <kishon-l0cyMroinI0@public.gmane.org>
To: Greg KH <gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>
Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	nsekhar-l0cyMroinI0@public.gmane.org,
	s.nawrocki-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
	kgene.kim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
	swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org,
	jg1.han-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
	grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	george.cherian-l0cyMroinI0@public.gmane.org,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
	linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	balajitk-l0cyMroinI0@public.gmane.org,
	linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	balbi-l0cyMroinI0@public.gmane.org,
	kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
	akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org
Subject: Re: [PATCH 02/15] usb: phy: omap-usb2: use the new generic PHY framework
Date: Thu, 18 Jul 2013 14:30:58 +0530	[thread overview]
Message-ID: <51E7AECA.1000204@ti.com> (raw)
In-Reply-To: <20130718072149.GB16720-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>

On Thursday 18 July 2013 12:51 PM, Greg KH wrote:
> On Thu, Jul 18, 2013 at 12:16:11PM +0530, Kishon Vijay Abraham I wrote:
>> Used the generic PHY framework API to create the PHY. Now the power off and
>> power on are done in omap_usb_power_off and omap_usb_power_on respectively.
>>
>> However using the old USB PHY library cannot be completely removed
>> because OTG is intertwined with PHY and moving to the new framework
>> will break OTG. Once we have a separate OTG state machine, we
>> can get rid of the USB PHY library.
>>
>> Signed-off-by: Kishon Vijay Abraham I <kishon-l0cyMroinI0@public.gmane.org>
>> Reviewed-by: Sylwester Nawrocki <s.nawrocki-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
>> Acked-by: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org>
>> ---
>>  drivers/usb/phy/Kconfig         |    1 +
>>  drivers/usb/phy/phy-omap-usb2.c |   45 +++++++++++++++++++++++++++++++++++----
>>  2 files changed, 42 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
>> index 3622fff..cc55993 100644
>> --- a/drivers/usb/phy/Kconfig
>> +++ b/drivers/usb/phy/Kconfig
>> @@ -75,6 +75,7 @@ config OMAP_CONTROL_USB
>>  config OMAP_USB2
>>  	tristate "OMAP USB2 PHY Driver"
>>  	depends on ARCH_OMAP2PLUS
>> +	depends on GENERIC_PHY
>>  	select OMAP_CONTROL_USB
>>  	help
>>  	  Enable this to support the transceiver that is part of SOC. This
>> diff --git a/drivers/usb/phy/phy-omap-usb2.c b/drivers/usb/phy/phy-omap-usb2.c
>> index 844ab68..751b30f 100644
>> --- a/drivers/usb/phy/phy-omap-usb2.c
>> +++ b/drivers/usb/phy/phy-omap-usb2.c
>> @@ -28,6 +28,7 @@
>>  #include <linux/pm_runtime.h>
>>  #include <linux/delay.h>
>>  #include <linux/usb/omap_control_usb.h>
>> +#include <linux/phy/phy.h>
>>  
>>  /**
>>   * omap_usb2_set_comparator - links the comparator present in the sytem with
>> @@ -119,10 +120,36 @@ static int omap_usb2_suspend(struct usb_phy *x, int suspend)
>>  	return 0;
>>  }
>>  
>> +static int omap_usb_power_off(struct phy *x)
>> +{
>> +	struct omap_usb *phy = phy_get_drvdata(x);
>> +
>> +	omap_control_usb_phy_power(phy->control_dev, 0);
>> +
>> +	return 0;
>> +}
>> +
>> +static int omap_usb_power_on(struct phy *x)
>> +{
>> +	struct omap_usb *phy = phy_get_drvdata(x);
>> +
>> +	omap_control_usb_phy_power(phy->control_dev, 1);
>> +
>> +	return 0;
>> +}
>> +
>> +static struct phy_ops ops = {
>> +	.power_on	= omap_usb_power_on,
>> +	.power_off	= omap_usb_power_off,
>> +	.owner		= THIS_MODULE,
>> +};
>> +
>>  static int omap_usb2_probe(struct platform_device *pdev)
>>  {
>>  	struct omap_usb			*phy;
>> +	struct phy			*generic_phy;
>>  	struct usb_otg			*otg;
>> +	struct phy_provider		*phy_provider;
>>  
>>  	phy = devm_kzalloc(&pdev->dev, sizeof(*phy), GFP_KERNEL);
>>  	if (!phy) {
>> @@ -144,6 +171,11 @@ static int omap_usb2_probe(struct platform_device *pdev)
>>  	phy->phy.otg		= otg;
>>  	phy->phy.type		= USB_PHY_TYPE_USB2;
>>  
>> +	phy_provider = devm_of_phy_provider_register(phy->dev,
>> +			of_phy_simple_xlate);
>> +	if (IS_ERR(phy_provider))
>> +		return PTR_ERR(phy_provider);
>> +
>>  	phy->control_dev = omap_get_control_dev();
>>  	if (IS_ERR(phy->control_dev)) {
>>  		dev_dbg(&pdev->dev, "Failed to get control device\n");
>> @@ -159,6 +191,15 @@ static int omap_usb2_probe(struct platform_device *pdev)
>>  	otg->start_srp		= omap_usb_start_srp;
>>  	otg->phy		= &phy->phy;
>>  
>> +	platform_set_drvdata(pdev, phy);
>> +	pm_runtime_enable(phy->dev);
>> +
>> +	generic_phy = devm_phy_create(phy->dev, 0, &ops, "omap-usb2");
>> +	if (IS_ERR(generic_phy))
>> +		return PTR_ERR(generic_phy);
> 
> So, if I have two of these controllers in my system, I can't create the
> second phy because the name for it will be identical to the first?
> That's why the phy core should handle the id, and not rely on the
> drivers to set it, as they have no idea how many they have in the
> system.

hmm.. for such cases I'll have something like PLATFORM_DEVID_AUTO.

Thanks
Kishon

  parent reply	other threads:[~2013-07-18  9:00 UTC|newest]

Thread overview: 59+ 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:46 ` [PATCH 01/15] drivers: phy: add generic " Kishon Vijay Abraham I
2013-07-18  7:20   ` Greg KH
     [not found]     ` <20130718072004.GA16720-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2013-07-18  8:59       ` Kishon Vijay Abraham I
2013-07-18 15:49         ` Greg KH
2013-07-19  5:37           ` Kishon Vijay Abraham I
2013-07-19  5:43             ` Greg KH
2013-07-19  5:55               ` Kishon Vijay Abraham I
     [not found]                 ` <51E8D4E0.8060200-l0cyMroinI0@public.gmane.org>
2013-07-19  6:29                   ` Greg KH
2013-07-19  6:36                     ` Kishon Vijay Abraham I
2013-07-19 15:54                       ` Stephen Warren
     [not found]                         ` <51E96135.9090108-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-07-20  3:15                           ` Kishon Vijay Abraham I
2013-07-19 23:50                       ` Greg KH
2013-07-20  3:19                         ` Kishon Vijay Abraham I
     [not found]                           ` <51EA01C4.2010006-l0cyMroinI0@public.gmane.org>
2013-07-20 22:00                             ` Greg KH
     [not found]                               ` <20130720220006.GA7977-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2013-07-21  2:32                                 ` Alan Stern
2013-07-21  2:59                                   ` Greg KH
2013-07-21 10:22                                     ` Sascha Hauer
2013-07-21 15:48                                       ` Greg KH
2013-07-21 17:14                                         ` Sylwester Nawrocki
2013-07-21 19:22                                           ` Alan Stern
2013-07-22  7:25                                             ` Kishon Vijay Abraham I
     [not found]                                               ` <51ECDE5E.3050104-l0cyMroinI0@public.gmane.org>
2013-07-22 14:44                                                 ` Alan Stern
2013-07-23  7:29                                                   ` Tomasz Figa
2013-07-22 15:04                                               ` Greg KH
2013-07-23  5:34                                                 ` Kishon Vijay Abraham I
2013-07-21 10:31                                     ` Tomasz Figa
2013-07-21 11:07                                       ` Kishon Vijay Abraham I
2013-07-21 11:12                                         ` Tomasz Figa
2013-07-21 15:46                                           ` Greg KH
2013-07-30  7:11                                             ` Felipe Balbi
2013-07-31  5:44                                               ` Kishon Vijay Abraham I
2013-07-31  6:15                                                 ` Felipe Balbi
2013-08-13 10:44                                                   ` Kishon Vijay Abraham I
2013-08-13 11:37                                                     ` Tomasz Figa
2013-08-13 12:05                                                       ` Kishon Vijay Abraham I
2013-08-13 22:19                                                         ` Sylwester Nawrocki
2013-08-13 23:04                                                           ` Tomasz Figa
2013-08-14 15:05                                                             ` Kishon Vijay Abraham I
2013-08-19  5:28                                                               ` Kishon Vijay Abraham I
2013-08-20 12:26                                                                 ` Felipe Balbi
2013-07-18  6:46 ` [PATCH 03/15] usb: phy: twl4030: use the new " Kishon Vijay Abraham I
2013-07-18  6:46 ` [PATCH 04/15] ARM: OMAP: USB: Add phy binding information Kishon Vijay Abraham I
     [not found]   ` <1374129984-765-5-git-send-email-kishon-l0cyMroinI0@public.gmane.org>
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  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:46 ` [PATCH 07/15] usb: phy: omap-usb2: remove *set_suspend* callback from omap-usb2 Kishon Vijay Abraham I
     [not found] ` <1374129984-765-1-git-send-email-kishon-l0cyMroinI0@public.gmane.org>
2013-07-18  6:46   ` [PATCH 02/15] usb: phy: omap-usb2: use the new generic PHY framework Kishon Vijay Abraham I
2013-07-18  7:21     ` Greg KH
     [not found]       ` <20130718072149.GB16720-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2013-07-18  9:00         ` Kishon Vijay Abraham I [this message]
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:46   ` [PATCH 12/15] ARM: Samsung: Remove the MIPI PHY setup code 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:46 ` [PATCH 10/15] video: exynos_mipi_dsim: Use the generic PHY driver 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:46 ` [PATCH 13/15] phy: Add driver for Exynos DP PHY 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:46 ` [PATCH 15/15] video: exynos_dp: Use the generic PHY driver 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=51E7AECA.1000204@ti.com \
    --to=kishon-l0cymroini0@public.gmane.org \
    --cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    --cc=balajitk-l0cyMroinI0@public.gmane.org \
    --cc=balbi-l0cyMroinI0@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=george.cherian-l0cyMroinI0@public.gmane.org \
    --cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=jg1.han-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=kgene.kim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=nsekhar-l0cyMroinI0@public.gmane.org \
    --cc=s.nawrocki-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).