#define dbg_port(hc,label,num,value) …
#define OHCI_SCHED_ENABLES …
static void update_done_list(struct ohci_hcd *);
static void ohci_work(struct ohci_hcd *);
#ifdef CONFIG_PM
static int ohci_rh_suspend (struct ohci_hcd *ohci, int autostop)
__releases(ohci->lock)
__acquires(ohci->lock)
{ … }
static inline struct ed *find_head (struct ed *ed)
{ … }
static int ohci_rh_resume (struct ohci_hcd *ohci)
__releases(ohci->lock)
__acquires(ohci->lock)
{ … }
static int ohci_bus_suspend (struct usb_hcd *hcd)
{ … }
static int ohci_bus_resume (struct usb_hcd *hcd)
{ … }
static int ohci_root_hub_state_changes(struct ohci_hcd *ohci, int changed,
int any_connected, int rhsc_status)
{ … }
#else
static inline int ohci_rh_resume(struct ohci_hcd *ohci)
{
return 0;
}
static int ohci_root_hub_state_changes(struct ohci_hcd *ohci, int changed,
int any_connected, int rhsc_status)
{
if (ohci_readl(ohci, &ohci->regs->intrenable) & OHCI_INTR_RHSC)
return 0;
if (changed || rhsc_status)
return 1;
ohci_writel(ohci, OHCI_INTR_RHSC, &ohci->regs->intrenable);
return 0;
}
#endif
int ohci_hub_status_data(struct usb_hcd *hcd, char *buf)
{ … }
EXPORT_SYMBOL_GPL(…);
static void
ohci_hub_descriptor (
struct ohci_hcd *ohci,
struct usb_hub_descriptor *desc
) { … }
#ifdef CONFIG_USB_OTG
static int ohci_start_port_reset (struct usb_hcd *hcd, unsigned port)
{ … }
#else
#define ohci_start_port_reset …
#endif
#define PORT_RESET_MSEC …
#define PORT_RESET_HW_MSEC …
#define tick_before(t1,t2) …
static inline int root_port_reset (struct ohci_hcd *ohci, unsigned port)
{ … }
int ohci_hub_control(
struct usb_hcd *hcd,
u16 typeReq,
u16 wValue,
u16 wIndex,
char *buf,
u16 wLength
) { … }
EXPORT_SYMBOL_GPL(…);