Lines Matching refs:softc
176 struct gpio_softc *softc; in gpio_getinfo() local
180 if ((softc = getsoftc(instance)) == NULL) { in gpio_getinfo()
184 *result = (void *)softc->gp_dip; in gpio_getinfo()
204 struct gpio_softc *softc = NULL; in gpio_attach() local
217 softc = getsoftc(instance); in gpio_attach()
218 softc->gp_dip = dip; in gpio_attach()
219 softc->gp_state = 0; in gpio_attach()
220 mutex_init(&softc->gp_mutex, NULL, MUTEX_DRIVER, NULL); in gpio_attach()
227 if (ddi_regs_map_setup(dip, 0, (caddr_t *)&softc->gp_regs, 0, 0, in gpio_attach()
228 &dev_attr, &softc->gp_handle) != DDI_SUCCESS) in gpio_attach()
230 DBG(dip, "attach: regs=0x%p", (uintptr_t)softc->gp_regs, in gpio_attach()
233 (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[0]), in gpio_attach()
236 (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[1]), in gpio_attach()
239 (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[2]), in gpio_attach()
242 (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[3]), in gpio_attach()
245 (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[4]), in gpio_attach()
248 (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[5]), in gpio_attach()
251 (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[6]), in gpio_attach()
254 (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[7]), in gpio_attach()
261 ddi_regs_map_free(&softc->gp_handle); in gpio_attach()
279 if (softc) { in gpio_attach()
280 mutex_destroy(&softc->gp_mutex); in gpio_attach()
281 if (softc->gp_handle) in gpio_attach()
282 ddi_regs_map_free(&softc->gp_handle); in gpio_attach()
294 struct gpio_softc *softc; in gpio_detach() local
300 if ((softc = getsoftc(instance)) == NULL) in gpio_detach()
302 mutex_destroy(&softc->gp_mutex); in gpio_detach()
303 ddi_regs_map_free(&softc->gp_handle); in gpio_detach()
346 struct gpio_softc *softc = getsoftc(instance); in gpio_ioctl() local
350 DBG(softc->gp_dip, "ioctl: instance is %d", instance, 0, 0, 0, 0); in gpio_ioctl()
352 if (softc == NULL) in gpio_ioctl()
367 mutex_enter(&softc->gp_mutex); in gpio_ioctl()
370 byte = ddi_get8(softc->gp_handle, &softc->gp_regs[info.gpio_offset]); in gpio_ioctl()
374 DBG(softc->gp_dip, "ioctl: SET_BITS, byte is %x", byte, 0, 0, in gpio_ioctl()
377 ddi_put8(softc->gp_handle, &softc->gp_regs[info.gpio_offset], in gpio_ioctl()
379 byte = ddi_get8(softc->gp_handle, in gpio_ioctl()
380 &softc->gp_regs[info.gpio_offset]); in gpio_ioctl()
381 DBG(softc->gp_dip, "ioctl: SET_BITS, byte is %x", byte, 0, 0, in gpio_ioctl()
386 DBG(softc->gp_dip, "ioctl: CLR_BITS, byte is %x", byte, 0, 0, in gpio_ioctl()
389 ddi_put8(softc->gp_handle, &softc->gp_regs[info.gpio_offset], in gpio_ioctl()
391 byte = ddi_get8(softc->gp_handle, in gpio_ioctl()
392 &softc->gp_regs[info.gpio_offset]); in gpio_ioctl()
393 DBG(softc->gp_dip, "ioctl: CLR_BITS, byte is %x", byte, 0, 0, in gpio_ioctl()
398 DBG(softc->gp_dip, "ioctl: GPIO_CMD_GET", 0, 0, 0, 0, 0); in gpio_ioctl()
402 mutex_exit(&softc->gp_mutex); in gpio_ioctl()
408 DBG(softc->gp_dip, "ioctl: GPIO_CMD_SET", 0, 0, 0, 0, 0); in gpio_ioctl()
409 ddi_put8(softc->gp_handle, &softc->gp_regs[info.gpio_offset], in gpio_ioctl()
414 mutex_exit(&softc->gp_mutex); in gpio_ioctl()
418 mutex_exit(&softc->gp_mutex); in gpio_ioctl()