All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pavel Machek <pavel@ucw.cz>
To: Lubomir Rintel <lkundrak@v3.sk>
Cc: linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Eric Miao <eric.y.miao@gmail.com>,
	Haojian Zhuang <haojian.zhuang@gmail.com>,
	Kishon Vijay Abraham I <kishon@ti.com>,
	Alan Stern <stern@rowland.harvard.edu>
Subject: [10/14] USB: gadget: mv-udc: use phy-pxa-usb
Date: Mon, 5 Nov 2018 10:20:00 +0100	[thread overview]
Message-ID: <20181105092000.GJ4439@amd> (raw)

On Wed 2018-08-22 22:43:03, Lubomir Rintel wrote:
> Use a proper PHY driver, instead of hooks to a board support package.
> 
> Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>

Acked-by: Pavel Machek <pavel@ucw.cz>

> ---
>  arch/arm/mach-mmp/devices.c          | 11 +-------
>  drivers/usb/gadget/udc/mv_udc.h      |  7 ++++-
>  drivers/usb/gadget/udc/mv_udc_core.c | 38 ++++++++--------------------
>  3 files changed, 17 insertions(+), 39 deletions(-)
> 
> diff --git a/arch/arm/mach-mmp/devices.c b/arch/arm/mach-mmp/devices.c
> index eb9b3c34e90a..d925be9f14a9 100644
> --- a/arch/arm/mach-mmp/devices.c
> +++ b/arch/arm/mach-mmp/devices.c
> @@ -263,21 +263,12 @@ struct platform_device pxa168_device_usb_phy = {
>  
>  #if IS_ENABLED(CONFIG_USB_MV_UDC)
>  struct resource pxa168_u2o_resources[] = {
> -	/* regbase */
>  	[0] = {
> -		.start	= PXA168_U2O_REGBASE + U2x_CAPREGS_OFFSET,
> +		.start	= PXA168_U2O_REGBASE,
>  		.end	= PXA168_U2O_REGBASE + USB_REG_RANGE,
>  		.flags	= IORESOURCE_MEM,
> -		.name	= "capregs",
>  	},
> -	/* phybase */
>  	[1] = {
> -		.start	= PXA168_U2O_PHYBASE,
> -		.end	= PXA168_U2O_PHYBASE + USB_PHY_RANGE,
> -		.flags	= IORESOURCE_MEM,
> -		.name	= "phyregs",
> -	},
> -	[2] = {
>  		.start	= IRQ_PXA168_USB1,
>  		.end	= IRQ_PXA168_USB1,
>  		.flags	= IORESOURCE_IRQ,
> diff --git a/drivers/usb/gadget/udc/mv_udc.h b/drivers/usb/gadget/udc/mv_udc.h
> index b3f759c0962c..6f04f432964d 100644
> --- a/drivers/usb/gadget/udc/mv_udc.h
> +++ b/drivers/usb/gadget/udc/mv_udc.h
> @@ -6,6 +6,9 @@
>  #ifndef __MV_UDC_H
>  #define __MV_UDC_H
>  
> +/* registers */
> +#define U2x_CAPREGS_OFFSET	0x100
> +
>  #define VUSBHS_MAX_PORTS	8
>  
>  #define DQH_ALIGNMENT		2048
> @@ -174,9 +177,9 @@ struct mv_udc {
>  	struct platform_device		*dev;
>  	int				irq;
>  
> +	void __iomem                    *base;
>  	struct mv_cap_regs __iomem	*cap_regs;
>  	struct mv_op_regs __iomem	*op_regs;
> -	void __iomem                    *phy_regs;
>  	unsigned int			max_eps;
>  	struct mv_dqh			*ep_dqh;
>  	size_t				ep_dqh_size;
> @@ -219,6 +222,8 @@ struct mv_udc {
>  
>  	/* some SOC has mutiple clock sources for USB*/
>  	struct clk      *clk;
> +
> +	struct phy	*phy;
>  };
>  
>  /* endpoint data structure */
> diff --git a/drivers/usb/gadget/udc/mv_udc_core.c b/drivers/usb/gadget/udc/mv_udc_core.c
> index 95f52232493b..c701c83d3af5 100644
> --- a/drivers/usb/gadget/udc/mv_udc_core.c
> +++ b/drivers/usb/gadget/udc/mv_udc_core.c
> @@ -1069,14 +1069,11 @@ static int mv_udc_enable_internal(struct mv_udc *udc)
>  	if (retval)
>  		return retval;
>  
> -	if (udc->pdata->phy_init) {
> -		retval = udc->pdata->phy_init(udc->phy_regs);
> -		if (retval) {
> -			dev_err(&udc->dev->dev,
> -				"init phy error %d\n", retval);
> -			udc_clock_disable(udc);
> -			return retval;
> -		}
> +	retval = phy_init(udc->phy);
> +	if (retval) {
> +		dev_err(&udc->dev->dev, "init phy error %d\n", retval);
> +		udc_clock_disable(udc);
> +		return retval;
>  	}
>  	udc->active = 1;
>  
> @@ -1095,8 +1092,7 @@ static void mv_udc_disable_internal(struct mv_udc *udc)
>  {
>  	if (udc->active) {
>  		dev_dbg(&udc->dev->dev, "disable udc\n");
> -		if (udc->pdata->phy_deinit)
> -			udc->pdata->phy_deinit(udc->phy_regs);
> +		phy_exit(udc->phy);
>  		udc_clock_disable(udc);
>  		udc->active = 0;
>  	}
> @@ -2147,30 +2143,16 @@ static int mv_udc_probe(struct platform_device *pdev)
>  	if (IS_ERR(udc->clk))
>  		return PTR_ERR(udc->clk);
>  
> -	r = platform_get_resource_byname(udc->dev, IORESOURCE_MEM, "capregs");
> +	r = platform_get_resource(udc->dev, IORESOURCE_MEM, 0);
>  	if (r == NULL) {
>  		dev_err(&pdev->dev, "no I/O memory resource defined\n");
>  		return -ENODEV;
>  	}
>  
> -	udc->cap_regs = (struct mv_cap_regs __iomem *)
> -		devm_ioremap(&pdev->dev, r->start, resource_size(r));
> -	if (udc->cap_regs == NULL) {
> -		dev_err(&pdev->dev, "failed to map I/O memory\n");
> -		return -EBUSY;
> -	}
> -
> -	r = platform_get_resource_byname(udc->dev, IORESOURCE_MEM, "phyregs");
> -	if (r == NULL) {
> -		dev_err(&pdev->dev, "no phy I/O memory resource defined\n");
> -		return -ENODEV;
> -	}
> +	udc->base = devm_ioremap(&pdev->dev, r->start, resource_size(r));
>  
> -	udc->phy_regs = devm_ioremap(&pdev->dev, r->start, resource_size(r));
> -	if (udc->phy_regs == NULL) {
> -		dev_err(&pdev->dev, "failed to map phy I/O memory\n");
> -		return -EBUSY;
> -	}
> +	udc->cap_regs =
> +		(void __iomem *) ((unsigned long)udc->base + U2x_CAPREGS_OFFSET);
>  
>  	/* we will acces controller register, so enable the clk */
>  	retval = mv_udc_enable_internal(udc);

WARNING: multiple messages have this Message-ID (diff)
From: pavel@ucw.cz (Pavel Machek)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 10/14] USB: gadget: mv-udc: use phy-pxa-usb
Date: Mon, 5 Nov 2018 10:20:00 +0100	[thread overview]
Message-ID: <20181105092000.GJ4439@amd> (raw)
In-Reply-To: <20180822204307.13251-11-lkundrak@v3.sk>

On Wed 2018-08-22 22:43:03, Lubomir Rintel wrote:
> Use a proper PHY driver, instead of hooks to a board support package.
> 
> Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>

Acked-by: Pavel Machek <pavel@ucw.cz>

> ---
>  arch/arm/mach-mmp/devices.c          | 11 +-------
>  drivers/usb/gadget/udc/mv_udc.h      |  7 ++++-
>  drivers/usb/gadget/udc/mv_udc_core.c | 38 ++++++++--------------------
>  3 files changed, 17 insertions(+), 39 deletions(-)
> 
> diff --git a/arch/arm/mach-mmp/devices.c b/arch/arm/mach-mmp/devices.c
> index eb9b3c34e90a..d925be9f14a9 100644
> --- a/arch/arm/mach-mmp/devices.c
> +++ b/arch/arm/mach-mmp/devices.c
> @@ -263,21 +263,12 @@ struct platform_device pxa168_device_usb_phy = {
>  
>  #if IS_ENABLED(CONFIG_USB_MV_UDC)
>  struct resource pxa168_u2o_resources[] = {
> -	/* regbase */
>  	[0] = {
> -		.start	= PXA168_U2O_REGBASE + U2x_CAPREGS_OFFSET,
> +		.start	= PXA168_U2O_REGBASE,
>  		.end	= PXA168_U2O_REGBASE + USB_REG_RANGE,
>  		.flags	= IORESOURCE_MEM,
> -		.name	= "capregs",
>  	},
> -	/* phybase */
>  	[1] = {
> -		.start	= PXA168_U2O_PHYBASE,
> -		.end	= PXA168_U2O_PHYBASE + USB_PHY_RANGE,
> -		.flags	= IORESOURCE_MEM,
> -		.name	= "phyregs",
> -	},
> -	[2] = {
>  		.start	= IRQ_PXA168_USB1,
>  		.end	= IRQ_PXA168_USB1,
>  		.flags	= IORESOURCE_IRQ,
> diff --git a/drivers/usb/gadget/udc/mv_udc.h b/drivers/usb/gadget/udc/mv_udc.h
> index b3f759c0962c..6f04f432964d 100644
> --- a/drivers/usb/gadget/udc/mv_udc.h
> +++ b/drivers/usb/gadget/udc/mv_udc.h
> @@ -6,6 +6,9 @@
>  #ifndef __MV_UDC_H
>  #define __MV_UDC_H
>  
> +/* registers */
> +#define U2x_CAPREGS_OFFSET	0x100
> +
>  #define VUSBHS_MAX_PORTS	8
>  
>  #define DQH_ALIGNMENT		2048
> @@ -174,9 +177,9 @@ struct mv_udc {
>  	struct platform_device		*dev;
>  	int				irq;
>  
> +	void __iomem                    *base;
>  	struct mv_cap_regs __iomem	*cap_regs;
>  	struct mv_op_regs __iomem	*op_regs;
> -	void __iomem                    *phy_regs;
>  	unsigned int			max_eps;
>  	struct mv_dqh			*ep_dqh;
>  	size_t				ep_dqh_size;
> @@ -219,6 +222,8 @@ struct mv_udc {
>  
>  	/* some SOC has mutiple clock sources for USB*/
>  	struct clk      *clk;
> +
> +	struct phy	*phy;
>  };
>  
>  /* endpoint data structure */
> diff --git a/drivers/usb/gadget/udc/mv_udc_core.c b/drivers/usb/gadget/udc/mv_udc_core.c
> index 95f52232493b..c701c83d3af5 100644
> --- a/drivers/usb/gadget/udc/mv_udc_core.c
> +++ b/drivers/usb/gadget/udc/mv_udc_core.c
> @@ -1069,14 +1069,11 @@ static int mv_udc_enable_internal(struct mv_udc *udc)
>  	if (retval)
>  		return retval;
>  
> -	if (udc->pdata->phy_init) {
> -		retval = udc->pdata->phy_init(udc->phy_regs);
> -		if (retval) {
> -			dev_err(&udc->dev->dev,
> -				"init phy error %d\n", retval);
> -			udc_clock_disable(udc);
> -			return retval;
> -		}
> +	retval = phy_init(udc->phy);
> +	if (retval) {
> +		dev_err(&udc->dev->dev, "init phy error %d\n", retval);
> +		udc_clock_disable(udc);
> +		return retval;
>  	}
>  	udc->active = 1;
>  
> @@ -1095,8 +1092,7 @@ static void mv_udc_disable_internal(struct mv_udc *udc)
>  {
>  	if (udc->active) {
>  		dev_dbg(&udc->dev->dev, "disable udc\n");
> -		if (udc->pdata->phy_deinit)
> -			udc->pdata->phy_deinit(udc->phy_regs);
> +		phy_exit(udc->phy);
>  		udc_clock_disable(udc);
>  		udc->active = 0;
>  	}
> @@ -2147,30 +2143,16 @@ static int mv_udc_probe(struct platform_device *pdev)
>  	if (IS_ERR(udc->clk))
>  		return PTR_ERR(udc->clk);
>  
> -	r = platform_get_resource_byname(udc->dev, IORESOURCE_MEM, "capregs");
> +	r = platform_get_resource(udc->dev, IORESOURCE_MEM, 0);
>  	if (r == NULL) {
>  		dev_err(&pdev->dev, "no I/O memory resource defined\n");
>  		return -ENODEV;
>  	}
>  
> -	udc->cap_regs = (struct mv_cap_regs __iomem *)
> -		devm_ioremap(&pdev->dev, r->start, resource_size(r));
> -	if (udc->cap_regs == NULL) {
> -		dev_err(&pdev->dev, "failed to map I/O memory\n");
> -		return -EBUSY;
> -	}
> -
> -	r = platform_get_resource_byname(udc->dev, IORESOURCE_MEM, "phyregs");
> -	if (r == NULL) {
> -		dev_err(&pdev->dev, "no phy I/O memory resource defined\n");
> -		return -ENODEV;
> -	}
> +	udc->base = devm_ioremap(&pdev->dev, r->start, resource_size(r));
>  
> -	udc->phy_regs = devm_ioremap(&pdev->dev, r->start, resource_size(r));
> -	if (udc->phy_regs == NULL) {
> -		dev_err(&pdev->dev, "failed to map phy I/O memory\n");
> -		return -EBUSY;
> -	}
> +	udc->cap_regs =
> +		(void __iomem *) ((unsigned long)udc->base + U2x_CAPREGS_OFFSET);
>  
>  	/* we will acces controller register, so enable the clk */
>  	retval = mv_udc_enable_internal(udc);

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20181105/ea64a276/attachment-0001.sig>

WARNING: multiple messages have this Message-ID (diff)
From: Pavel Machek <pavel@ucw.cz>
To: Lubomir Rintel <lkundrak@v3.sk>
Cc: linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Eric Miao <eric.y.miao@gmail.com>,
	Haojian Zhuang <haojian.zhuang@gmail.com>,
	Kishon Vijay Abraham I <kishon@ti.com>,
	Alan Stern <stern@rowland.harvard.edu>
Subject: Re: [PATCH 10/14] USB: gadget: mv-udc: use phy-pxa-usb
Date: Mon, 5 Nov 2018 10:20:00 +0100	[thread overview]
Message-ID: <20181105092000.GJ4439@amd> (raw)
In-Reply-To: <20180822204307.13251-11-lkundrak@v3.sk>

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

On Wed 2018-08-22 22:43:03, Lubomir Rintel wrote:
> Use a proper PHY driver, instead of hooks to a board support package.
> 
> Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>

Acked-by: Pavel Machek <pavel@ucw.cz>

> ---
>  arch/arm/mach-mmp/devices.c          | 11 +-------
>  drivers/usb/gadget/udc/mv_udc.h      |  7 ++++-
>  drivers/usb/gadget/udc/mv_udc_core.c | 38 ++++++++--------------------
>  3 files changed, 17 insertions(+), 39 deletions(-)
> 
> diff --git a/arch/arm/mach-mmp/devices.c b/arch/arm/mach-mmp/devices.c
> index eb9b3c34e90a..d925be9f14a9 100644
> --- a/arch/arm/mach-mmp/devices.c
> +++ b/arch/arm/mach-mmp/devices.c
> @@ -263,21 +263,12 @@ struct platform_device pxa168_device_usb_phy = {
>  
>  #if IS_ENABLED(CONFIG_USB_MV_UDC)
>  struct resource pxa168_u2o_resources[] = {
> -	/* regbase */
>  	[0] = {
> -		.start	= PXA168_U2O_REGBASE + U2x_CAPREGS_OFFSET,
> +		.start	= PXA168_U2O_REGBASE,
>  		.end	= PXA168_U2O_REGBASE + USB_REG_RANGE,
>  		.flags	= IORESOURCE_MEM,
> -		.name	= "capregs",
>  	},
> -	/* phybase */
>  	[1] = {
> -		.start	= PXA168_U2O_PHYBASE,
> -		.end	= PXA168_U2O_PHYBASE + USB_PHY_RANGE,
> -		.flags	= IORESOURCE_MEM,
> -		.name	= "phyregs",
> -	},
> -	[2] = {
>  		.start	= IRQ_PXA168_USB1,
>  		.end	= IRQ_PXA168_USB1,
>  		.flags	= IORESOURCE_IRQ,
> diff --git a/drivers/usb/gadget/udc/mv_udc.h b/drivers/usb/gadget/udc/mv_udc.h
> index b3f759c0962c..6f04f432964d 100644
> --- a/drivers/usb/gadget/udc/mv_udc.h
> +++ b/drivers/usb/gadget/udc/mv_udc.h
> @@ -6,6 +6,9 @@
>  #ifndef __MV_UDC_H
>  #define __MV_UDC_H
>  
> +/* registers */
> +#define U2x_CAPREGS_OFFSET	0x100
> +
>  #define VUSBHS_MAX_PORTS	8
>  
>  #define DQH_ALIGNMENT		2048
> @@ -174,9 +177,9 @@ struct mv_udc {
>  	struct platform_device		*dev;
>  	int				irq;
>  
> +	void __iomem                    *base;
>  	struct mv_cap_regs __iomem	*cap_regs;
>  	struct mv_op_regs __iomem	*op_regs;
> -	void __iomem                    *phy_regs;
>  	unsigned int			max_eps;
>  	struct mv_dqh			*ep_dqh;
>  	size_t				ep_dqh_size;
> @@ -219,6 +222,8 @@ struct mv_udc {
>  
>  	/* some SOC has mutiple clock sources for USB*/
>  	struct clk      *clk;
> +
> +	struct phy	*phy;
>  };
>  
>  /* endpoint data structure */
> diff --git a/drivers/usb/gadget/udc/mv_udc_core.c b/drivers/usb/gadget/udc/mv_udc_core.c
> index 95f52232493b..c701c83d3af5 100644
> --- a/drivers/usb/gadget/udc/mv_udc_core.c
> +++ b/drivers/usb/gadget/udc/mv_udc_core.c
> @@ -1069,14 +1069,11 @@ static int mv_udc_enable_internal(struct mv_udc *udc)
>  	if (retval)
>  		return retval;
>  
> -	if (udc->pdata->phy_init) {
> -		retval = udc->pdata->phy_init(udc->phy_regs);
> -		if (retval) {
> -			dev_err(&udc->dev->dev,
> -				"init phy error %d\n", retval);
> -			udc_clock_disable(udc);
> -			return retval;
> -		}
> +	retval = phy_init(udc->phy);
> +	if (retval) {
> +		dev_err(&udc->dev->dev, "init phy error %d\n", retval);
> +		udc_clock_disable(udc);
> +		return retval;
>  	}
>  	udc->active = 1;
>  
> @@ -1095,8 +1092,7 @@ static void mv_udc_disable_internal(struct mv_udc *udc)
>  {
>  	if (udc->active) {
>  		dev_dbg(&udc->dev->dev, "disable udc\n");
> -		if (udc->pdata->phy_deinit)
> -			udc->pdata->phy_deinit(udc->phy_regs);
> +		phy_exit(udc->phy);
>  		udc_clock_disable(udc);
>  		udc->active = 0;
>  	}
> @@ -2147,30 +2143,16 @@ static int mv_udc_probe(struct platform_device *pdev)
>  	if (IS_ERR(udc->clk))
>  		return PTR_ERR(udc->clk);
>  
> -	r = platform_get_resource_byname(udc->dev, IORESOURCE_MEM, "capregs");
> +	r = platform_get_resource(udc->dev, IORESOURCE_MEM, 0);
>  	if (r == NULL) {
>  		dev_err(&pdev->dev, "no I/O memory resource defined\n");
>  		return -ENODEV;
>  	}
>  
> -	udc->cap_regs = (struct mv_cap_regs __iomem *)
> -		devm_ioremap(&pdev->dev, r->start, resource_size(r));
> -	if (udc->cap_regs == NULL) {
> -		dev_err(&pdev->dev, "failed to map I/O memory\n");
> -		return -EBUSY;
> -	}
> -
> -	r = platform_get_resource_byname(udc->dev, IORESOURCE_MEM, "phyregs");
> -	if (r == NULL) {
> -		dev_err(&pdev->dev, "no phy I/O memory resource defined\n");
> -		return -ENODEV;
> -	}
> +	udc->base = devm_ioremap(&pdev->dev, r->start, resource_size(r));
>  
> -	udc->phy_regs = devm_ioremap(&pdev->dev, r->start, resource_size(r));
> -	if (udc->phy_regs == NULL) {
> -		dev_err(&pdev->dev, "failed to map phy I/O memory\n");
> -		return -EBUSY;
> -	}
> +	udc->cap_regs =
> +		(void __iomem *) ((unsigned long)udc->base + U2x_CAPREGS_OFFSET);
>  
>  	/* we will acces controller register, so enable the clk */
>  	retval = mv_udc_enable_internal(udc);

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

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

             reply	other threads:[~2018-11-05  9:20 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-05  9:20 Pavel Machek [this message]
2018-11-05  9:20 ` [PATCH 10/14] USB: gadget: mv-udc: use phy-pxa-usb Pavel Machek
2018-11-05  9:20 ` Pavel Machek
  -- strict thread matches above, loose matches on Subject: below --
2018-11-05  9:20 [14/14] DT: marvell,mmp2: add USB OTG host controller Pavel Machek
2018-11-05  9:20 ` [PATCH 14/14] " Pavel Machek
2018-11-05  9:20 ` Pavel Machek
2018-11-05  9:20 [13/14] DT: marvell,mmp2: add OTG PHY Pavel Machek
2018-11-05  9:20 ` [PATCH 13/14] " Pavel Machek
2018-11-05  9:20 ` Pavel Machek
2018-11-05  9:19 [09/14] USB: phy-mv-usb: use phy-pxa-usb Pavel Machek
2018-11-05  9:19 ` [PATCH 09/14] " Pavel Machek
2018-11-05  9:19 ` Pavel Machek
2018-11-05  9:19 [06/14] ARM: aspenite: add an instance of pxa-usb-phy Pavel Machek
2018-11-05  9:19 ` [PATCH 06/14] " Pavel Machek
2018-11-05  9:19 ` Pavel Machek
2018-11-05  9:19 [05/14] ARM: ttc_dkb: " Pavel Machek
2018-11-05  9:19 ` [PATCH 05/14] " Pavel Machek
2018-11-05  9:19 ` Pavel Machek
2018-11-05  9:19 [02/14] dt-bindings: phy-pxa-usb: add bindings Pavel Machek
2018-11-05  9:19 ` [PATCH 02/14] " Pavel Machek
2018-11-05  9:19 ` Pavel Machek
2018-11-02 20:47 [12/14] dt-bindings: ehci-mv: " Pavel Machek
2018-11-02 20:47 ` [PATCH 12/14] " Pavel Machek
2018-11-02 20:47 ` Pavel Machek
2018-10-09 14:57 [01/14] phy: phy-pxa-usb: add a new driver Greg Kroah-Hartman
2018-10-09 14:57 ` [PATCH 01/14] " Greg Kroah-Hartman
2018-10-09 14:57 ` Greg Kroah-Hartman
2018-10-09 14:51 [01/14] " Lubomir Rintel
2018-10-09 14:51 ` [PATCH 01/14] " Lubomir Rintel
2018-10-09 14:51 ` Lubomir Rintel
2018-10-08 13:21 [01/14] " Greg Kroah-Hartman
2018-10-08 13:21 ` [PATCH 01/14] " Greg Kroah-Hartman
2018-10-08 13:21 ` Greg Kroah-Hartman
2018-10-07 18:47 [01/14] " Lubomir Rintel
2018-10-07 18:47 ` [PATCH 01/14] " Lubomir Rintel
2018-10-07 18:47 ` Lubomir Rintel
2018-09-25  5:23 [01/14] " Kishon Vijay Abraham I
2018-09-25  5:23 ` [PATCH 01/14] " Kishon Vijay Abraham I
2018-09-25  5:23 ` Kishon Vijay Abraham I
2018-08-22 20:43 [14/14] DT: marvell,mmp2: add USB OTG host controller Lubomir Rintel
2018-08-22 20:43 ` [PATCH 14/14] " Lubomir Rintel
2018-08-22 20:43 ` Lubomir Rintel
2018-08-22 20:43 [13/14] DT: marvell,mmp2: add OTG PHY Lubomir Rintel
2018-08-22 20:43 ` [PATCH 13/14] " Lubomir Rintel
2018-08-22 20:43 ` Lubomir Rintel
2018-08-22 20:43 [12/14] dt-bindings: ehci-mv: add bindings Lubomir Rintel
2018-08-22 20:43 ` [PATCH 12/14] " Lubomir Rintel
2018-08-22 20:43 ` Lubomir Rintel
2018-08-22 20:43 [11/14] USB: EHCI: ehci-mv: add DT support Lubomir Rintel
2018-08-22 20:43 ` [PATCH 11/14] " Lubomir Rintel
2018-08-22 20:43 ` Lubomir Rintel
2018-08-22 20:43 [10/14] USB: gadget: mv-udc: use phy-pxa-usb Lubomir Rintel
2018-08-22 20:43 ` [PATCH 10/14] " Lubomir Rintel
2018-08-22 20:43 ` Lubomir Rintel
2018-08-22 20:43 [09/14] USB: phy-mv-usb: " Lubomir Rintel
2018-08-22 20:43 ` [PATCH 09/14] " Lubomir Rintel
2018-08-22 20:43 ` Lubomir Rintel
2018-08-22 20:43 [08/14] USB: EHCI: ehci-mv: " Lubomir Rintel
2018-08-22 20:43 ` [PATCH 08/14] " Lubomir Rintel
2018-08-22 20:43 ` Lubomir Rintel
2018-08-22 20:43 [07/14] USB: EHCI: ehci-mv: remove private_init Lubomir Rintel
2018-08-22 20:43 ` [PATCH 07/14] " Lubomir Rintel
2018-08-22 20:43 ` Lubomir Rintel
2018-08-22 20:42 [06/14] ARM: aspenite: add an instance of pxa-usb-phy Lubomir Rintel
2018-08-22 20:42 ` [PATCH 06/14] " Lubomir Rintel
2018-08-22 20:42 ` Lubomir Rintel
2018-08-22 20:42 [05/14] ARM: ttc_dkb: " Lubomir Rintel
2018-08-22 20:42 ` [PATCH 05/14] " Lubomir Rintel
2018-08-22 20:42 ` Lubomir Rintel
2018-08-22 20:42 [04/14] ARM: mmp: add a pxa-usb-phy device Lubomir Rintel
2018-08-22 20:42 ` [PATCH 04/14] " Lubomir Rintel
2018-08-22 20:42 ` Lubomir Rintel
2018-08-22 20:42 [03/14] USB: EHCI: make ehci-mv a separate driver Lubomir Rintel
2018-08-22 20:42 ` [PATCH 03/14] " Lubomir Rintel
2018-08-22 20:42 ` Lubomir Rintel
2018-08-22 20:42 [02/14] dt-bindings: phy-pxa-usb: add bindings Lubomir Rintel
2018-08-22 20:42 ` [PATCH 02/14] " Lubomir Rintel
2018-08-22 20:42 ` Lubomir Rintel
2018-08-22 20:42 [01/14] phy: phy-pxa-usb: add a new driver Lubomir Rintel
2018-08-22 20:42 ` [PATCH 01/14] " Lubomir Rintel
2018-08-22 20:42 ` Lubomir Rintel
2018-08-22 20:42 [PATCH 00/14] Convert ehci-mv to DT Lubomir Rintel
2018-08-22 20:42 ` Lubomir Rintel
2018-08-28 15:04 ` Alan Stern
2018-08-28 15:04   ` Alan Stern

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=20181105092000.GJ4439@amd \
    --to=pavel@ucw.cz \
    --cc=eric.y.miao@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=haojian.zhuang@gmail.com \
    --cc=kishon@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=lkundrak@v3.sk \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=stern@rowland.harvard.edu \
    /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.