22 #include <linux/kernel.h>
28 #include "../host/ehci-hcd.c"
34 static int ci_ehci_setup(
struct usb_hcd *hcd)
36 struct ehci_hcd *ehci = hcd_to_ehci(hcd);
41 ret = ehci_setup(hcd);
45 ehci_port_power(ehci, 0);
50 static const struct hc_driver ci_ehci_hc_driver = {
51 .description =
"ehci_hcd",
52 .product_desc =
"ChipIdea HDRC EHCI",
53 .hcd_priv_size =
sizeof(
struct ehci_hcd),
59 .flags = HCD_MEMORY | HCD_USB2,
64 .reset = ci_ehci_setup,
67 .shutdown = ehci_shutdown,
72 .urb_enqueue = ehci_urb_enqueue,
73 .urb_dequeue = ehci_urb_dequeue,
74 .endpoint_disable = ehci_endpoint_disable,
75 .endpoint_reset = ehci_endpoint_reset,
80 .get_frame_number = ehci_get_frame,
85 .hub_status_data = ehci_hub_status_data,
86 .hub_control = ehci_hub_control,
89 .relinquish_port = ehci_relinquish_port,
90 .port_handed_over = ehci_port_handed_over,
92 .clear_tt_buffer_complete = ehci_clear_tt_buffer_complete,
100 static int host_start(
struct ci13xxx *ci)
114 hcd->rsrc_start = ci->
hw_bank.phys;
115 hcd->rsrc_len = ci->
hw_bank.size;
119 hcd->power_budget = ci->
platdata->power_budget;
122 ehci = hcd_to_ehci(hcd);
135 static void host_stop(
struct ci13xxx *ci)
137 struct usb_hcd *hcd = ci->
hcd;
154 rdrv->
start = host_start;
155 rdrv->
stop = host_stop;
156 rdrv->
irq = host_irq;