Lines Matching refs:ctlp

71 #define ISACTL(ctlp) ((ISACONTROLLER_t *)((ctlp)->bus_ctlp))  argument
132 static void rp_isareleaseresource(CONTROLLER_t *ctlp);
149 CONTROLLER_t *ctlp; in rp_probe() local
170 ctlp = device_get_softc(dev); in rp_probe()
171 bzero(ctlp, sizeof(*ctlp)); in rp_probe()
172 ctlp->dev = dev; in rp_probe()
173 ctlp->aiop2rid = rp_isa_aiop2rid; in rp_probe()
174 ctlp->aiop2off = rp_isa_aiop2off; in rp_probe()
175 ctlp->ctlmask = rp_isa_ctlmask; in rp_probe()
178 ctlp->io_num = 1; in rp_probe()
179 ctlp->io_rid = malloc(sizeof(*(ctlp->io_rid)) * MAX_AIOPS_PER_BOARD, M_DEVBUF, M_NOWAIT | M_ZERO); in rp_probe()
180 ctlp->io = malloc(sizeof(*(ctlp->io)) * MAX_AIOPS_PER_BOARD, M_DEVBUF, M_NOWAIT | M_ZERO); in rp_probe()
181 if (ctlp->io_rid == NULL || ctlp->io == NULL) { in rp_probe()
187 ctlp->bus_ctlp = malloc(sizeof(ISACONTROLLER_t) * 1, M_DEVBUF, M_NOWAIT | M_ZERO); in rp_probe()
188 if (ctlp->bus_ctlp == NULL) { in rp_probe()
194 ctlp->io_rid[0] = 0; in rp_probe()
197 ctlp->io[0] = bus_alloc_resource(dev, SYS_RES_IOPORT, &ctlp->io_rid[0], 0, ~0, 0x40, RF_ACTIVE); in rp_probe()
199 controller = rp_controller = ctlp; in rp_probe()
200 ctlp->io[0] = bus_alloc_resource(dev, SYS_RES_IOPORT, &ctlp->io_rid[0], 0, ~0, 0x44, RF_ACTIVE); in rp_probe()
202 if (ctlp->io[0] == NULL) { in rp_probe()
208 num_aiops = sInitController(ctlp, in rp_probe()
227 rp_isareleaseresource(ctlp); in rp_probe()
238 CONTROLLER_t *ctlp; in rp_attach() local
243 ctlp = device_get_softc(dev); in rp_attach()
246 num_aiops = sInitController(ctlp, in rp_attach()
251 num_aiops = ctlp->NumAiop; in rp_attach()
256 sResetAiopByNum(ctlp, aiop); in rp_attach()
257 sEnAiop(rp_controller, ctlp, aiop); in rp_attach()
258 num_ports += sGetAiopNumChan(ctlp, aiop); in rp_attach()
261 retval = rp_attachcommon(ctlp, num_aiops, num_ports); in rp_attach()
268 rp_isareleaseresource(ctlp); in rp_attach()
274 rp_isareleaseresource(CONTROLLER_t *ctlp) in rp_isareleaseresource() argument
278 rp_releaseresource(ctlp); in rp_isareleaseresource()
280 if (ctlp == rp_controller) in rp_isareleaseresource()
282 if (ctlp->io != NULL) { in rp_isareleaseresource()
284 if (ctlp->io[i] != NULL) in rp_isareleaseresource()
285 bus_release_resource(ctlp->dev, SYS_RES_IOPORT, ctlp->io_rid[i], ctlp->io[i]); in rp_isareleaseresource()
286 free(ctlp->io, M_DEVBUF); in rp_isareleaseresource()
288 if (ctlp->io_rid != NULL) in rp_isareleaseresource()
289 free(ctlp->io_rid, M_DEVBUF); in rp_isareleaseresource()
290 if (rp_controller != NULL && rp_controller->io[ISACTL(ctlp)->MBaseIO] != NULL) { in rp_isareleaseresource()
291 …r->dev, SYS_RES_IOPORT, rp_controller->io_rid[ISACTL(ctlp)->MBaseIO], rp_controller->io[ISACTL(ctl… in rp_isareleaseresource()
292 rp_controller->io[ISACTL(ctlp)->MBaseIO] = NULL; in rp_isareleaseresource()
293 rp_controller->io_rid[ISACTL(ctlp)->MBaseIO] = 0; in rp_isareleaseresource()
295 if (ctlp->bus_ctlp != NULL) in rp_isareleaseresource()
296 free(ctlp->bus_ctlp, M_DEVBUF); in rp_isareleaseresource()
483 rp_isa_ctlmask(CONTROLLER_t *ctlp) in rp_isa_ctlmask() argument
485 return sGetControllerIntStatus(rp_controller,ctlp); in rp_isa_ctlmask()