15 cns3xxx_ohci_start(
struct usb_hcd *hcd)
36 ret = ohci_init(ohci);
44 dev_err(hcd->self.controller,
"can't start %s\n",
52 static const struct hc_driver cns3xxx_ohci_hc_driver = {
53 .description = hcd_name,
54 .product_desc =
"CNS3XXX OHCI Host controller",
55 .hcd_priv_size =
sizeof(
struct ohci_hcd),
57 .flags = HCD_USB11 | HCD_MEMORY,
58 .start = cns3xxx_ohci_start,
60 .shutdown = ohci_shutdown,
61 .urb_enqueue = ohci_urb_enqueue,
62 .urb_dequeue = ohci_urb_dequeue,
63 .endpoint_disable = ohci_endpoint_disable,
64 .get_frame_number = ohci_get_frame,
65 .hub_status_data = ohci_hub_status_data,
66 .hub_control = ohci_hub_control,
68 .bus_suspend = ohci_bus_suspend,
69 .bus_resume = ohci_bus_resume,
78 const struct hc_driver *
driver = &cns3xxx_ohci_hc_driver;
88 dev_err(dev,
"Found HC with no IRQ.\n");
99 dev_err(dev,
"Found HC with no register addr.\n");
103 hcd->rsrc_start = res->
start;
104 hcd->rsrc_len = resource_size(res);
107 driver->description)) {
108 dev_dbg(dev,
"controller already in use\n");
113 hcd->regs =
ioremap(hcd->rsrc_start, hcd->rsrc_len);
115 dev_dbg(dev,
"error mapping memory\n");
120 ohci_hcd_init(hcd_to_ohci(hcd));
136 struct usb_hcd *hcd = platform_get_drvdata(pdev);
153 platform_set_drvdata(pdev,
NULL);
161 .probe = cns3xxx_ohci_probe,
162 .remove = cns3xxx_ohci_remove,
164 .name =
"cns3xxx-ohci",