Lines Matching refs:sdi
306 struct bhnd_usb_devinfo *sdi;
308 sdi = device_get_ivars(child);
310 return (&sdi->sdi_rl);
356 struct bhnd_usb_devinfo *sdi;
361 sdi = device_get_ivars(dev);
362 rl = &sdi->sdi_rl;
391 struct bhnd_usb_devinfo *sdi;
397 sdi = malloc(sizeof(struct bhnd_usb_devinfo), M_DEVBUF, M_NOWAIT|M_ZERO);
398 if (sdi == NULL)
401 resource_list_init(&sdi->sdi_rl);
402 sdi->sdi_irq_mapped = false;
406 sdi->sdi_maddr = sc->sc_maddr + 0x000;
407 sdi->sdi_msize = 0x200;
411 sdi->sdi_maddr = sc->sc_maddr + 0x000;
412 sdi->sdi_msize = 0x1000;
420 if ((error = bhnd_map_intr(dev, 0, &sdi->sdi_irq))) {
425 sdi->sdi_irq_mapped = true;
427 BHND_INFO_DEV(dev, "%s: irq=%ju maddr=0x%jx", name, sdi->sdi_irq,
428 sdi->sdi_maddr);
433 resource_list_add(&sdi->sdi_rl, SYS_RES_MEMORY, 0, sdi->sdi_maddr,
434 sdi->sdi_maddr + sdi->sdi_msize - 1, sdi->sdi_msize);
436 resource_list_add(&sdi->sdi_rl, SYS_RES_IRQ, 0, sdi->sdi_irq,
437 sdi->sdi_irq, 1);
445 device_set_ivars(child, sdi);
449 if (sdi->sdi_irq_mapped)
450 bhnd_unmap_intr(dev, sdi->sdi_irq);
452 resource_list_free(&sdi->sdi_rl);
454 free(sdi, M_DEVBUF);