* [PATCH 0/2] USB: OHCI: Splitting ohci-platform into independent driver @ 2013-05-30 9:50 Manjunath Goudar 2013-05-30 9:50 ` [RFC PATCH 1/2] USB: OHCI: make ohci-platform a separate driver Manjunath Goudar ` (3 more replies) 0 siblings, 4 replies; 18+ messages in thread From: Manjunath Goudar @ 2013-05-30 9:50 UTC (permalink / raw) To: linux-arm-kernel This series patch begins the process of splitting ohci-platform up into independent driver modules and add a name for the platform-private field. Patch 1/2 separate ohci-platform into independent driver modules. Patch 2/2 adds an ohci->priv field for private use by OHCI platform drivers. Manjunath Goudar (2): USB: OHCI: make ohci-platform a separate driver USB: OHCI: add a name for the platform-private field drivers/usb/host/Kconfig | 2 +- drivers/usb/host/Makefile | 1 + drivers/usb/host/ohci-hcd.c | 6 +-- drivers/usb/host/ohci-platform.c | 88 ++++++++++++++++++-------------------- drivers/usb/host/ohci.h | 3 ++ 5 files changed, 47 insertions(+), 53 deletions(-) -- 1.7.9.5 ^ permalink raw reply [flat|nested] 18+ messages in thread
* [RFC PATCH 1/2] USB: OHCI: make ohci-platform a separate driver 2013-05-30 9:50 [PATCH 0/2] USB: OHCI: Splitting ohci-platform into independent driver Manjunath Goudar @ 2013-05-30 9:50 ` Manjunath Goudar 2013-05-30 17:23 ` Alan Stern ` (2 more replies) 2013-05-30 9:50 ` [RFC PATCH " Manjunath Goudar ` (2 subsequent siblings) 3 siblings, 3 replies; 18+ messages in thread From: Manjunath Goudar @ 2013-05-30 9:50 UTC (permalink / raw) To: linux-arm-kernel This patch splits the ohci-platform code from ohci-hcd out into its own separate driver module.This work is part of enabling multi-platform kernels on ARM. Signed-off-by: Manjunath Goudar <manjunath.goudar@linaro.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Greg KH <greg@kroah.com> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: linux-usb at vger.kernel.org --- drivers/usb/host/Kconfig | 2 +- drivers/usb/host/Makefile | 1 + drivers/usb/host/ohci-hcd.c | 6 +-- drivers/usb/host/ohci-platform.c | 88 ++++++++++++++++++-------------------- 4 files changed, 44 insertions(+), 53 deletions(-) diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index a0a2f3a..5391a38 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -501,7 +501,7 @@ config USB_CNS3XXX_OHCI It is needed for low-speed USB 1.0 device support. config USB_OHCI_HCD_PLATFORM - bool "Generic OHCI driver for a platform device" + tristate "Generic OHCI driver for a platform device" default n ---help--- Adds an OHCI host driver for a generic platform device, which diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile index 2214ded..8a89c3d 100644 --- a/drivers/usb/host/Makefile +++ b/drivers/usb/host/Makefile @@ -45,6 +45,7 @@ obj-$(CONFIG_USB_ISP1362_HCD) += isp1362-hcd.o obj-$(CONFIG_USB_OHCI_HCD) += ohci-hcd.o obj-$(CONFIG_USB_OHCI_HCD_PCI) += ohci-pci.o +obj-$(CONFIG_USB_OHCI_HCD_PLATFORM) += ohci-platform.o obj-$(CONFIG_USB_UHCI_HCD) += uhci-hcd.o obj-$(CONFIG_USB_FHCI_HCD) += fhci.o diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index 237be7c..39c7624 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c @@ -1258,12 +1258,8 @@ MODULE_LICENSE ("GPL"); #define PLATFORM_DRIVER ohci_hcd_tilegx_driver #endif -#ifdef CONFIG_USB_OHCI_HCD_PLATFORM -#include "ohci-platform.c" -#define PLATFORM_DRIVER ohci_platform_driver -#endif - #if !IS_ENABLED(CONFIG_USB_OHCI_HCD_PCI) && \ + !IS_ENABLED(CONFIG_USB_OHCI_HCD_PLATFORM) && \ !defined(PLATFORM_DRIVER) && \ !defined(OMAP1_PLATFORM_DRIVER) && \ !defined(OMAP3_PLATFORM_DRIVER) && \ diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c index 76a3531..8295375 100644 --- a/drivers/usb/host/ohci-platform.c +++ b/drivers/usb/host/ohci-platform.c @@ -13,16 +13,28 @@ * * Licensed under the GNU/GPL. See COPYING for details. */ + +#include <linux/hrtimer.h> +#include <linux/io.h> +#include <linux/kernel.h> +#include <linux/module.h> #include <linux/err.h> #include <linux/platform_device.h> #include <linux/usb/ohci_pdriver.h> +#include <linux/usb.h> +#include <linux/usb/hcd.h> + +#include "ohci.h" + +#define DRIVER_DESC "OHCI generic platform driver" + +static const char hcd_name[] = "ohci-platform"; static int ohci_platform_reset(struct usb_hcd *hcd) { struct platform_device *pdev = to_platform_device(hcd->self.controller); struct usb_ohci_pdata *pdata = pdev->dev.platform_data; struct ohci_hcd *ohci = hcd_to_ohci(hcd); - int err; if (pdata->big_endian_desc) ohci->flags |= OHCI_QUIRK_BE_DESC; @@ -30,58 +42,17 @@ static int ohci_platform_reset(struct usb_hcd *hcd) ohci->flags |= OHCI_QUIRK_BE_MMIO; if (pdata->no_big_frame_no) ohci->flags |= OHCI_QUIRK_FRAME_NO; - - ohci_hcd_init(ohci); - if (pdata->num_ports) ohci->num_ports = pdata->num_ports; - err = ohci_init(ohci); - - return err; -} - -static int ohci_platform_start(struct usb_hcd *hcd) -{ - struct ohci_hcd *ohci = hcd_to_ohci(hcd); - int err; - - err = ohci_run(ohci); - if (err < 0) { - ohci_err(ohci, "can't start\n"); - ohci_stop(hcd); - } - - return err; + return ohci_setup(ohci); } -static const struct hc_driver ohci_platform_hc_driver = { - .description = hcd_name, - .product_desc = "Generic Platform OHCI Controller", - .hcd_priv_size = sizeof(struct ohci_hcd), +static struct hc_driver __read_mostly ohci_platform_hc_driver; - .irq = ohci_irq, - .flags = HCD_MEMORY | HCD_USB11, - - .reset = ohci_platform_reset, - .start = ohci_platform_start, - .stop = ohci_stop, - .shutdown = ohci_shutdown, - - .urb_enqueue = ohci_urb_enqueue, - .urb_dequeue = ohci_urb_dequeue, - .endpoint_disable = ohci_endpoint_disable, - - .get_frame_number = ohci_get_frame, - - .hub_status_data = ohci_hub_status_data, - .hub_control = ohci_hub_control, -#ifdef CONFIG_PM - .bus_suspend = ohci_bus_suspend, - .bus_resume = ohci_bus_resume, -#endif - - .start_port_reset = ohci_start_port_reset, +static const struct ohci_driver_overrides platform_overrides = { + .product_desc = "Generic Platform EHCI controller", + .reset = ohci_platform_reset, }; static int ohci_platform_probe(struct platform_device *dev) @@ -222,3 +193,26 @@ static struct platform_driver ohci_platform_driver = { .pm = &ohci_platform_pm_ops, } }; + +static int __init ohci_platform_init(void) +{ + if (usb_disabled()) + return -ENODEV; + + pr_info("%s: " DRIVER_DESC "\n", hcd_name); + + ohci_init_driver(&ohci_platform_hc_driver, &platform_overrides); + return platform_driver_register(&ohci_platform_driver); +} +module_init(ohci_platform_init); + +static void __exit ohci_platform_cleanup(void) +{ + platform_driver_unregister(&ohci_platform_driver); +} +module_exit(ohci_platform_cleanup); + +MODULE_DESCRIPTION(DRIVER_DESC); +MODULE_AUTHOR("Hauke Mehrtens"); +MODULE_AUTHOR("Alan Stern"); +MODULE_LICENSE("GPL"); -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [RFC PATCH 1/2] USB: OHCI: make ohci-platform a separate driver 2013-05-30 9:50 ` [RFC PATCH 1/2] USB: OHCI: make ohci-platform a separate driver Manjunath Goudar @ 2013-05-30 17:23 ` Alan Stern 2013-05-30 17:28 ` Sergei Shtylyov 2013-06-03 15:14 ` [PATCH V3 0/2] USB: OHCI: Splitting ohci-platform into independent driver Manjunath Goudar 2013-06-03 15:16 ` [PATCH V3 0/2] USB: OHCI: Splitting ohci-platform into independent driver Manjunath Goudar 2 siblings, 1 reply; 18+ messages in thread From: Alan Stern @ 2013-05-30 17:23 UTC (permalink / raw) To: linux-arm-kernel On Thu, 30 May 2013, Manjunath Goudar wrote: > This patch splits the ohci-platform code from ohci-hcd out > into its own separate driver module.This work is part of enabling > multi-platform kernels on ARM. Okay, except... > +static const struct ohci_driver_overrides platform_overrides = { > + .product_desc = "Generic Platform EHCI controller", > + .reset = ohci_platform_reset, > }; Don't forget the __initconst annotation. After that is fixed, you can add my Acked-by. Alan Stern ^ permalink raw reply [flat|nested] 18+ messages in thread
* [RFC PATCH 1/2] USB: OHCI: make ohci-platform a separate driver 2013-05-30 17:23 ` Alan Stern @ 2013-05-30 17:28 ` Sergei Shtylyov 0 siblings, 0 replies; 18+ messages in thread From: Sergei Shtylyov @ 2013-05-30 17:28 UTC (permalink / raw) To: linux-arm-kernel Hello. On 05/30/2013 09:23 PM, Alan Stern wrote: > >> This patch splits the ohci-platform code from ohci-hcd out >> into its own separate driver module.This work is part of enabling >> multi-platform kernels on ARM. > Okay, except... > >> +static const struct ohci_driver_overrides platform_overrides = { >> + .product_desc = "Generic Platform EHCI controller", Maybe "OHCI"? :-) > Alan Stern WBR, Sergei ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH V3 0/2] USB: OHCI: Splitting ohci-platform into independent driver 2013-05-30 9:50 ` [RFC PATCH 1/2] USB: OHCI: make ohci-platform a separate driver Manjunath Goudar 2013-05-30 17:23 ` Alan Stern @ 2013-06-03 15:14 ` Manjunath Goudar 2013-06-03 15:14 ` [PATCH 1/2] USB: OHCI: make ohci-platform a separate driver Manjunath Goudar 2013-06-03 15:14 ` [PATCH 2/2] USB: OHCI: add a name for the platform-private field Manjunath Goudar 2013-06-03 15:16 ` [PATCH V3 0/2] USB: OHCI: Splitting ohci-platform into independent driver Manjunath Goudar 2 siblings, 2 replies; 18+ messages in thread From: Manjunath Goudar @ 2013-06-03 15:14 UTC (permalink / raw) To: linux-arm-kernel This series patch begins the process of splitting ohci-platform up into independent driver modules and add a name for the platform-private field. Patch 1/2 separate ohci-platform into independent driver modules. V2 to V3: Directly Passed "hcd" argument without calling ohci_to_hcd() function. Patch 2/2 adds an ohci->priv field for private use by OHCI platform drivers. V2 to V3: No changes. Manjunath Goudar (2): USB: OHCI: make ohci-platform a separate driver USB: OHCI: add a name for the platform-private field drivers/usb/host/Kconfig | 2 +- drivers/usb/host/Makefile | 1 + drivers/usb/host/ohci-hcd.c | 6 +-- drivers/usb/host/ohci-platform.c | 88 ++++++++++++++++++-------------------- drivers/usb/host/ohci.h | 3 ++ 5 files changed, 47 insertions(+), 53 deletions(-) -- 1.7.9.5 ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 1/2] USB: OHCI: make ohci-platform a separate driver 2013-06-03 15:14 ` [PATCH V3 0/2] USB: OHCI: Splitting ohci-platform into independent driver Manjunath Goudar @ 2013-06-03 15:14 ` Manjunath Goudar 2013-06-03 15:14 ` [PATCH 2/2] USB: OHCI: add a name for the platform-private field Manjunath Goudar 1 sibling, 0 replies; 18+ messages in thread From: Manjunath Goudar @ 2013-06-03 15:14 UTC (permalink / raw) To: linux-arm-kernel This patch splits the ohci-platform code from ohci-hcd out into its own separate driver module.This work is part of enabling multi-platform kernels on ARM. In V2: -Passed "hcd" argument instead of "ohci" in ohci_setup() because it is using "struct usb_hcd" argument. In V3: -Directly passed "hcd" argument not required to call ohci_to_hcd() function. Signed-off-by: Manjunath Goudar <manjunath.goudar@linaro.org> Acked-by: Alan Stern <stern@rowland.harvard.edu> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Greg KH <greg@kroah.com> Cc: linux-usb at vger.kernel.org --- drivers/usb/host/Kconfig | 2 +- drivers/usb/host/Makefile | 1 + drivers/usb/host/ohci-hcd.c | 6 +-- drivers/usb/host/ohci-platform.c | 88 ++++++++++++++++++-------------------- 4 files changed, 44 insertions(+), 53 deletions(-) diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index a0a2f3a..5391a38 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -501,7 +501,7 @@ config USB_CNS3XXX_OHCI It is needed for low-speed USB 1.0 device support. config USB_OHCI_HCD_PLATFORM - bool "Generic OHCI driver for a platform device" + tristate "Generic OHCI driver for a platform device" default n ---help--- Adds an OHCI host driver for a generic platform device, which diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile index 2214ded..8a89c3d 100644 --- a/drivers/usb/host/Makefile +++ b/drivers/usb/host/Makefile @@ -45,6 +45,7 @@ obj-$(CONFIG_USB_ISP1362_HCD) += isp1362-hcd.o obj-$(CONFIG_USB_OHCI_HCD) += ohci-hcd.o obj-$(CONFIG_USB_OHCI_HCD_PCI) += ohci-pci.o +obj-$(CONFIG_USB_OHCI_HCD_PLATFORM) += ohci-platform.o obj-$(CONFIG_USB_UHCI_HCD) += uhci-hcd.o obj-$(CONFIG_USB_FHCI_HCD) += fhci.o diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index 237be7c..39c7624 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c @@ -1258,12 +1258,8 @@ MODULE_LICENSE ("GPL"); #define PLATFORM_DRIVER ohci_hcd_tilegx_driver #endif -#ifdef CONFIG_USB_OHCI_HCD_PLATFORM -#include "ohci-platform.c" -#define PLATFORM_DRIVER ohci_platform_driver -#endif - #if !IS_ENABLED(CONFIG_USB_OHCI_HCD_PCI) && \ + !IS_ENABLED(CONFIG_USB_OHCI_HCD_PLATFORM) && \ !defined(PLATFORM_DRIVER) && \ !defined(OMAP1_PLATFORM_DRIVER) && \ !defined(OMAP3_PLATFORM_DRIVER) && \ diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c index 76a3531..bc30475 100644 --- a/drivers/usb/host/ohci-platform.c +++ b/drivers/usb/host/ohci-platform.c @@ -13,16 +13,28 @@ * * Licensed under the GNU/GPL. See COPYING for details. */ + +#include <linux/hrtimer.h> +#include <linux/io.h> +#include <linux/kernel.h> +#include <linux/module.h> #include <linux/err.h> #include <linux/platform_device.h> #include <linux/usb/ohci_pdriver.h> +#include <linux/usb.h> +#include <linux/usb/hcd.h> + +#include "ohci.h" + +#define DRIVER_DESC "OHCI generic platform driver" + +static const char hcd_name[] = "ohci-platform"; static int ohci_platform_reset(struct usb_hcd *hcd) { struct platform_device *pdev = to_platform_device(hcd->self.controller); struct usb_ohci_pdata *pdata = pdev->dev.platform_data; struct ohci_hcd *ohci = hcd_to_ohci(hcd); - int err; if (pdata->big_endian_desc) ohci->flags |= OHCI_QUIRK_BE_DESC; @@ -30,58 +42,17 @@ static int ohci_platform_reset(struct usb_hcd *hcd) ohci->flags |= OHCI_QUIRK_BE_MMIO; if (pdata->no_big_frame_no) ohci->flags |= OHCI_QUIRK_FRAME_NO; - - ohci_hcd_init(ohci); - if (pdata->num_ports) ohci->num_ports = pdata->num_ports; - err = ohci_init(ohci); - - return err; -} - -static int ohci_platform_start(struct usb_hcd *hcd) -{ - struct ohci_hcd *ohci = hcd_to_ohci(hcd); - int err; - - err = ohci_run(ohci); - if (err < 0) { - ohci_err(ohci, "can't start\n"); - ohci_stop(hcd); - } - - return err; + return ohci_setup(hcd); } -static const struct hc_driver ohci_platform_hc_driver = { - .description = hcd_name, - .product_desc = "Generic Platform OHCI Controller", - .hcd_priv_size = sizeof(struct ohci_hcd), +static struct hc_driver __read_mostly ohci_platform_hc_driver; - .irq = ohci_irq, - .flags = HCD_MEMORY | HCD_USB11, - - .reset = ohci_platform_reset, - .start = ohci_platform_start, - .stop = ohci_stop, - .shutdown = ohci_shutdown, - - .urb_enqueue = ohci_urb_enqueue, - .urb_dequeue = ohci_urb_dequeue, - .endpoint_disable = ohci_endpoint_disable, - - .get_frame_number = ohci_get_frame, - - .hub_status_data = ohci_hub_status_data, - .hub_control = ohci_hub_control, -#ifdef CONFIG_PM - .bus_suspend = ohci_bus_suspend, - .bus_resume = ohci_bus_resume, -#endif - - .start_port_reset = ohci_start_port_reset, +static const struct ohci_driver_overrides platform_overrides __initconst = { + .product_desc = "Generic Platform OHCI controller", + .reset = ohci_platform_reset, }; static int ohci_platform_probe(struct platform_device *dev) @@ -222,3 +193,26 @@ static struct platform_driver ohci_platform_driver = { .pm = &ohci_platform_pm_ops, } }; + +static int __init ohci_platform_init(void) +{ + if (usb_disabled()) + return -ENODEV; + + pr_info("%s: " DRIVER_DESC "\n", hcd_name); + + ohci_init_driver(&ohci_platform_hc_driver, &platform_overrides); + return platform_driver_register(&ohci_platform_driver); +} +module_init(ohci_platform_init); + +static void __exit ohci_platform_cleanup(void) +{ + platform_driver_unregister(&ohci_platform_driver); +} +module_exit(ohci_platform_cleanup); + +MODULE_DESCRIPTION(DRIVER_DESC); +MODULE_AUTHOR("Hauke Mehrtens"); +MODULE_AUTHOR("Alan Stern"); +MODULE_LICENSE("GPL"); -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 2/2] USB: OHCI: add a name for the platform-private field 2013-06-03 15:14 ` [PATCH V3 0/2] USB: OHCI: Splitting ohci-platform into independent driver Manjunath Goudar 2013-06-03 15:14 ` [PATCH 1/2] USB: OHCI: make ohci-platform a separate driver Manjunath Goudar @ 2013-06-03 15:14 ` Manjunath Goudar 1 sibling, 0 replies; 18+ messages in thread From: Manjunath Goudar @ 2013-06-03 15:14 UTC (permalink / raw) To: linux-arm-kernel This patch adds an ohci->priv field for private use by OHCI platform drivers. Until now none of the platform drivers has used this private space, but that's about to change in the next patch of this series. Signed-off-by: Manjunath Goudar <manjunath.goudar@linaro.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Greg KH <greg@kroah.com> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: linux-usb at vger.kernel.org --- drivers/usb/host/ohci.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/host/ohci.h b/drivers/usb/host/ohci.h index 3b58482..e2e5faa 100644 --- a/drivers/usb/host/ohci.h +++ b/drivers/usb/host/ohci.h @@ -421,6 +421,9 @@ struct ohci_hcd { struct dentry *debug_periodic; struct dentry *debug_registers; #endif + /* platform-specific data -- must come last */ + unsigned long priv[0] __aligned(sizeof(s64)); + }; #ifdef CONFIG_PCI -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH V3 0/2] USB: OHCI: Splitting ohci-platform into independent driver 2013-05-30 9:50 ` [RFC PATCH 1/2] USB: OHCI: make ohci-platform a separate driver Manjunath Goudar 2013-05-30 17:23 ` Alan Stern 2013-06-03 15:14 ` [PATCH V3 0/2] USB: OHCI: Splitting ohci-platform into independent driver Manjunath Goudar @ 2013-06-03 15:16 ` Manjunath Goudar 2013-06-03 15:16 ` [PATCH V3 1/2] USB: OHCI: make ohci-platform a separate driver Manjunath Goudar 2013-06-03 15:16 ` [PATCH V3 2/2] USB: OHCI: add a name for the platform-private field Manjunath Goudar 2 siblings, 2 replies; 18+ messages in thread From: Manjunath Goudar @ 2013-06-03 15:16 UTC (permalink / raw) To: linux-arm-kernel This series patch begins the process of splitting ohci-platform up into independent driver modules and add a name for the platform-private field. Patch 1/2 separate ohci-platform into independent driver modules. V2 to V3: Directly Passed "hcd" argument without calling ohci_to_hcd() function. Patch 2/2 adds an ohci->priv field for private use by OHCI platform drivers. V2 to V3: No changes. Manjunath Goudar (2): USB: OHCI: make ohci-platform a separate driver USB: OHCI: add a name for the platform-private field drivers/usb/host/Kconfig | 2 +- drivers/usb/host/Makefile | 1 + drivers/usb/host/ohci-hcd.c | 6 +-- drivers/usb/host/ohci-platform.c | 88 ++++++++++++++++++-------------------- drivers/usb/host/ohci.h | 3 ++ 5 files changed, 47 insertions(+), 53 deletions(-) -- 1.7.9.5 ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH V3 1/2] USB: OHCI: make ohci-platform a separate driver 2013-06-03 15:16 ` [PATCH V3 0/2] USB: OHCI: Splitting ohci-platform into independent driver Manjunath Goudar @ 2013-06-03 15:16 ` Manjunath Goudar 2013-06-03 15:16 ` [PATCH V3 2/2] USB: OHCI: add a name for the platform-private field Manjunath Goudar 1 sibling, 0 replies; 18+ messages in thread From: Manjunath Goudar @ 2013-06-03 15:16 UTC (permalink / raw) To: linux-arm-kernel This patch splits the ohci-platform code from ohci-hcd out into its own separate driver module.This work is part of enabling multi-platform kernels on ARM. In V2: -Passed "hcd" argument instead of "ohci" in ohci_setup() because it is using "struct usb_hcd" argument. In V3: -Directly passed "hcd" argument not required to call ohci_to_hcd() function. Signed-off-by: Manjunath Goudar <manjunath.goudar@linaro.org> Acked-by: Alan Stern <stern@rowland.harvard.edu> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Greg KH <greg@kroah.com> Cc: linux-usb at vger.kernel.org --- drivers/usb/host/Kconfig | 2 +- drivers/usb/host/Makefile | 1 + drivers/usb/host/ohci-hcd.c | 6 +-- drivers/usb/host/ohci-platform.c | 88 ++++++++++++++++++-------------------- 4 files changed, 44 insertions(+), 53 deletions(-) diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index a0a2f3a..5391a38 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -501,7 +501,7 @@ config USB_CNS3XXX_OHCI It is needed for low-speed USB 1.0 device support. config USB_OHCI_HCD_PLATFORM - bool "Generic OHCI driver for a platform device" + tristate "Generic OHCI driver for a platform device" default n ---help--- Adds an OHCI host driver for a generic platform device, which diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile index 2214ded..8a89c3d 100644 --- a/drivers/usb/host/Makefile +++ b/drivers/usb/host/Makefile @@ -45,6 +45,7 @@ obj-$(CONFIG_USB_ISP1362_HCD) += isp1362-hcd.o obj-$(CONFIG_USB_OHCI_HCD) += ohci-hcd.o obj-$(CONFIG_USB_OHCI_HCD_PCI) += ohci-pci.o +obj-$(CONFIG_USB_OHCI_HCD_PLATFORM) += ohci-platform.o obj-$(CONFIG_USB_UHCI_HCD) += uhci-hcd.o obj-$(CONFIG_USB_FHCI_HCD) += fhci.o diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index 237be7c..39c7624 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c @@ -1258,12 +1258,8 @@ MODULE_LICENSE ("GPL"); #define PLATFORM_DRIVER ohci_hcd_tilegx_driver #endif -#ifdef CONFIG_USB_OHCI_HCD_PLATFORM -#include "ohci-platform.c" -#define PLATFORM_DRIVER ohci_platform_driver -#endif - #if !IS_ENABLED(CONFIG_USB_OHCI_HCD_PCI) && \ + !IS_ENABLED(CONFIG_USB_OHCI_HCD_PLATFORM) && \ !defined(PLATFORM_DRIVER) && \ !defined(OMAP1_PLATFORM_DRIVER) && \ !defined(OMAP3_PLATFORM_DRIVER) && \ diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c index 76a3531..bc30475 100644 --- a/drivers/usb/host/ohci-platform.c +++ b/drivers/usb/host/ohci-platform.c @@ -13,16 +13,28 @@ * * Licensed under the GNU/GPL. See COPYING for details. */ + +#include <linux/hrtimer.h> +#include <linux/io.h> +#include <linux/kernel.h> +#include <linux/module.h> #include <linux/err.h> #include <linux/platform_device.h> #include <linux/usb/ohci_pdriver.h> +#include <linux/usb.h> +#include <linux/usb/hcd.h> + +#include "ohci.h" + +#define DRIVER_DESC "OHCI generic platform driver" + +static const char hcd_name[] = "ohci-platform"; static int ohci_platform_reset(struct usb_hcd *hcd) { struct platform_device *pdev = to_platform_device(hcd->self.controller); struct usb_ohci_pdata *pdata = pdev->dev.platform_data; struct ohci_hcd *ohci = hcd_to_ohci(hcd); - int err; if (pdata->big_endian_desc) ohci->flags |= OHCI_QUIRK_BE_DESC; @@ -30,58 +42,17 @@ static int ohci_platform_reset(struct usb_hcd *hcd) ohci->flags |= OHCI_QUIRK_BE_MMIO; if (pdata->no_big_frame_no) ohci->flags |= OHCI_QUIRK_FRAME_NO; - - ohci_hcd_init(ohci); - if (pdata->num_ports) ohci->num_ports = pdata->num_ports; - err = ohci_init(ohci); - - return err; -} - -static int ohci_platform_start(struct usb_hcd *hcd) -{ - struct ohci_hcd *ohci = hcd_to_ohci(hcd); - int err; - - err = ohci_run(ohci); - if (err < 0) { - ohci_err(ohci, "can't start\n"); - ohci_stop(hcd); - } - - return err; + return ohci_setup(hcd); } -static const struct hc_driver ohci_platform_hc_driver = { - .description = hcd_name, - .product_desc = "Generic Platform OHCI Controller", - .hcd_priv_size = sizeof(struct ohci_hcd), +static struct hc_driver __read_mostly ohci_platform_hc_driver; - .irq = ohci_irq, - .flags = HCD_MEMORY | HCD_USB11, - - .reset = ohci_platform_reset, - .start = ohci_platform_start, - .stop = ohci_stop, - .shutdown = ohci_shutdown, - - .urb_enqueue = ohci_urb_enqueue, - .urb_dequeue = ohci_urb_dequeue, - .endpoint_disable = ohci_endpoint_disable, - - .get_frame_number = ohci_get_frame, - - .hub_status_data = ohci_hub_status_data, - .hub_control = ohci_hub_control, -#ifdef CONFIG_PM - .bus_suspend = ohci_bus_suspend, - .bus_resume = ohci_bus_resume, -#endif - - .start_port_reset = ohci_start_port_reset, +static const struct ohci_driver_overrides platform_overrides __initconst = { + .product_desc = "Generic Platform OHCI controller", + .reset = ohci_platform_reset, }; static int ohci_platform_probe(struct platform_device *dev) @@ -222,3 +193,26 @@ static struct platform_driver ohci_platform_driver = { .pm = &ohci_platform_pm_ops, } }; + +static int __init ohci_platform_init(void) +{ + if (usb_disabled()) + return -ENODEV; + + pr_info("%s: " DRIVER_DESC "\n", hcd_name); + + ohci_init_driver(&ohci_platform_hc_driver, &platform_overrides); + return platform_driver_register(&ohci_platform_driver); +} +module_init(ohci_platform_init); + +static void __exit ohci_platform_cleanup(void) +{ + platform_driver_unregister(&ohci_platform_driver); +} +module_exit(ohci_platform_cleanup); + +MODULE_DESCRIPTION(DRIVER_DESC); +MODULE_AUTHOR("Hauke Mehrtens"); +MODULE_AUTHOR("Alan Stern"); +MODULE_LICENSE("GPL"); -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH V3 2/2] USB: OHCI: add a name for the platform-private field 2013-06-03 15:16 ` [PATCH V3 0/2] USB: OHCI: Splitting ohci-platform into independent driver Manjunath Goudar 2013-06-03 15:16 ` [PATCH V3 1/2] USB: OHCI: make ohci-platform a separate driver Manjunath Goudar @ 2013-06-03 15:16 ` Manjunath Goudar 2013-06-03 16:01 ` Alan Stern 1 sibling, 1 reply; 18+ messages in thread From: Manjunath Goudar @ 2013-06-03 15:16 UTC (permalink / raw) To: linux-arm-kernel This patch adds an ohci->priv field for private use by OHCI platform drivers. Until now none of the platform drivers has used this private space, but that's about to change in the next patch of this series. Signed-off-by: Manjunath Goudar <manjunath.goudar@linaro.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Greg KH <greg@kroah.com> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: linux-usb at vger.kernel.org --- drivers/usb/host/ohci.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/host/ohci.h b/drivers/usb/host/ohci.h index 3b58482..e2e5faa 100644 --- a/drivers/usb/host/ohci.h +++ b/drivers/usb/host/ohci.h @@ -421,6 +421,9 @@ struct ohci_hcd { struct dentry *debug_periodic; struct dentry *debug_registers; #endif + /* platform-specific data -- must come last */ + unsigned long priv[0] __aligned(sizeof(s64)); + }; #ifdef CONFIG_PCI -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH V3 2/2] USB: OHCI: add a name for the platform-private field 2013-06-03 15:16 ` [PATCH V3 2/2] USB: OHCI: add a name for the platform-private field Manjunath Goudar @ 2013-06-03 16:01 ` Alan Stern 0 siblings, 0 replies; 18+ messages in thread From: Alan Stern @ 2013-06-03 16:01 UTC (permalink / raw) To: linux-arm-kernel On Mon, 3 Jun 2013, Manjunath Goudar wrote: > This patch adds an ohci->priv field for private use by OHCI > platform drivers. > > Until now none of the platform drivers has used this private space, > but that's about to change in the next patch of this series. Acked-by: Alan Stern <stern@rowland.harvard.edu> ^ permalink raw reply [flat|nested] 18+ messages in thread
* [RFC PATCH 2/2] USB: OHCI: add a name for the platform-private field 2013-05-30 9:50 [PATCH 0/2] USB: OHCI: Splitting ohci-platform into independent driver Manjunath Goudar 2013-05-30 9:50 ` [RFC PATCH 1/2] USB: OHCI: make ohci-platform a separate driver Manjunath Goudar @ 2013-05-30 9:50 ` Manjunath Goudar 2013-05-30 17:26 ` Alan Stern 2013-05-31 12:08 ` [PATCH V2 0/2] USB: OHCI: Splitting ohci-platform into independent driver manjunath.goudar at linaro.org [not found] ` <1370002120-19495-1-git-send-email-y> 3 siblings, 1 reply; 18+ messages in thread From: Manjunath Goudar @ 2013-05-30 9:50 UTC (permalink / raw) To: linux-arm-kernel This patch adds an ohci->priv field for private use by OHCI platform drivers. Until now none of the platform drivers has used this private space, but that's about to change in the next patch of this series. Signed-off-by: Manjunath Goudar <manjunath.goudar@linaro.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Greg KH <greg@kroah.com> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: linux-usb at vger.kernel.org --- drivers/usb/host/ohci.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/host/ohci.h b/drivers/usb/host/ohci.h index 3b58482..e2e5faa 100644 --- a/drivers/usb/host/ohci.h +++ b/drivers/usb/host/ohci.h @@ -421,6 +421,9 @@ struct ohci_hcd { struct dentry *debug_periodic; struct dentry *debug_registers; #endif + /* platform-specific data -- must come last */ + unsigned long priv[0] __aligned(sizeof(s64)); + }; #ifdef CONFIG_PCI -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [RFC PATCH 2/2] USB: OHCI: add a name for the platform-private field 2013-05-30 9:50 ` [RFC PATCH " Manjunath Goudar @ 2013-05-30 17:26 ` Alan Stern 0 siblings, 0 replies; 18+ messages in thread From: Alan Stern @ 2013-05-30 17:26 UTC (permalink / raw) To: linux-arm-kernel On Thu, 30 May 2013, Manjunath Goudar wrote: > This patch adds an ohci->priv field for private use by OHCI > platform drivers. > > Until now none of the platform drivers has used this private space, > but that's about to change in the next patch of this series. As far as I'm concerned, this doesn't need to be in a patch of its own. It can be merged into the 1/3 patch of the previous series. After all, that patch adds the extra_priv_size field in ohci_driver_overrides, which doesn't make much sense unless there's a way to refer to the private part of the ohci_hcd structure. Alan Stern ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH V2 0/2] USB: OHCI: Splitting ohci-platform into independent driver 2013-05-30 9:50 [PATCH 0/2] USB: OHCI: Splitting ohci-platform into independent driver Manjunath Goudar 2013-05-30 9:50 ` [RFC PATCH 1/2] USB: OHCI: make ohci-platform a separate driver Manjunath Goudar 2013-05-30 9:50 ` [RFC PATCH " Manjunath Goudar @ 2013-05-31 12:08 ` manjunath.goudar at linaro.org [not found] ` <1370002120-19495-1-git-send-email-y> 3 siblings, 0 replies; 18+ messages in thread From: manjunath.goudar at linaro.org @ 2013-05-31 12:08 UTC (permalink / raw) To: linux-arm-kernel From: Manjunath Goudar <manjunath.goudar@linaro.org> This series patch begins the process of splitting ohci-platform up into independent driver modules and add a name for the platform-private field. Patch 1/2 separate ohci-platform into independent driver modules. V1 to V2: Passed "hcd" argment instead of "ohci" in ohci_setup(). Patch 2/2 adds an ohci->priv field for private use by OHCI platform drivers. V1 to V2: No changes. Manjunath Goudar (2): USB: OHCI: make ohci-platform a separate driver USB: OHCI: add a name for the platform-private field drivers/usb/host/Kconfig | 2 +- drivers/usb/host/Makefile | 1 + drivers/usb/host/ohci-hcd.c | 6 +-- drivers/usb/host/ohci-platform.c | 88 ++++++++++++++++++-------------------- drivers/usb/host/ohci.h | 3 ++ 5 files changed, 47 insertions(+), 53 deletions(-) -- 1.7.9.5 ^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <1370002120-19495-1-git-send-email-y>]
* [PATCH V2 1/2] USB: OHCI: make ohci-platform a separate driver [not found] ` <1370002120-19495-1-git-send-email-y> @ 2013-05-31 12:08 ` manjunath.goudar at linaro.org 2013-05-31 14:07 ` Alan Stern 2013-05-31 12:08 ` [PATCH V2 2/2] USB: OHCI: add a name for the platform-private field manjunath.goudar at linaro.org 1 sibling, 1 reply; 18+ messages in thread From: manjunath.goudar at linaro.org @ 2013-05-31 12:08 UTC (permalink / raw) To: linux-arm-kernel From: Manjunath Goudar <manjunath.goudar@linaro.org> This patch splits the ohci-platform code from ohci-hcd out into its own separate driver module.This work is part of enabling multi-platform kernels on ARM. In V2: -Passed "hcd" argment instead of "ohci" in ohci_setup() because it is using "struct usb_hcd" argment. Signed-off-by: Manjunath Goudar <manjunath.goudar@linaro.org> Acked-by: Alan Stern <stern@rowland.harvard.edu> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Greg KH <greg@kroah.com> Cc: linux-usb at vger.kernel.org --- drivers/usb/host/Kconfig | 2 +- drivers/usb/host/Makefile | 1 + drivers/usb/host/ohci-hcd.c | 6 +-- drivers/usb/host/ohci-platform.c | 88 ++++++++++++++++++-------------------- 4 files changed, 44 insertions(+), 53 deletions(-) diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index a0a2f3a..5391a38 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -501,7 +501,7 @@ config USB_CNS3XXX_OHCI It is needed for low-speed USB 1.0 device support. config USB_OHCI_HCD_PLATFORM - bool "Generic OHCI driver for a platform device" + tristate "Generic OHCI driver for a platform device" default n ---help--- Adds an OHCI host driver for a generic platform device, which diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile index 2214ded..8a89c3d 100644 --- a/drivers/usb/host/Makefile +++ b/drivers/usb/host/Makefile @@ -45,6 +45,7 @@ obj-$(CONFIG_USB_ISP1362_HCD) += isp1362-hcd.o obj-$(CONFIG_USB_OHCI_HCD) += ohci-hcd.o obj-$(CONFIG_USB_OHCI_HCD_PCI) += ohci-pci.o +obj-$(CONFIG_USB_OHCI_HCD_PLATFORM) += ohci-platform.o obj-$(CONFIG_USB_UHCI_HCD) += uhci-hcd.o obj-$(CONFIG_USB_FHCI_HCD) += fhci.o diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index 237be7c..39c7624 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c @@ -1258,12 +1258,8 @@ MODULE_LICENSE ("GPL"); #define PLATFORM_DRIVER ohci_hcd_tilegx_driver #endif -#ifdef CONFIG_USB_OHCI_HCD_PLATFORM -#include "ohci-platform.c" -#define PLATFORM_DRIVER ohci_platform_driver -#endif - #if !IS_ENABLED(CONFIG_USB_OHCI_HCD_PCI) && \ + !IS_ENABLED(CONFIG_USB_OHCI_HCD_PLATFORM) && \ !defined(PLATFORM_DRIVER) && \ !defined(OMAP1_PLATFORM_DRIVER) && \ !defined(OMAP3_PLATFORM_DRIVER) && \ diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c index 76a3531..288feed 100644 --- a/drivers/usb/host/ohci-platform.c +++ b/drivers/usb/host/ohci-platform.c @@ -13,16 +13,28 @@ * * Licensed under the GNU/GPL. See COPYING for details. */ + +#include <linux/hrtimer.h> +#include <linux/io.h> +#include <linux/kernel.h> +#include <linux/module.h> #include <linux/err.h> #include <linux/platform_device.h> #include <linux/usb/ohci_pdriver.h> +#include <linux/usb.h> +#include <linux/usb/hcd.h> + +#include "ohci.h" + +#define DRIVER_DESC "OHCI generic platform driver" + +static const char hcd_name[] = "ohci-platform"; static int ohci_platform_reset(struct usb_hcd *hcd) { struct platform_device *pdev = to_platform_device(hcd->self.controller); struct usb_ohci_pdata *pdata = pdev->dev.platform_data; struct ohci_hcd *ohci = hcd_to_ohci(hcd); - int err; if (pdata->big_endian_desc) ohci->flags |= OHCI_QUIRK_BE_DESC; @@ -30,58 +42,17 @@ static int ohci_platform_reset(struct usb_hcd *hcd) ohci->flags |= OHCI_QUIRK_BE_MMIO; if (pdata->no_big_frame_no) ohci->flags |= OHCI_QUIRK_FRAME_NO; - - ohci_hcd_init(ohci); - if (pdata->num_ports) ohci->num_ports = pdata->num_ports; - err = ohci_init(ohci); - - return err; -} - -static int ohci_platform_start(struct usb_hcd *hcd) -{ - struct ohci_hcd *ohci = hcd_to_ohci(hcd); - int err; - - err = ohci_run(ohci); - if (err < 0) { - ohci_err(ohci, "can't start\n"); - ohci_stop(hcd); - } - - return err; + return ohci_setup(ohci_to_hcd(ohci)); } -static const struct hc_driver ohci_platform_hc_driver = { - .description = hcd_name, - .product_desc = "Generic Platform OHCI Controller", - .hcd_priv_size = sizeof(struct ohci_hcd), +static struct hc_driver __read_mostly ohci_platform_hc_driver; - .irq = ohci_irq, - .flags = HCD_MEMORY | HCD_USB11, - - .reset = ohci_platform_reset, - .start = ohci_platform_start, - .stop = ohci_stop, - .shutdown = ohci_shutdown, - - .urb_enqueue = ohci_urb_enqueue, - .urb_dequeue = ohci_urb_dequeue, - .endpoint_disable = ohci_endpoint_disable, - - .get_frame_number = ohci_get_frame, - - .hub_status_data = ohci_hub_status_data, - .hub_control = ohci_hub_control, -#ifdef CONFIG_PM - .bus_suspend = ohci_bus_suspend, - .bus_resume = ohci_bus_resume, -#endif - - .start_port_reset = ohci_start_port_reset, +static const struct ohci_driver_overrides platform_overrides __initconst = { + .product_desc = "Generic Platform OHCI controller", + .reset = ohci_platform_reset, }; static int ohci_platform_probe(struct platform_device *dev) @@ -222,3 +193,26 @@ static struct platform_driver ohci_platform_driver = { .pm = &ohci_platform_pm_ops, } }; + +static int __init ohci_platform_init(void) +{ + if (usb_disabled()) + return -ENODEV; + + pr_info("%s: " DRIVER_DESC "\n", hcd_name); + + ohci_init_driver(&ohci_platform_hc_driver, &platform_overrides); + return platform_driver_register(&ohci_platform_driver); +} +module_init(ohci_platform_init); + +static void __exit ohci_platform_cleanup(void) +{ + platform_driver_unregister(&ohci_platform_driver); +} +module_exit(ohci_platform_cleanup); + +MODULE_DESCRIPTION(DRIVER_DESC); +MODULE_AUTHOR("Hauke Mehrtens"); +MODULE_AUTHOR("Alan Stern"); +MODULE_LICENSE("GPL"); -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH V2 1/2] USB: OHCI: make ohci-platform a separate driver 2013-05-31 12:08 ` [PATCH V2 1/2] USB: OHCI: make ohci-platform a separate driver manjunath.goudar at linaro.org @ 2013-05-31 14:07 ` Alan Stern 0 siblings, 0 replies; 18+ messages in thread From: Alan Stern @ 2013-05-31 14:07 UTC (permalink / raw) To: linux-arm-kernel On Fri, 31 May 2013 manjunath.goudar at linaro.org wrote: > From: Manjunath Goudar <manjunath.goudar@linaro.org> > > This patch splits the ohci-platform code from ohci-hcd out > into its own separate driver module.This work is part of enabling > multi-platform kernels on ARM. > > In V2: > -Passed "hcd" argment instead of "ohci" in ohci_setup() because it is > using "struct usb_hcd" argment. > @@ -30,58 +42,17 @@ static int ohci_platform_reset(struct usb_hcd *hcd) ... > + return ohci_setup(ohci_to_hcd(ohci)); You don't need to use ohci_to_hcd(), because the hcd value is already a parameter in this function. Alan Stern ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH V2 2/2] USB: OHCI: add a name for the platform-private field [not found] ` <1370002120-19495-1-git-send-email-y> 2013-05-31 12:08 ` [PATCH V2 1/2] USB: OHCI: make ohci-platform a separate driver manjunath.goudar at linaro.org @ 2013-05-31 12:08 ` manjunath.goudar at linaro.org 1 sibling, 0 replies; 18+ messages in thread From: manjunath.goudar at linaro.org @ 2013-05-31 12:08 UTC (permalink / raw) To: linux-arm-kernel From: Manjunath Goudar <manjunath.goudar@linaro.org> This patch adds an ohci->priv field for private use by OHCI platform drivers. Until now none of the platform drivers has used this private space, but that's about to change in the next patch of this series. In V2: No changes. Signed-off-by: Manjunath Goudar <manjunath.goudar@linaro.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Greg KH <greg@kroah.com> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: linux-usb at vger.kernel.org --- drivers/usb/host/ohci.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/host/ohci.h b/drivers/usb/host/ohci.h index 3b58482..e2e5faa 100644 --- a/drivers/usb/host/ohci.h +++ b/drivers/usb/host/ohci.h @@ -421,6 +421,9 @@ struct ohci_hcd { struct dentry *debug_periodic; struct dentry *debug_registers; #endif + /* platform-specific data -- must come last */ + unsigned long priv[0] __aligned(sizeof(s64)); + }; #ifdef CONFIG_PCI -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 18+ messages in thread
[parent not found: <CAJFYCKECv-a8TkngRZzKfPi4apRTRtjDj2tQfRMJS94n7sSsFQ@mail.gmail.com>]
* [RFC PATCH 2/2] USB: OHCI: add a name for the platform-private field [not found] <CAJFYCKECv-a8TkngRZzKfPi4apRTRtjDj2tQfRMJS94n7sSsFQ@mail.gmail.com> @ 2013-05-31 14:05 ` Alan Stern 0 siblings, 0 replies; 18+ messages in thread From: Alan Stern @ 2013-05-31 14:05 UTC (permalink / raw) To: linux-arm-kernel On Fri, 31 May 2013, Manjunath Goudar wrote: > On 30 May 2013 22:56, Alan Stern <stern@rowland.harvard.edu> wrote: > > > On Thu, 30 May 2013, Manjunath Goudar wrote: > > > > > This patch adds an ohci->priv field for private use by OHCI > > > platform drivers. > > > > > > Until now none of the platform drivers has used this private space, > > > but that's about to change in the next patch of this series. > > > > As far as I'm concerned, this doesn't need to be in a patch of its own. > > It can be merged into the 1/3 patch of the previous series. After all, > > that patch adds the extra_priv_size field in ohci_driver_overrides, > > which doesn't make much sense unless there's a way to refer to the > > private part of the ohci_hcd structure > > > > Already 1/3 patch is merged into main line kernel. Yeah, too late now. > Two days back only I started making ohci-spera a separate driver ,that time > I felt extra_priv_size field is required in ohci_driver_overrides that what > I created separate patch. > > extra_priv_size patch is related to Spear patch,If you are agree,I can add > this patch with Spear patch,making Spear patch series. No, we may as well keep it separate like this. Alan Stern ^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2013-06-03 16:01 UTC | newest] Thread overview: 18+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-05-30 9:50 [PATCH 0/2] USB: OHCI: Splitting ohci-platform into independent driver Manjunath Goudar 2013-05-30 9:50 ` [RFC PATCH 1/2] USB: OHCI: make ohci-platform a separate driver Manjunath Goudar 2013-05-30 17:23 ` Alan Stern 2013-05-30 17:28 ` Sergei Shtylyov 2013-06-03 15:14 ` [PATCH V3 0/2] USB: OHCI: Splitting ohci-platform into independent driver Manjunath Goudar 2013-06-03 15:14 ` [PATCH 1/2] USB: OHCI: make ohci-platform a separate driver Manjunath Goudar 2013-06-03 15:14 ` [PATCH 2/2] USB: OHCI: add a name for the platform-private field Manjunath Goudar 2013-06-03 15:16 ` [PATCH V3 0/2] USB: OHCI: Splitting ohci-platform into independent driver Manjunath Goudar 2013-06-03 15:16 ` [PATCH V3 1/2] USB: OHCI: make ohci-platform a separate driver Manjunath Goudar 2013-06-03 15:16 ` [PATCH V3 2/2] USB: OHCI: add a name for the platform-private field Manjunath Goudar 2013-06-03 16:01 ` Alan Stern 2013-05-30 9:50 ` [RFC PATCH " Manjunath Goudar 2013-05-30 17:26 ` Alan Stern 2013-05-31 12:08 ` [PATCH V2 0/2] USB: OHCI: Splitting ohci-platform into independent driver manjunath.goudar at linaro.org [not found] ` <1370002120-19495-1-git-send-email-y> 2013-05-31 12:08 ` [PATCH V2 1/2] USB: OHCI: make ohci-platform a separate driver manjunath.goudar at linaro.org 2013-05-31 14:07 ` Alan Stern 2013-05-31 12:08 ` [PATCH V2 2/2] USB: OHCI: add a name for the platform-private field manjunath.goudar at linaro.org [not found] <CAJFYCKECv-a8TkngRZzKfPi4apRTRtjDj2tQfRMJS94n7sSsFQ@mail.gmail.com> 2013-05-31 14:05 ` [RFC PATCH " Alan Stern
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).