Lines Matching refs:gpio
52 struct gpio_chip gpio; member
156 struct dln2_gpio *dln2 = container_of(chip, struct dln2_gpio, gpio); in dln2_gpio_request()
197 struct dln2_gpio *dln2 = container_of(chip, struct dln2_gpio, gpio); in dln2_gpio_free()
204 struct dln2_gpio *dln2 = container_of(chip, struct dln2_gpio, gpio); in dln2_gpio_get_direction()
214 struct dln2_gpio *dln2 = container_of(chip, struct dln2_gpio, gpio); in dln2_gpio_get()
229 struct dln2_gpio *dln2 = container_of(chip, struct dln2_gpio, gpio); in dln2_gpio_set()
237 struct dln2_gpio *dln2 = container_of(chip, struct dln2_gpio, gpio); in dln2_gpio_set_direction()
265 struct dln2_gpio *dln2 = container_of(chip, struct dln2_gpio, gpio); in dln2_gpio_direction_output()
278 struct dln2_gpio *dln2 = container_of(chip, struct dln2_gpio, gpio); in dln2_gpio_set_debounce()
305 struct dln2_gpio *dln2 = container_of(gc, struct dln2_gpio, gpio); in dln2_irq_unmask()
314 struct dln2_gpio *dln2 = container_of(gc, struct dln2_gpio, gpio); in dln2_irq_mask()
323 struct dln2_gpio *dln2 = container_of(gc, struct dln2_gpio, gpio); in dln2_irq_set_type()
352 struct dln2_gpio *dln2 = container_of(gc, struct dln2_gpio, gpio); in dln2_irq_bus_lock()
360 struct dln2_gpio *dln2 = container_of(gc, struct dln2_gpio, gpio); in dln2_irq_bus_unlock()
380 dev_err(dln2->gpio.dev, "failed to set event\n"); in dln2_irq_bus_unlock()
409 dev_err(dln2->gpio.dev, "short event message\n"); in dln2_gpio_event()
414 if (pin >= dln2->gpio.ngpio) { in dln2_gpio_event()
415 dev_err(dln2->gpio.dev, "out of bounds pin %d\n", pin); in dln2_gpio_event()
419 irq = irq_find_mapping(dln2->gpio.irqdomain, pin); in dln2_gpio_event()
421 dev_err(dln2->gpio.dev, "pin %d not mapped to IRQ\n", pin); in dln2_gpio_event()
464 dln2->gpio.label = "dln2"; in dln2_gpio_probe()
465 dln2->gpio.dev = dev; in dln2_gpio_probe()
466 dln2->gpio.owner = THIS_MODULE; in dln2_gpio_probe()
467 dln2->gpio.base = -1; in dln2_gpio_probe()
468 dln2->gpio.ngpio = pins; in dln2_gpio_probe()
469 dln2->gpio.can_sleep = true; in dln2_gpio_probe()
470 dln2->gpio.irq_not_threaded = true; in dln2_gpio_probe()
471 dln2->gpio.set = dln2_gpio_set; in dln2_gpio_probe()
472 dln2->gpio.get = dln2_gpio_get; in dln2_gpio_probe()
473 dln2->gpio.request = dln2_gpio_request; in dln2_gpio_probe()
474 dln2->gpio.free = dln2_gpio_free; in dln2_gpio_probe()
475 dln2->gpio.get_direction = dln2_gpio_get_direction; in dln2_gpio_probe()
476 dln2->gpio.direction_input = dln2_gpio_direction_input; in dln2_gpio_probe()
477 dln2->gpio.direction_output = dln2_gpio_direction_output; in dln2_gpio_probe()
478 dln2->gpio.set_debounce = dln2_gpio_set_debounce; in dln2_gpio_probe()
482 ret = gpiochip_add(&dln2->gpio); in dln2_gpio_probe()
488 ret = gpiochip_irqchip_add(&dln2->gpio, &dln2_gpio_irqchip, 0, in dln2_gpio_probe()
505 gpiochip_remove(&dln2->gpio); in dln2_gpio_probe()
515 gpiochip_remove(&dln2->gpio); in dln2_gpio_remove()