static int stg_isa_attach(device_t dev) { struct stg_softc *sc = device_get_softc(dev); int error; error = stg_alloc_resource(dev); if (error) { return(error); } error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_CAM | INTR_ENTROPY, stg_isa_intr, (void *)sc, &sc->stg_intrhand); if (error) { stg_release_resource(dev); return(error); } if (stgattach(dev) == 0) { stg_release_resource(dev); return(ENXIO); } return(0); }
static int stg_pccard_attach(DEVPORT_PDEVICE dev) { struct stg_softc *sc = device_get_softc(dev); int error; error = stg_alloc_resource(dev); if (error) { return(error); } error = bus_setup_intr(dev, sc->irq_res, 0, stg_pccard_intr, (void *)sc, &sc->stg_intrhand, NULL); if (error) { stg_release_resource(dev); return(error); } if (stgattach(dev) == 0) { stg_release_resource(dev); return(ENXIO); } return(0); }