14 #include <linux/signal.h>
16 static int ohci_xls_probe_internal(
const struct hc_driver *
driver,
33 dev_err(&dev->
dev,
"MMIO Handle incorrect!\n");
42 hcd->rsrc_start = res->
start;
43 hcd->rsrc_len = resource_size(res);
46 driver->description)) {
47 dev_dbg(&dev->
dev,
"Controller already in use\n");
53 if (hcd->regs ==
NULL) {
75 static int ohci_xls_reset(
struct usb_hcd *hcd)
80 return ohci_init(ohci);
83 static int __devinit ohci_xls_start(
struct usb_hcd *hcd)
88 ohci = hcd_to_ohci(hcd);
91 dev_err(hcd->self.controller,
"can't start %s\n",
99 static struct hc_driver ohci_xls_hc_driver = {
100 .description = hcd_name,
101 .product_desc =
"XLS OHCI Host Controller",
102 .hcd_priv_size =
sizeof(
struct ohci_hcd),
104 .flags = HCD_MEMORY | HCD_USB11,
105 .reset = ohci_xls_reset,
106 .start = ohci_xls_start,
108 .shutdown = ohci_shutdown,
109 .urb_enqueue = ohci_urb_enqueue,
110 .urb_dequeue = ohci_urb_dequeue,
111 .endpoint_disable = ohci_endpoint_disable,
112 .get_frame_number = ohci_get_frame,
113 .hub_status_data = ohci_hub_status_data,
114 .hub_control = ohci_hub_control,
116 .bus_suspend = ohci_bus_suspend,
117 .bus_resume = ohci_bus_resume,
129 ret = ohci_xls_probe_internal(&ohci_xls_hc_driver, dev);
135 struct usb_hcd *hcd = platform_get_drvdata(dev);
145 .probe = ohci_xls_probe,
146 .remove = ohci_xls_remove,
149 .name =
"ohci-xls-0",