aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/host/ehci-omap.c21
1 files changed, 1 insertions, 20 deletions
diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
index 755b428019a1..5de3e43ded50 100644
--- a/drivers/usb/host/ehci-omap.c
+++ b/drivers/usb/host/ehci-omap.c
@@ -29,12 +29,6 @@
29 * along with this program; if not, write to the Free Software 29 * along with this program; if not, write to the Free Software
30 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 30 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
31 * 31 *
32 * TODO (last updated Feb 27, 2010):
33 * - add kernel-doc
34 * - enable AUTOIDLE
35 * - add suspend/resume
36 * - add HSIC and TLL support
37 * - convert to use hwmod and runtime PM
38 */ 32 */
39 33
40#include <linux/kernel.h> 34#include <linux/kernel.h>
@@ -87,26 +81,12 @@ static inline u32 ehci_read(void __iomem *base, u32 reg)
87 return __raw_readl(base + reg); 81 return __raw_readl(base + reg);
88} 82}
89 83
90static int omap_ehci_init(struct usb_hcd *hcd)
91{
92 struct ehci_hcd *ehci = hcd_to_ehci(hcd);
93 int rc;
94
95 /* we know this is the memory we want, no need to ioremap again */
96 ehci->caps = hcd->regs;
97
98 rc = ehci_setup(hcd);
99
100 return rc;
101}
102
103/* configure so an HC device and id are always provided */ 84/* configure so an HC device and id are always provided */
104/* always called with process context; sleeping is OK */ 85/* always called with process context; sleeping is OK */
105 86
106static struct hc_driver __read_mostly ehci_omap_hc_driver; 87static struct hc_driver __read_mostly ehci_omap_hc_driver;
107 88
108static const struct ehci_driver_overrides ehci_omap_overrides __initdata = { 89static const struct ehci_driver_overrides ehci_omap_overrides __initdata = {
109 .reset = omap_ehci_init,
110 .extra_priv_size = sizeof(struct omap_hcd), 90 .extra_priv_size = sizeof(struct omap_hcd),
111}; 91};
112 92
@@ -179,6 +159,7 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev)
179 hcd->rsrc_start = res->start; 159 hcd->rsrc_start = res->start;
180 hcd->rsrc_len = resource_size(res); 160 hcd->rsrc_len = resource_size(res);
181 hcd->regs = regs; 161 hcd->regs = regs;
162 hcd_to_ehci(hcd)->caps = regs;
182 163
183 omap = (struct omap_hcd *)hcd_to_ehci(hcd)->priv; 164 omap = (struct omap_hcd *)hcd_to_ehci(hcd)->priv;
184 omap->nports = pdata->nports; 165 omap->nports = pdata->nports;