On Wed, Oct 10, 2012 at 03:07:46PM -0400, Alan Stern wrote: > In preparation for splitting the ehci-hcd driver into a core library > and separate platform-specific driver modules, this patch (as1618) > moves ehci_update_device() from a couple of platform-specific source > files into ehci-lpm.c. This is where it should have been all along, > since all it does is call a couple of other functions that are already > in ehci-lpm.c. > > Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> > > --- > > drivers/usb/host/ehci-lpm.c | 23 ++++++++++++++++++++--- > drivers/usb/host/ehci-pci.c | 16 ---------------- > drivers/usb/host/ehci-vt8500.c | 16 ---------------- > 3 files changed, 20 insertions(+), 35 deletions(-) > > Index: usb-3.6/drivers/usb/host/ehci-lpm.c > =================================================================== > --- usb-3.6.orig/drivers/usb/host/ehci-lpm.c > +++ usb-3.6/drivers/usb/host/ehci-lpm.c > @@ -17,8 +17,8 @@ > */ > > /* this file is part of ehci-hcd.c */ > -static int __maybe_unused ehci_lpm_set_da(struct ehci_hcd *ehci, > - int dev_addr, int port_num) > + > +static int ehci_lpm_set_da(struct ehci_hcd *ehci, int dev_addr, int port_num) > { > u32 __iomem portsc; > > @@ -38,7 +38,7 @@ static int __maybe_unused ehci_lpm_set_d > * this function is used to check if the device support LPM > * if yes, mark the PORTSC register with PORT_LPM bit > */ > -static int __maybe_unused ehci_lpm_check(struct ehci_hcd *ehci, int port) > +static int ehci_lpm_check(struct ehci_hcd *ehci, int port) > { > u32 __iomem *portsc ; > u32 val32; > @@ -82,3 +82,20 @@ static int __maybe_unused ehci_lpm_check > > return retval; > } > + > +static int __maybe_unused ehci_update_device(struct usb_hcd *hcd, > + struct usb_device *udev) > +{ > + struct ehci_hcd *ehci = hcd_to_ehci(hcd); > + int rc = 0; > + > + if (!udev->parent) /* udev is root hub itself, impossible */ > + rc = -1; > + /* we only support lpm device connected to root hub yet */ > + if (ehci->has_lpm && !udev->parent->parent) { > + rc = ehci_lpm_set_da(ehci, udev->devnum, udev->portnum); > + if (!rc) > + rc = ehci_lpm_check(ehci, udev->portnum); > + } > + return rc; > +} > Index: usb-3.6/drivers/usb/host/ehci-pci.c > =================================================================== > --- usb-3.6.orig/drivers/usb/host/ehci-pci.c > +++ usb-3.6/drivers/usb/host/ehci-pci.c > @@ -379,22 +379,6 @@ static int ehci_pci_resume(struct usb_hc > } > #endif > > -static int ehci_update_device(struct usb_hcd *hcd, struct usb_device *udev) > -{ > - struct ehci_hcd *ehci = hcd_to_ehci(hcd); > - int rc = 0; > - > - if (!udev->parent) /* udev is root hub itself, impossible */ > - rc = -1; > - /* we only support lpm device connected to root hub yet */ > - if (ehci->has_lpm && !udev->parent->parent) { > - rc = ehci_lpm_set_da(ehci, udev->devnum, udev->portnum); > - if (!rc) > - rc = ehci_lpm_check(ehci, udev->portnum); > - } > - return rc; > -} > - > static const struct hc_driver ehci_pci_hc_driver = { > .description = hcd_name, > .product_desc = "EHCI Host Controller", > Index: usb-3.6/drivers/usb/host/ehci-vt8500.c > =================================================================== > --- usb-3.6.orig/drivers/usb/host/ehci-vt8500.c > +++ usb-3.6/drivers/usb/host/ehci-vt8500.c > @@ -19,22 +19,6 @@ > #include <linux/of.h> > #include <linux/platform_device.h> > > -static int ehci_update_device(struct usb_hcd *hcd, struct usb_device *udev) > -{ > - struct ehci_hcd *ehci = hcd_to_ehci(hcd); > - int rc = 0; > - > - if (!udev->parent) /* udev is root hub itself, impossible */ > - rc = -1; > - /* we only support lpm device connected to root hub yet */ > - if (ehci->has_lpm && !udev->parent->parent) { > - rc = ehci_lpm_set_da(ehci, udev->devnum, udev->portnum); > - if (!rc) > - rc = ehci_lpm_check(ehci, udev->portnum); > - } > - return rc; > -} > - > static const struct hc_driver vt8500_ehci_hc_driver = { > .description = hcd_name, > .product_desc = "VT8500 EHCI", > -- balbi
Attachment:
signature.asc
Description: Digital signature