Re: [PATCH] USB: host: Use usb_hcd_platform_shutdown() wherever possible

2013-07-10 Thread Roger Quadros
On 07/09/2013 05:16 PM, Alan Stern wrote:
 On Tue, 9 Jul 2013, Roger Quadros wrote:
 
 Most HCD drivers are doing the same thing in their .shutdown callback
 so it makes sense to use the generic usb_hcd_platform_shutdown()
 handler there.

 Signed-off-by: Roger Quadros rog...@ti.com
 ---
  drivers/usb/host/ehci-grlib.c |   11 +--
  drivers/usb/host/ehci-mxc.c   |   10 +-
  drivers/usb/host/ehci-omap.c  |   10 +-
  drivers/usb/host/ehci-ppc-of.c|   11 +--
  drivers/usb/host/ehci-s5p.c   |   10 +-
  drivers/usb/host/ehci-tegra.c |   10 +-
  drivers/usb/host/ehci-xilinx-of.c |   17 +
  drivers/usb/host/ohci-omap3.c |   10 +-
  8 files changed, 8 insertions(+), 81 deletions(-)
 
 This all looks fine.  But unless my kernel tree is out of date, you 
 missed ohci-ppc-of.c.

You are right. I missed it and will send a revision.

I've also noticed some drivers doing non-standard stuff.
e.g.
- ehci-ps3.c and ohci-pst set .shutdown as well as .remove to to ps3_ehci_remove
- ehci-tilegx.c and ohci-tilegx call .remove in the .shutdown path
- ehci-mv.c checks for (!hcd-rh_registered) in the shudown  remove patch.
Is this necessary?

cheers,
-roger
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] USB: host: Use usb_hcd_platform_shutdown() wherever possible

2013-07-10 Thread Alan Stern
On Wed, 10 Jul 2013, Roger Quadros wrote:

 On 07/09/2013 05:16 PM, Alan Stern wrote:
  On Tue, 9 Jul 2013, Roger Quadros wrote:
  
  Most HCD drivers are doing the same thing in their .shutdown callback
  so it makes sense to use the generic usb_hcd_platform_shutdown()
  handler there.
 
  Signed-off-by: Roger Quadros rog...@ti.com
  ---
   drivers/usb/host/ehci-grlib.c |   11 +--
   drivers/usb/host/ehci-mxc.c   |   10 +-
   drivers/usb/host/ehci-omap.c  |   10 +-
   drivers/usb/host/ehci-ppc-of.c|   11 +--
   drivers/usb/host/ehci-s5p.c   |   10 +-
   drivers/usb/host/ehci-tegra.c |   10 +-
   drivers/usb/host/ehci-xilinx-of.c |   17 +
   drivers/usb/host/ohci-omap3.c |   10 +-
   8 files changed, 8 insertions(+), 81 deletions(-)
  
  This all looks fine.  But unless my kernel tree is out of date, you 
  missed ohci-ppc-of.c.
 
 You are right. I missed it and will send a revision.
 
 I've also noticed some drivers doing non-standard stuff.
 e.g.
 - ehci-ps3.c and ohci-pst set .shutdown as well as .remove to to 
 ps3_ehci_remove

I don't know why they do that.  There not be any good reason.  You 
could try asking the PS3 platform maintainer.

 - ehci-tilegx.c and ohci-tilegx call .remove in the .shutdown path

Again, I don't know why.  The TILE architecture maintainer might know.

 - ehci-mv.c checks for (!hcd-rh_registered) in the shudown  remove patch.
 Is this necessary?

I suspect this is because the driver is trying to cope with switching
between host mode and device (peripheral) mode.  This doesn't seem like
a good way to implement OTG, but until it gets changed we'll have to
live with the driver the way it is.

Alan Stern

--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] USB: host: Use usb_hcd_platform_shutdown() wherever possible

2013-07-09 Thread Roger Quadros
Most HCD drivers are doing the same thing in their .shutdown callback
so it makes sense to use the generic usb_hcd_platform_shutdown()
handler there.

Signed-off-by: Roger Quadros rog...@ti.com
---
 drivers/usb/host/ehci-grlib.c |   11 +--
 drivers/usb/host/ehci-mxc.c   |   10 +-
 drivers/usb/host/ehci-omap.c  |   10 +-
 drivers/usb/host/ehci-ppc-of.c|   11 +--
 drivers/usb/host/ehci-s5p.c   |   10 +-
 drivers/usb/host/ehci-tegra.c |   10 +-
 drivers/usb/host/ehci-xilinx-of.c |   17 +
 drivers/usb/host/ohci-omap3.c |   10 +-
 8 files changed, 8 insertions(+), 81 deletions(-)

diff --git a/drivers/usb/host/ehci-grlib.c b/drivers/usb/host/ehci-grlib.c
index a77bd8d..83ab51a 100644
--- a/drivers/usb/host/ehci-grlib.c
+++ b/drivers/usb/host/ehci-grlib.c
@@ -167,15 +167,6 @@ static int ehci_hcd_grlib_remove(struct platform_device 
*op)
 }
 
 
-static void ehci_hcd_grlib_shutdown(struct platform_device *op)
-{
-   struct usb_hcd *hcd = platform_get_drvdata(op);
-
-   if (hcd-driver-shutdown)
-   hcd-driver-shutdown(hcd);
-}
-
-
 static const struct of_device_id ehci_hcd_grlib_of_match[] = {
{
.name = GAISLER_EHCI,
@@ -191,7 +182,7 @@ MODULE_DEVICE_TABLE(of, ehci_hcd_grlib_of_match);
 static struct platform_driver ehci_grlib_driver = {
.probe  = ehci_hcd_grlib_probe,
.remove = ehci_hcd_grlib_remove,
-   .shutdown   = ehci_hcd_grlib_shutdown,
+   .shutdown   = usb_hcd_platform_shutdown,
.driver = {
.name = grlib-ehci,
.owner = THIS_MODULE,
diff --git a/drivers/usb/host/ehci-mxc.c b/drivers/usb/host/ehci-mxc.c
index e4c34ac..030b539 100644
--- a/drivers/usb/host/ehci-mxc.c
+++ b/drivers/usb/host/ehci-mxc.c
@@ -197,20 +197,12 @@ static int ehci_mxc_drv_remove(struct platform_device 
*pdev)
return 0;
 }
 
-static void ehci_mxc_drv_shutdown(struct platform_device *pdev)
-{
-   struct usb_hcd *hcd = platform_get_drvdata(pdev);
-
-   if (hcd-driver-shutdown)
-   hcd-driver-shutdown(hcd);
-}
-
 MODULE_ALIAS(platform:mxc-ehci);
 
 static struct platform_driver ehci_mxc_driver = {
.probe = ehci_mxc_drv_probe,
.remove = ehci_mxc_drv_remove,
-   .shutdown = ehci_mxc_drv_shutdown,
+   .shutdown = usb_hcd_platform_shutdown,
.driver = {
   .name = mxc-ehci,
},
diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
index 9bd7dfe..4384d07 100644
--- a/drivers/usb/host/ehci-omap.c
+++ b/drivers/usb/host/ehci-omap.c
@@ -278,14 +278,6 @@ static int ehci_hcd_omap_remove(struct platform_device 
*pdev)
return 0;
 }
 
-static void ehci_hcd_omap_shutdown(struct platform_device *pdev)
-{
-   struct usb_hcd *hcd = dev_get_drvdata(pdev-dev);
-
-   if (hcd-driver-shutdown)
-   hcd-driver-shutdown(hcd);
-}
-
 static const struct of_device_id omap_ehci_dt_ids[] = {
{ .compatible = ti,ehci-omap },
{ }
@@ -296,7 +288,7 @@ MODULE_DEVICE_TABLE(of, omap_ehci_dt_ids);
 static struct platform_driver ehci_hcd_omap_driver = {
.probe  = ehci_hcd_omap_probe,
.remove = ehci_hcd_omap_remove,
-   .shutdown   = ehci_hcd_omap_shutdown,
+   .shutdown   = usb_hcd_platform_shutdown,
/*.suspend  = ehci_hcd_omap_suspend, */
/*.resume   = ehci_hcd_omap_resume, */
.driver = {
diff --git a/drivers/usb/host/ehci-ppc-of.c b/drivers/usb/host/ehci-ppc-of.c
index 86da09c..932293f 100644
--- a/drivers/usb/host/ehci-ppc-of.c
+++ b/drivers/usb/host/ehci-ppc-of.c
@@ -215,15 +215,6 @@ static int ehci_hcd_ppc_of_remove(struct platform_device 
*op)
 }
 
 
-static void ehci_hcd_ppc_of_shutdown(struct platform_device *op)
-{
-   struct usb_hcd *hcd = platform_get_drvdata(op);
-
-   if (hcd-driver-shutdown)
-   hcd-driver-shutdown(hcd);
-}
-
-
 static const struct of_device_id ehci_hcd_ppc_of_match[] = {
{
.compatible = usb-ehci,
@@ -236,7 +227,7 @@ MODULE_DEVICE_TABLE(of, ehci_hcd_ppc_of_match);
 static struct platform_driver ehci_hcd_ppc_of_driver = {
.probe  = ehci_hcd_ppc_of_probe,
.remove = ehci_hcd_ppc_of_remove,
-   .shutdown   = ehci_hcd_ppc_of_shutdown,
+   .shutdown   = usb_hcd_platform_shutdown,
.driver = {
.name = ppc-of-ehci,
.owner = THIS_MODULE,
diff --git a/drivers/usb/host/ehci-s5p.c b/drivers/usb/host/ehci-s5p.c
index 7cc26e6..aba645b 100644
--- a/drivers/usb/host/ehci-s5p.c
+++ b/drivers/usb/host/ehci-s5p.c
@@ -220,14 +220,6 @@ static int s5p_ehci_remove(struct platform_device *pdev)
return 0;
 }
 
-static void s5p_ehci_shutdown(struct platform_device *pdev)
-{
-   struct usb_hcd *hcd = platform_get_drvdata(pdev);
-
-   

Re: [PATCH] USB: host: Use usb_hcd_platform_shutdown() wherever possible

2013-07-09 Thread Felipe Balbi
On Tue, Jul 09, 2013 at 01:58:49PM +0300, Roger Quadros wrote:
 Most HCD drivers are doing the same thing in their .shutdown callback
 so it makes sense to use the generic usb_hcd_platform_shutdown()
 handler there.
 
 Signed-off-by: Roger Quadros rog...@ti.com

Reviewed-by: Felipe Balbi ba...@ti.com

-- 
balbi


signature.asc
Description: Digital signature