19 static int ohci_platform_reset(
struct usb_hcd *hcd)
34 err = ohci_init(ohci);
39 static int ohci_platform_start(
struct usb_hcd *hcd)
41 struct ohci_hcd *ohci = hcd_to_ohci(hcd);
53 static const struct hc_driver ohci_platform_hc_driver = {
54 .description = hcd_name,
55 .product_desc =
"Generic Platform OHCI Controller",
56 .hcd_priv_size =
sizeof(
struct ohci_hcd),
59 .flags = HCD_MEMORY | HCD_USB11,
61 .reset = ohci_platform_reset,
62 .start = ohci_platform_start,
64 .shutdown = ohci_shutdown,
66 .urb_enqueue = ohci_urb_enqueue,
67 .urb_dequeue = ohci_urb_dequeue,
68 .endpoint_disable = ohci_endpoint_disable,
70 .get_frame_number = ohci_get_frame,
72 .hub_status_data = ohci_hub_status_data,
73 .hub_control = ohci_hub_control,
75 .bus_suspend = ohci_bus_suspend,
76 .bus_resume = ohci_bus_resume,
100 pr_err(
"no irq provided");
106 pr_err(
"no memory recourse provided");
117 dev_name(&dev->
dev));
123 hcd->rsrc_start = res_mem->
start;
124 hcd->rsrc_len = resource_size(res_mem);
127 pr_err(
"controller already in use");
135 goto err_release_region;
141 platform_set_drvdata(dev, hcd);
160 struct usb_hcd *hcd = platform_get_drvdata(dev);
167 platform_set_drvdata(dev,
NULL);
202 ohci_finish_controller_resume(hcd);
207 #define ohci_platform_suspend NULL
208 #define ohci_platform_resume NULL
212 {
"ohci-platform", 0 },
217 static const struct dev_pm_ops ohci_platform_pm_ops = {
223 .id_table = ohci_platform_table,
224 .probe = ohci_platform_probe,
229 .name =
"ohci-platform",
230 .pm = &ohci_platform_pm_ops,