Lines Matching defs:pins
51 * Utility functions for easier handling of OFW GPIO pins.
253 GPIOBUS_PIN_SETNAME(bus, devi->pins[i],
261 struct gpiobus_pin **pins)
265 ofw_bus_get_node(consumer), pname, NULL, pins));
291 struct gpiobus_pin *pins;
304 npins = ofw_gpiobus_parse_gpios_impl(child, node, "gpios", sc, &pins);
316 free(pins, M_DEVBUF);
321 devi->pins[i] = pins[i].pin;
322 free(pins, M_DEVBUF);
343 if (devi->pins[i] > sc->sc_npins)
345 sc->sc_pins[devi->pins[i]].mapped = 0;
355 struct gpiobus_softc *bussc, struct gpiobus_pin **pins)
408 if (npins == 0 || pins == NULL) {
415 *pins = malloc(sizeof(struct gpiobus_pin) * npins, M_DEVBUF,
417 if (*pins == NULL) {
440 (*pins)[j].dev = OF_device_from_xref(gpios[i]);
441 if ((*pins)[j].dev == NULL) {
452 if (GPIO_GET_BUS((*pins)[j].dev) == NULL) {
455 device_get_nameunit((*pins)[j].dev));
458 bussc = device_get_softc(GPIO_GET_BUS((*pins)[j].dev));
461 if (gpio_map_gpios((*pins)[j].dev, cnode, gpio, gpiocells,
462 &gpios[i + 1], &(*pins)[j].pin, &(*pins)[j].flags) != 0) {
468 if (gpiobus_acquire_pin(bussc->sc_busdev, (*pins)[j].pin) != 0)
479 free(*pins, M_DEVBUF);