36#include <sys/condvar.h>
37#include <sys/kernel.h>
39#include <sys/malloc.h>
40#include <sys/module.h>
44#include <contrib/dev/acpica/include/acpi.h>
45#include <contrib/dev/acpica/include/accommon.h>
47#include <dev/acpica/acpivar.h>
76 if (acpi_disabled(
"dwc_otg"))
83 device_set_desc(
dev,
"DWC OTG 2.0 integrated USB controller");
85 return (BUS_PROBE_DEFAULT);
103 bus_alloc_resource_any(
dev, SYS_RES_MEMORY, &
rid, RF_ACTIVE);
110 bus_alloc_resource_any(
dev, SYS_RES_IRQ, &
rid, RF_ACTIVE);
116 err = device_probe_and_attach(sc->
sc_bus.
bdev);
134 device_delete_children(
dev);
148 bus_release_resource(
dev, SYS_RES_IRQ, 0,
154 bus_release_resource(
dev, SYS_RES_MEMORY, 0,
168 DEVMETHOD(device_suspend, bus_generic_suspend),
169 DEVMETHOD(device_resume, bus_generic_resume),
170 DEVMETHOD(device_shutdown, bus_generic_shutdown),
int dwc_otg_init(struct dwc_otg_softc *sc)
void dwc_otg_uninit(struct dwc_otg_softc *sc)
static driver_t dwc_otg_driver
static device_attach_t dwc_otg_detach
static device_probe_t dwc_otg_probe
static char * dwc_otg_ids[]
static device_attach_t dwc_otg_attach
static devclass_t dwc_otg_devclass
DRIVER_MODULE(dwcotg, acpi, dwc_otg_driver, dwc_otg_devclass, 0, 0)
MODULE_DEPEND(dwcotg, usb, 1, 1, 1)
static device_method_t dwc_otg_methods[]
struct resource * sc_irq_res
struct resource * sc_io_res
void usb_bus_mem_free_all(struct usb_bus *bus, usb_bus_mem_cb_t *cb)