Lines Matching refs:ia
174 checkattachargs(struct isa_attach_args *ia, const int *loc)
178 if (ia->ia_nio == 0) {
183 loc[ISACF_PORT] != ia->ia_io[0].ir_addr)
187 if (ia->ia_niomem == 0) {
192 loc[ISACF_IOMEM] != ia->ia_iomem[0].ir_addr)
196 if (ia->ia_nirq == 0) {
201 loc[ISACF_IRQ] != ia->ia_irq[0].ir_irq)
205 if (ia->ia_ndrq == 0) {
212 if (i == ia->ia_ndrq)
215 loc[ISACF_DRQ + i] != ia->ia_drq[i].ir_drq)
230 struct isa_attach_args *ia = aux;
241 if (ia->ia_pnpname != NULL)
242 aprint_normal("%s", ia->ia_pnpname);
243 if ((ipn = ia->ia_pnpcompatnames) != NULL) {
254 if (ia->ia_nio) {
257 for (i = 0; i < ia->ia_nio; i++) {
258 if (ia->ia_io[i].ir_size == 0)
260 aprint_normal("%s0x%x", sep, ia->ia_io[i].ir_addr);
261 if (ia->ia_io[i].ir_size > 1)
262 aprint_normal("-0x%x", ia->ia_io[i].ir_addr +
263 ia->ia_io[i].ir_size - 1);
268 if (ia->ia_niomem) {
271 for (i = 0; i < ia->ia_niomem; i++) {
272 if (ia->ia_iomem[i].ir_size == 0)
274 aprint_normal("%s0x%x", sep, ia->ia_iomem[i].ir_addr);
275 if (ia->ia_iomem[i].ir_size > 1)
276 aprint_normal("-0x%x", ia->ia_iomem[i].ir_addr +
277 ia->ia_iomem[i].ir_size - 1);
282 if (ia->ia_nirq) {
285 for (i = 0; i < ia->ia_nirq; i++) {
286 if (ia->ia_irq[i].ir_irq == ISACF_IRQ_DEFAULT)
288 aprint_normal("%s%d", sep, ia->ia_irq[i].ir_irq);
293 if (ia->ia_ndrq) {
296 for (i = 0; i < ia->ia_ndrq; i++) {
297 if (ia->ia_drq[i].ir_drq == ISACF_DRQ_DEFAULT)
299 aprint_normal("%s%d", sep, ia->ia_drq[i].ir_drq);
315 struct isa_attach_args ia;
320 ia.ia_pnpname = NULL;
321 ia.ia_pnpcompatnames = NULL;
335 ia.ia_iot = sc->sc_iot;
336 ia.ia_memt = sc->sc_memt;
337 ia.ia_dmat = sc->sc_dmat;
338 ia.ia_ic = sc->sc_ic;
340 ia.ia_io = res_io;
341 ia.ia_nio = 1;
343 ia.ia_iomem = res_mem;
344 ia.ia_niomem = 1;
346 ia.ia_irq = res_irq;
347 ia.ia_nirq = 1;
349 ia.ia_drq = res_drq;
350 ia.ia_ndrq = 2;
352 if (!checkattachargs(&ia, slocs))
356 if (config_probe(parent, cf, &ia)) {
361 flocs[ISACF_PORT] = ia.ia_io[0].ir_addr;
362 flocs[ISACF_SIZE] = ia.ia_io[0].ir_size;
363 flocs[ISACF_IOMEM] = ia.ia_iomem[0].ir_addr;
364 flocs[ISACF_IOSIZ] = ia.ia_iomem[0].ir_size;
365 flocs[ISACF_IRQ] = ia.ia_irq[0].ir_irq;
366 flocs[ISACF_DRQ] = ia.ia_drq[0].ir_drq;
367 flocs[ISACF_DRQ2] = ia.ia_drq[1].ir_drq;
368 config_attach(parent, cf, &ia, isaprint,