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