#define PORT_WAKE_BITS …
#ifdef CONFIG_PM
static void unlink_empty_async_suspended(struct ehci_hcd *ehci);
static int persist_enabled_on_companion(struct usb_device *udev, void *unused)
{ … }
static void ehci_handover_companion_ports(struct ehci_hcd *ehci)
{ … }
static int ehci_port_change(struct ehci_hcd *ehci)
{ … }
void ehci_adjust_port_wakeup_flags(struct ehci_hcd *ehci,
bool suspending, bool do_wakeup)
{ … }
EXPORT_SYMBOL_GPL(…);
static int ehci_bus_suspend (struct usb_hcd *hcd)
{ … }
static int ehci_bus_resume (struct usb_hcd *hcd)
{ … }
static unsigned long ehci_get_resuming_ports(struct usb_hcd *hcd)
{ … }
#else
#define ehci_bus_suspend …
#define ehci_bus_resume …
#define ehci_get_resuming_ports …
#endif
static void set_owner(struct ehci_hcd *ehci, int portnum, int new_owner)
{ … }
static int check_reset_complete (
struct ehci_hcd *ehci,
int index,
u32 __iomem *status_reg,
int port_status
) { … }
static int
ehci_hub_status_data (struct usb_hcd *hcd, char *buf)
{ … }
static void
ehci_hub_descriptor (
struct ehci_hcd *ehci,
struct usb_hub_descriptor *desc
) { … }
int ehci_hub_control(
struct usb_hcd *hcd,
u16 typeReq,
u16 wValue,
u16 wIndex,
char *buf,
u16 wLength
) { … }
EXPORT_SYMBOL_GPL(…);
static void ehci_relinquish_port(struct usb_hcd *hcd, int portnum)
{ … }
static int ehci_port_handed_over(struct usb_hcd *hcd, int portnum)
{ … }
static int ehci_port_power(struct ehci_hcd *ehci, int portnum, bool enable)
{ … }