Lines Matching refs:sc_dci
74 struct octusb_softc sc_dci; /* must be first */
103 sc->sc_dci.sc_bus.parent = dev;
104 sc->sc_dci.sc_bus.devices = sc->sc_dci.sc_devices;
105 sc->sc_dci.sc_bus.devices_max = OCTUSB_MAX_DEVICES;
108 if (usb_bus_mem_alloc_all(&sc->sc_dci.sc_bus,
117 sc->sc_dci.sc_irq_res[i] =
120 if (!(sc->sc_dci.sc_irq_res[i])) {
125 err = bus_setup_intr(dev, sc->sc_dci.sc_irq_res[i], INTR_TYPE_BIO | INTR_MPSAFE,
126 NULL, (driver_intr_t *)octusb_interrupt, sc, &sc->sc_dci.sc_intr_hdl[i]);
128 err = bus_setup_intr(dev, sc->sc_dci.sc_irq_res[i], INTR_TYPE_BIO | INTR_MPSAFE,
129 (driver_intr_t *)octusb_interrupt, sc, &sc->sc_dci.sc_intr_hdl[i]);
132 sc->sc_dci.sc_intr_hdl[i] = NULL;
137 sc->sc_dci.sc_bus.bdev = device_add_child(dev, "usbus", -1);
138 if (!(sc->sc_dci.sc_bus.bdev)) {
141 device_set_ivars(sc->sc_dci.sc_bus.bdev, &sc->sc_dci.sc_bus);
144 err = octusb_init(&sc->sc_dci);
146 err = device_probe_and_attach(sc->sc_dci.sc_bus.bdev);
167 if (sc->sc_dci.sc_bus.bdev) {
168 bdev = sc->sc_dci.sc_bus.bdev;
175 if (sc->sc_dci.sc_irq_res[0] && sc->sc_dci.sc_intr_hdl[0])
179 octusb_uninit(&sc->sc_dci);
185 if (sc->sc_dci.sc_irq_res[0] && sc->sc_dci.sc_intr_hdl[0]) {
186 err = bus_teardown_intr(dev, sc->sc_dci.sc_irq_res[i],
187 sc->sc_dci.sc_intr_hdl[i]);
188 sc->sc_dci.sc_intr_hdl[i] = NULL;
190 if (sc->sc_dci.sc_irq_res) {
192 sc->sc_dci.sc_irq_res[i]);
193 sc->sc_dci.sc_irq_res[i] = NULL;
196 usb_bus_mem_free_all(&sc->sc_dci.sc_bus, NULL);