summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2011-12-31 13:34:42 +0000
committerhselasky <hselasky@FreeBSD.org>2011-12-31 13:34:42 +0000
commit9aad23ca6fbda0dbacb770d1385609ebc1ea8796 (patch)
tree2acc8b4b2c03477f553a1ca2f5ed86f1a36c2a92
parent596f1a19e7c884be2c86e55f6c0053453c04acc7 (diff)
downloadFreeBSD-src-9aad23ca6fbda0dbacb770d1385609ebc1ea8796.zip
FreeBSD-src-9aad23ca6fbda0dbacb770d1385609ebc1ea8796.tar.gz
Add missing change to XHCI driver similar to changes in r228483.
MFC after: 0 days
-rw-r--r--sys/dev/usb/controller/xhci.c36
-rw-r--r--sys/dev/usb/controller/xhci.h3
2 files changed, 20 insertions, 19 deletions
diff --git a/sys/dev/usb/controller/xhci.c b/sys/dev/usb/controller/xhci.c
index 9bc7d21..c20e3bd 100644
--- a/sys/dev/usb/controller/xhci.c
+++ b/sys/dev/usb/controller/xhci.c
@@ -550,24 +550,27 @@ xhci_uninit(struct xhci_softc *sc)
sx_destroy(&sc->sc_cmd_sx);
}
-void
-xhci_suspend(struct xhci_softc *sc)
-{
- /* XXX TODO */
-}
-
-void
-xhci_resume(struct xhci_softc *sc)
-{
- /* XXX TODO */
-}
-
-void
-xhci_shutdown(struct xhci_softc *sc)
+static void
+xhci_set_hw_power_sleep(struct usb_bus *bus, uint32_t state)
{
- DPRINTF("Stopping the XHCI\n");
+ struct xhci_softc *sc = XHCI_BUS2SC(bus);
- xhci_halt_controller(sc);
+ switch (state) {
+ case USB_HW_POWER_SUSPEND:
+ DPRINTF("Stopping the XHCI\n");
+ xhci_halt_controller(sc);
+ break;
+ case USB_HW_POWER_SHUTDOWN:
+ DPRINTF("Stopping the XHCI\n");
+ xhci_halt_controller(sc);
+ break;
+ case USB_HW_POWER_RESUME:
+ DPRINTF("Starting the XHCI\n");
+ xhci_start_controller(sc);
+ break;
+ default:
+ break;
+ }
}
static usb_error_t
@@ -3928,4 +3931,5 @@ struct usb_bus_methods xhci_bus_methods = {
.set_address = xhci_set_address,
.clear_stall = xhci_ep_clear_stall,
.device_state_change = xhci_device_state_change,
+ .set_hw_power_sleep = xhci_set_hw_power_sleep,
};
diff --git a/sys/dev/usb/controller/xhci.h b/sys/dev/usb/controller/xhci.h
index 81f392a..14afcaf 100644
--- a/sys/dev/usb/controller/xhci.h
+++ b/sys/dev/usb/controller/xhci.h
@@ -494,9 +494,6 @@ usb_error_t xhci_halt_controller(struct xhci_softc *);
usb_error_t xhci_init(struct xhci_softc *, device_t);
usb_error_t xhci_start_controller(struct xhci_softc *);
void xhci_interrupt(struct xhci_softc *);
-void xhci_resume(struct xhci_softc *);
-void xhci_shutdown(struct xhci_softc *);
-void xhci_suspend(struct xhci_softc *);
void xhci_uninit(struct xhci_softc *);
#endif /* _XHCI_H_ */
OpenPOWER on IntegriCloud