Commit 586491f5 authored by Peter Chen's avatar Peter Chen Committed by Ben Hutchings

usb: host: ehci-sys: delete useless bus_to_hcd conversion

commit 0521cfd0 upstream.

The ehci platform device's drvdata is the pointer of struct usb_hcd
already, so we doesn't need to call bus_to_hcd conversion again.
Signed-off-by: default avatarPeter Chen <peter.chen@freescale.com>
Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
[bwh: Backported to 3.2: Unfortunately some EHCI platform sub-drivers 
 point drvdata to a private structure, so only create and remove the
 attributes if drvdata has been set as expected.]
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
parent 8ba4fa58
...@@ -29,7 +29,7 @@ static ssize_t show_companion(struct device *dev, ...@@ -29,7 +29,7 @@ static ssize_t show_companion(struct device *dev,
int count = PAGE_SIZE; int count = PAGE_SIZE;
char *ptr = buf; char *ptr = buf;
ehci = hcd_to_ehci(bus_to_hcd(dev_get_drvdata(dev))); ehci = hcd_to_ehci(dev_get_drvdata(dev));
nports = HCS_N_PORTS(ehci->hcs_params); nports = HCS_N_PORTS(ehci->hcs_params);
for (index = 0; index < nports; ++index) { for (index = 0; index < nports; ++index) {
...@@ -54,7 +54,7 @@ static ssize_t store_companion(struct device *dev, ...@@ -54,7 +54,7 @@ static ssize_t store_companion(struct device *dev,
struct ehci_hcd *ehci; struct ehci_hcd *ehci;
int portnum, new_owner; int portnum, new_owner;
ehci = hcd_to_ehci(bus_to_hcd(dev_get_drvdata(dev))); ehci = hcd_to_ehci(dev_get_drvdata(dev));
new_owner = PORT_OWNER; /* Owned by companion */ new_owner = PORT_OWNER; /* Owned by companion */
if (sscanf(buf, "%d", &portnum) != 1) if (sscanf(buf, "%d", &portnum) != 1)
return -EINVAL; return -EINVAL;
...@@ -85,7 +85,7 @@ static ssize_t show_uframe_periodic_max(struct device *dev, ...@@ -85,7 +85,7 @@ static ssize_t show_uframe_periodic_max(struct device *dev,
struct ehci_hcd *ehci; struct ehci_hcd *ehci;
int n; int n;
ehci = hcd_to_ehci(bus_to_hcd(dev_get_drvdata(dev))); ehci = hcd_to_ehci(dev_get_drvdata(dev));
n = scnprintf(buf, PAGE_SIZE, "%d\n", ehci->uframe_periodic_max); n = scnprintf(buf, PAGE_SIZE, "%d\n", ehci->uframe_periodic_max);
return n; return n;
} }
...@@ -102,7 +102,7 @@ static ssize_t store_uframe_periodic_max(struct device *dev, ...@@ -102,7 +102,7 @@ static ssize_t store_uframe_periodic_max(struct device *dev,
unsigned long flags; unsigned long flags;
ssize_t ret; ssize_t ret;
ehci = hcd_to_ehci(bus_to_hcd(dev_get_drvdata(dev))); ehci = hcd_to_ehci(dev_get_drvdata(dev));
if (kstrtouint(buf, 0, &uframe_periodic_max) < 0) if (kstrtouint(buf, 0, &uframe_periodic_max) < 0)
return -EINVAL; return -EINVAL;
...@@ -167,6 +167,9 @@ static inline int create_sysfs_files(struct ehci_hcd *ehci) ...@@ -167,6 +167,9 @@ static inline int create_sysfs_files(struct ehci_hcd *ehci)
struct device *controller = ehci_to_hcd(ehci)->self.controller; struct device *controller = ehci_to_hcd(ehci)->self.controller;
int i = 0; int i = 0;
if (dev_get_drvdata(controller) != ehci_to_hcd(ehci))
return 0;
/* with integrated TT there is no companion! */ /* with integrated TT there is no companion! */
if (!ehci_is_TDI(ehci)) if (!ehci_is_TDI(ehci))
i = device_create_file(controller, &dev_attr_companion); i = device_create_file(controller, &dev_attr_companion);
...@@ -182,6 +185,9 @@ static inline void remove_sysfs_files(struct ehci_hcd *ehci) ...@@ -182,6 +185,9 @@ static inline void remove_sysfs_files(struct ehci_hcd *ehci)
{ {
struct device *controller = ehci_to_hcd(ehci)->self.controller; struct device *controller = ehci_to_hcd(ehci)->self.controller;
if (dev_get_drvdata(controller) != ehci_to_hcd(ehci))
return;
/* with integrated TT there is no companion! */ /* with integrated TT there is no companion! */
if (!ehci_is_TDI(ehci)) if (!ehci_is_TDI(ehci))
device_remove_file(controller, &dev_attr_companion); device_remove_file(controller, &dev_attr_companion);
......
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