diff options
author | hselasky <hselasky@FreeBSD.org> | 2011-12-31 13:34:42 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2011-12-31 13:34:42 +0000 |
commit | 9aad23ca6fbda0dbacb770d1385609ebc1ea8796 (patch) | |
tree | 2acc8b4b2c03477f553a1ca2f5ed86f1a36c2a92 | |
parent | 596f1a19e7c884be2c86e55f6c0053453c04acc7 (diff) | |
download | FreeBSD-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.c | 36 | ||||
-rw-r--r-- | sys/dev/usb/controller/xhci.h | 3 |
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_ */ |