Lines Matching defs:sc_ohci

75 	struct ohci_softc sc_ohci;	/* must be first */
99 sc->sc_ohci.sc_bus.parent = dev;
100 sc->sc_ohci.sc_bus.devices = sc->sc_ohci.sc_devices;
101 sc->sc_ohci.sc_bus.devices_max = OHCI_MAX_DEVICES;
102 sc->sc_ohci.sc_bus.dma_bits = 32;
105 if (usb_bus_mem_alloc_all(&sc->sc_ohci.sc_bus,
113 sc->sc_ohci.sc_dev = dev;
116 sc->sc_ohci.sc_io_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
119 if (!(sc->sc_ohci.sc_io_res)) {
123 sc->sc_ohci.sc_io_tag = rman_get_bustag(sc->sc_ohci.sc_io_res);
124 sc->sc_ohci.sc_io_hdl = rman_get_bushandle(sc->sc_ohci.sc_io_res);
125 sc->sc_ohci.sc_io_size = rman_get_size(sc->sc_ohci.sc_io_res);
128 sc->sc_ohci.sc_irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid,
130 if (!(sc->sc_ohci.sc_irq_res)) {
133 sc->sc_ohci.sc_bus.bdev = device_add_child(dev, "usbus", -1);
134 if (!(sc->sc_ohci.sc_bus.bdev)) {
137 device_set_ivars(sc->sc_ohci.sc_bus.bdev, &sc->sc_ohci.sc_bus);
139 strlcpy(sc->sc_ohci.sc_vendor, "Atmel", sizeof(sc->sc_ohci.sc_vendor));
141 err = bus_setup_intr(dev, sc->sc_ohci.sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE,
142 NULL, (driver_intr_t *)ohci_interrupt, sc, &sc->sc_ohci.sc_intr_hdl);
144 sc->sc_ohci.sc_intr_hdl = NULL;
153 bus_space_write_4(sc->sc_ohci.sc_io_tag, sc->sc_ohci.sc_io_hdl,
156 err = ohci_init(&sc->sc_ohci);
158 err = device_probe_and_attach(sc->sc_ohci.sc_bus.bdev);
177 if (sc->sc_ohci.sc_bus.bdev) {
178 bdev = sc->sc_ohci.sc_bus.bdev;
185 if (sc->sc_ohci.sc_io_res != NULL) {
195 bus_space_write_4(sc->sc_ohci.sc_io_tag, sc->sc_ohci.sc_io_hdl,
205 if (sc->sc_ohci.sc_irq_res && sc->sc_ohci.sc_intr_hdl) {
209 ohci_detach(&sc->sc_ohci);
211 err = bus_teardown_intr(dev, sc->sc_ohci.sc_irq_res,
212 sc->sc_ohci.sc_intr_hdl);
213 sc->sc_ohci.sc_intr_hdl = NULL;
215 if (sc->sc_ohci.sc_irq_res) {
216 bus_release_resource(dev, SYS_RES_IRQ, 0, sc->sc_ohci.sc_irq_res);
217 sc->sc_ohci.sc_irq_res = NULL;
219 if (sc->sc_ohci.sc_io_res) {
221 sc->sc_ohci.sc_io_res);
222 sc->sc_ohci.sc_io_res = NULL;
225 usb_bus_mem_free_all(&sc->sc_ohci.sc_bus, &ohci_iterate_hw_softc);