From: voice.shen@atmel.com (Bo Shen)
To: linux-arm-kernel@lists.infradead.org
Subject: [V2 2/8] USB: EHCI: make ehci-atmel a separate driver
Date: Mon, 18 Feb 2013 17:44:46 +0800 [thread overview]
Message-ID: <5121F80E.1010501@atmel.com> (raw)
In-Reply-To: <1360923853-7875-3-git-send-email-manjunath.goudar@linaro.org>
On 02/15/2013 06:24 PM, Manjunath Goudar wrote:
> Separate the Atmel host controller driver from ehci-hcd host code
> into its own driver module.
>
> In V2:
> Resolved below compiler error.
> drivers/usb/host/ehci-atmel.c: In function 'ehci_atmel_drv_remove':
> drivers/usb/host/ehci-atmel.c:167: error: implicit declaration of function 'ehci_shutdown'
>
> Signed-off-by: Manjunath Goudar<manjunath.goudar@linaro.org>
> Cc: Alan Stern<stern@rowland.harvard.edu>
> Cc: Greg KH<greg@kroah.com>
> Cc: Grant Likely<grant.likely@secretlab.ca>
> Cc: Rob Herring<rob.herring@calxeda.com>
> Cc: Andrew Victor<linux@maxim.org.za>
> Cc: Nicolas Ferre<nicolas.ferre@atmel.com>
> Cc: Jean-Christophe Plagniol-Villard<plagnioj@jcrosoft.com>
> Cc: linux-usb at vger.kernel.org
> Cc: linux-kernel at vger.kernel.org
> ---
> drivers/usb/host/Kconfig | 8 +++++
> drivers/usb/host/Makefile | 1 +
> drivers/usb/host/ehci-atmel.c | 76 ++++++++++++++++++++++-------------------
> drivers/usb/host/ehci-hcd.c | 10 ++----
> drivers/usb/host/ehci.h | 2 +-
> 5 files changed, 53 insertions(+), 44 deletions(-)
>
> diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
> index 15e8032..1ef37d7 100644
> --- a/drivers/usb/host/Kconfig
> +++ b/drivers/usb/host/Kconfig
> @@ -170,6 +170,14 @@ config USB_EHCI_HCD_SPEAR
> Enables support for the on-chip EHCI controller on
> ST SPEAr chips.
>
> +config USB_EHCI_HCD_AT91
> + tristate "Support for Atmel on-chip EHCI USB controller"
> + depends on USB_EHCI_HCD&& ARCH_AT91
> + default y
> + ---help---
> + Enables support for the on-chip EHCI controller on
> + Atmel chips.
> +
> config USB_EHCI_MSM
> bool "Support for MSM on-chip EHCI USB controller"
> depends on USB_EHCI_HCD&& ARCH_MSM
> diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile
> index c8fcde9..b301243 100644
> --- a/drivers/usb/host/Makefile
> +++ b/drivers/usb/host/Makefile
> @@ -29,6 +29,7 @@ obj-$(CONFIG_USB_EHCI_HCD_PLATFORM) += ehci-platform.o
> obj-$(CONFIG_USB_EHCI_MXC) += ehci-mxc.o
> obj-$(CONFIG_USB_EHCI_HCD_SPEAR)+= ehci-spear.o
> obj-$(CONFIG_USB_OXU210HP_HCD) += oxu210hp-hcd.o
> +obj-$(CONFIG_USB_EHCI_HCD_AT91) += ehci-atmel.o
> obj-$(CONFIG_USB_ISP116X_HCD) += isp116x-hcd.o
> obj-$(CONFIG_USB_ISP1362_HCD) += isp1362-hcd.o
> obj-$(CONFIG_USB_OHCI_HCD) += ohci-hcd.o
> diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c
> index 27639487..3cd0dd4 100644
> --- a/drivers/usb/host/ehci-atmel.c
> +++ b/drivers/usb/host/ehci-atmel.c
> @@ -15,6 +15,19 @@
> #include<linux/platform_device.h>
> #include<linux/of.h>
> #include<linux/of_platform.h>
> +#include<linux/kernel.h>
> +#include<linux/module.h>
> +#include<linux/usb.h>
> +#include<linux/usb/hcd.h>
> +#include<linux/io.h>
> +#include<linux/dma-mapping.h>
> +
> +#include "ehci.h"
> +
> +#define DRIVER_DESC "EHCI atmel driver"
> +
> +static const char hcd_name[] = "ehci-atmel";
> +static struct hc_driver __read_mostly ehci_atmel_hc_driver;
>
> /* interface and function clocks */
> static struct clk *iclk, *fclk;
> @@ -60,41 +73,6 @@ static int ehci_atmel_setup(struct usb_hcd *hcd)
> return ehci_setup(hcd);
> }
>
> -static const struct hc_driver ehci_atmel_hc_driver = {
> - .description = hcd_name,
> - .product_desc = "Atmel EHCI UHP HS",
> - .hcd_priv_size = sizeof(struct ehci_hcd),
> -
> - /* generic hardware linkage */
> - .irq = ehci_irq,
> - .flags = HCD_MEMORY | HCD_USB2,
> -
> - /* basic lifecycle operations */
> - .reset = ehci_atmel_setup,
> - .start = ehci_run,
> - .stop = ehci_stop,
> - .shutdown = ehci_shutdown,
> -
> - /* managing i/o requests and associated device resources */
> - .urb_enqueue = ehci_urb_enqueue,
> - .urb_dequeue = ehci_urb_dequeue,
> - .endpoint_disable = ehci_endpoint_disable,
> - .endpoint_reset = ehci_endpoint_reset,
> -
> - /* scheduling support */
> - .get_frame_number = ehci_get_frame,
> -
> - /* root hub support */
> - .hub_status_data = ehci_hub_status_data,
> - .hub_control = ehci_hub_control,
> - .bus_suspend = ehci_bus_suspend,
> - .bus_resume = ehci_bus_resume,
> - .relinquish_port = ehci_relinquish_port,
> - .port_handed_over = ehci_port_handed_over,
> -
> - .clear_tt_buffer_complete = ehci_clear_tt_buffer_complete,
> -};
> -
> static u64 at91_ehci_dma_mask = DMA_BIT_MASK(32);
>
> static int ehci_atmel_drv_probe(struct platform_device *pdev)
> @@ -210,7 +188,33 @@ static struct platform_driver ehci_atmel_driver = {
> .remove = ehci_atmel_drv_remove,
> .shutdown = usb_hcd_platform_shutdown,
> .driver = {
> - .name = "atmel-ehci",
> + .name = hcd_name,
This change will cause atmel ehci won't work with the none device tree
kernel.
it can be fixed with replace other places using "atmel-ehci" with
<hcd_name>, that means replace "atmel-ehci" with "ehci-atmel" at other
places.
Best Regards,
Bo Shen
WARNING: multiple messages have this Message-ID (diff)
From: Bo Shen <voice.shen@atmel.com>
To: Manjunath Goudar <manjunath.goudar@linaro.org>
Cc: <linux-usb@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>, <patches@linaro.org>,
<stern@rowland.harvard.edu>, <arnd@linaro.org>,
<gregkh@linuxfoundation.org>, Greg KH <greg@kroah.com>,
Grant Likely <grant.likely@secretlab.ca>,
Rob Herring <rob.herring@calxeda.com>,
"Andrew Victor" <linux@maxim.org.za>,
Nicolas Ferre <nicolas.ferre@atmel.com>,
Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>,
<linux-kernel@vger.kernel.org>
Subject: Re: [V2 2/8] USB: EHCI: make ehci-atmel a separate driver
Date: Mon, 18 Feb 2013 17:44:46 +0800 [thread overview]
Message-ID: <5121F80E.1010501@atmel.com> (raw)
In-Reply-To: <1360923853-7875-3-git-send-email-manjunath.goudar@linaro.org>
On 02/15/2013 06:24 PM, Manjunath Goudar wrote:
> Separate the Atmel host controller driver from ehci-hcd host code
> into its own driver module.
>
> In V2:
> Resolved below compiler error.
> drivers/usb/host/ehci-atmel.c: In function 'ehci_atmel_drv_remove':
> drivers/usb/host/ehci-atmel.c:167: error: implicit declaration of function 'ehci_shutdown'
>
> Signed-off-by: Manjunath Goudar<manjunath.goudar@linaro.org>
> Cc: Alan Stern<stern@rowland.harvard.edu>
> Cc: Greg KH<greg@kroah.com>
> Cc: Grant Likely<grant.likely@secretlab.ca>
> Cc: Rob Herring<rob.herring@calxeda.com>
> Cc: Andrew Victor<linux@maxim.org.za>
> Cc: Nicolas Ferre<nicolas.ferre@atmel.com>
> Cc: Jean-Christophe Plagniol-Villard<plagnioj@jcrosoft.com>
> Cc: linux-usb@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> ---
> drivers/usb/host/Kconfig | 8 +++++
> drivers/usb/host/Makefile | 1 +
> drivers/usb/host/ehci-atmel.c | 76 ++++++++++++++++++++++-------------------
> drivers/usb/host/ehci-hcd.c | 10 ++----
> drivers/usb/host/ehci.h | 2 +-
> 5 files changed, 53 insertions(+), 44 deletions(-)
>
> diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
> index 15e8032..1ef37d7 100644
> --- a/drivers/usb/host/Kconfig
> +++ b/drivers/usb/host/Kconfig
> @@ -170,6 +170,14 @@ config USB_EHCI_HCD_SPEAR
> Enables support for the on-chip EHCI controller on
> ST SPEAr chips.
>
> +config USB_EHCI_HCD_AT91
> + tristate "Support for Atmel on-chip EHCI USB controller"
> + depends on USB_EHCI_HCD&& ARCH_AT91
> + default y
> + ---help---
> + Enables support for the on-chip EHCI controller on
> + Atmel chips.
> +
> config USB_EHCI_MSM
> bool "Support for MSM on-chip EHCI USB controller"
> depends on USB_EHCI_HCD&& ARCH_MSM
> diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile
> index c8fcde9..b301243 100644
> --- a/drivers/usb/host/Makefile
> +++ b/drivers/usb/host/Makefile
> @@ -29,6 +29,7 @@ obj-$(CONFIG_USB_EHCI_HCD_PLATFORM) += ehci-platform.o
> obj-$(CONFIG_USB_EHCI_MXC) += ehci-mxc.o
> obj-$(CONFIG_USB_EHCI_HCD_SPEAR)+= ehci-spear.o
> obj-$(CONFIG_USB_OXU210HP_HCD) += oxu210hp-hcd.o
> +obj-$(CONFIG_USB_EHCI_HCD_AT91) += ehci-atmel.o
> obj-$(CONFIG_USB_ISP116X_HCD) += isp116x-hcd.o
> obj-$(CONFIG_USB_ISP1362_HCD) += isp1362-hcd.o
> obj-$(CONFIG_USB_OHCI_HCD) += ohci-hcd.o
> diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c
> index 27639487..3cd0dd4 100644
> --- a/drivers/usb/host/ehci-atmel.c
> +++ b/drivers/usb/host/ehci-atmel.c
> @@ -15,6 +15,19 @@
> #include<linux/platform_device.h>
> #include<linux/of.h>
> #include<linux/of_platform.h>
> +#include<linux/kernel.h>
> +#include<linux/module.h>
> +#include<linux/usb.h>
> +#include<linux/usb/hcd.h>
> +#include<linux/io.h>
> +#include<linux/dma-mapping.h>
> +
> +#include "ehci.h"
> +
> +#define DRIVER_DESC "EHCI atmel driver"
> +
> +static const char hcd_name[] = "ehci-atmel";
> +static struct hc_driver __read_mostly ehci_atmel_hc_driver;
>
> /* interface and function clocks */
> static struct clk *iclk, *fclk;
> @@ -60,41 +73,6 @@ static int ehci_atmel_setup(struct usb_hcd *hcd)
> return ehci_setup(hcd);
> }
>
> -static const struct hc_driver ehci_atmel_hc_driver = {
> - .description = hcd_name,
> - .product_desc = "Atmel EHCI UHP HS",
> - .hcd_priv_size = sizeof(struct ehci_hcd),
> -
> - /* generic hardware linkage */
> - .irq = ehci_irq,
> - .flags = HCD_MEMORY | HCD_USB2,
> -
> - /* basic lifecycle operations */
> - .reset = ehci_atmel_setup,
> - .start = ehci_run,
> - .stop = ehci_stop,
> - .shutdown = ehci_shutdown,
> -
> - /* managing i/o requests and associated device resources */
> - .urb_enqueue = ehci_urb_enqueue,
> - .urb_dequeue = ehci_urb_dequeue,
> - .endpoint_disable = ehci_endpoint_disable,
> - .endpoint_reset = ehci_endpoint_reset,
> -
> - /* scheduling support */
> - .get_frame_number = ehci_get_frame,
> -
> - /* root hub support */
> - .hub_status_data = ehci_hub_status_data,
> - .hub_control = ehci_hub_control,
> - .bus_suspend = ehci_bus_suspend,
> - .bus_resume = ehci_bus_resume,
> - .relinquish_port = ehci_relinquish_port,
> - .port_handed_over = ehci_port_handed_over,
> -
> - .clear_tt_buffer_complete = ehci_clear_tt_buffer_complete,
> -};
> -
> static u64 at91_ehci_dma_mask = DMA_BIT_MASK(32);
>
> static int ehci_atmel_drv_probe(struct platform_device *pdev)
> @@ -210,7 +188,33 @@ static struct platform_driver ehci_atmel_driver = {
> .remove = ehci_atmel_drv_remove,
> .shutdown = usb_hcd_platform_shutdown,
> .driver = {
> - .name = "atmel-ehci",
> + .name = hcd_name,
This change will cause atmel ehci won't work with the none device tree
kernel.
it can be fixed with replace other places using "atmel-ehci" with
<hcd_name>, that means replace "atmel-ehci" with "ehci-atmel" at other
places.
Best Regards,
Bo Shen
next prev parent reply other threads:[~2013-02-18 9:44 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-15 10:24 [V2 0/8] usb: ehci: more bus glues as separate modules Manjunath Goudar
2013-02-15 10:24 ` [V2 2/8] USB: EHCI: make ehci-atmel a separate driver Manjunath Goudar
2013-02-18 9:44 ` Bo Shen [this message]
2013-02-18 9:44 ` Bo Shen
2013-02-18 10:12 ` Arnd Bergmann
2013-02-18 10:12 ` Arnd Bergmann
2013-02-15 10:24 ` [V2 4/8] USB: EHCI: make ehci-mv as separate static driver Manjunath Goudar
2013-02-15 10:24 ` [V2 5/8] USB: EHCI: make ehci-vt8500 a separate driver Manjunath Goudar
2013-02-20 16:37 ` Alan Stern
2013-02-20 16:37 ` Alan Stern
2013-02-15 10:24 ` [V2 6/8] USB: EHCI: make ehci-msm " Manjunath Goudar
2013-02-20 16:31 ` Alan Stern
2013-02-20 16:31 ` Alan Stern
2013-02-15 10:24 ` [V2 7/8] USB: EHCI: make ehci-w90X900 " Manjunath Goudar
2013-02-20 16:33 ` Alan Stern
2013-02-20 16:33 ` Alan Stern
2013-02-15 10:24 ` [V2 8/8] USB: EHCI: make ehci-orion " Manjunath Goudar
2013-02-15 16:10 ` [V2 0/8] usb: ehci: more bus glues as separate modules Arnd Bergmann
2013-02-15 18:07 ` Greg KH
2013-02-15 21:58 ` Arnd Bergmann
2013-02-15 22:12 ` [PATCH 1/2] USB: EHCI: make ehci-vt8500 a separate driver Arnd Bergmann
2013-02-15 22:12 ` [PATCH 2/2] USB: EHCI: make ehci-orion " Arnd Bergmann
2013-02-15 22:38 ` Jason Cooper
2013-02-16 8:42 ` Andrew Lunn
2013-02-16 14:19 ` Ezequiel Garcia
2013-02-16 23:03 ` [PATCH] USB: update host controller Kconfig entries Arnd Bergmann
2013-02-18 22:34 ` [PATCH 2/2] USB: EHCI: make ehci-orion a separate driver Alan Stern
2013-02-19 7:24 ` Andrew Lunn
2013-02-19 8:32 ` Arnaud Patard (Rtp)
2013-02-20 18:28 ` Greg KH
2013-02-20 18:44 ` Arnd Bergmann
[not found] ` <CAJFYCKGCNDTSq9OYZUYXx8XNSgSHD=p=hw+9_7N=EhM=bUu=bg@mail.gmail.com>
2013-02-19 10:56 ` Arnd Bergmann
2013-02-19 15:26 ` Alan Stern
2013-02-20 16:02 ` Alan Stern
2013-02-20 16:27 ` Arnd Bergmann
2013-02-20 16:54 ` Jason Cooper
2013-02-15 22:21 ` [PATCH 1/2] USB: EHCI: make ehci-vt8500 " Tony Prisk
2013-02-15 16:47 ` [V2 0/8] usb: ehci: more bus glues as separate modules Ezequiel Garcia
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=5121F80E.1010501@atmel.com \
--to=voice.shen@atmel.com \
--cc=linux-arm-kernel@lists.infradead.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 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.