Commit d39dbc89 authored by Alan Stern's avatar Alan Stern Committed by Greg Kroah-Hartman

USB: EHCI: move ehci_update_device() to ehci-lpm.c

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: default avatarAlan Stern <stern@rowland.harvard.edu>
Acked-by: default avatarFelipe Balbi <balbi@ti.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent acc08503
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
*/ */
/* this file is part of ehci-hcd.c */ /* 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; u32 __iomem portsc;
...@@ -38,7 +38,7 @@ static int __maybe_unused ehci_lpm_set_da(struct ehci_hcd *ehci, ...@@ -38,7 +38,7 @@ static int __maybe_unused ehci_lpm_set_da(struct ehci_hcd *ehci,
* this function is used to check if the device support LPM * this function is used to check if the device support LPM
* if yes, mark the PORTSC register with PORT_LPM bit * 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 __iomem *portsc ;
u32 val32; u32 val32;
...@@ -82,3 +82,20 @@ static int __maybe_unused ehci_lpm_check(struct ehci_hcd *ehci, int port) ...@@ -82,3 +82,20 @@ static int __maybe_unused ehci_lpm_check(struct ehci_hcd *ehci, int port)
return retval; 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;
}
...@@ -379,22 +379,6 @@ static int ehci_pci_resume(struct usb_hcd *hcd, bool hibernated) ...@@ -379,22 +379,6 @@ static int ehci_pci_resume(struct usb_hcd *hcd, bool hibernated)
} }
#endif #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 = { static const struct hc_driver ehci_pci_hc_driver = {
.description = hcd_name, .description = hcd_name,
.product_desc = "EHCI Host Controller", .product_desc = "EHCI Host Controller",
......
...@@ -19,22 +19,6 @@ ...@@ -19,22 +19,6 @@
#include <linux/of.h> #include <linux/of.h>
#include <linux/platform_device.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 = { static const struct hc_driver vt8500_ehci_hc_driver = {
.description = hcd_name, .description = hcd_name,
.product_desc = "VT8500 EHCI", .product_desc = "VT8500 EHCI",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment