Lines Matching refs:pin
69 __le16 pin; member
73 __le16 pin __packed;
92 static int dln2_gpio_pin_cmd(struct dln2_gpio *dln2, int cmd, unsigned pin) in dln2_gpio_pin_cmd() argument
95 .pin = cpu_to_le16(pin), in dln2_gpio_pin_cmd()
101 static int dln2_gpio_pin_val(struct dln2_gpio *dln2, int cmd, unsigned int pin) in dln2_gpio_pin_val() argument
105 .pin = cpu_to_le16(pin), in dln2_gpio_pin_val()
113 if (len < sizeof(rsp) || req.pin != rsp.pin) in dln2_gpio_pin_val()
119 static int dln2_gpio_pin_get_in_val(struct dln2_gpio *dln2, unsigned int pin) in dln2_gpio_pin_get_in_val() argument
123 ret = dln2_gpio_pin_val(dln2, DLN2_GPIO_PIN_GET_VAL, pin); in dln2_gpio_pin_get_in_val()
129 static int dln2_gpio_pin_get_out_val(struct dln2_gpio *dln2, unsigned int pin) in dln2_gpio_pin_get_out_val() argument
133 ret = dln2_gpio_pin_val(dln2, DLN2_GPIO_PIN_GET_OUT_VAL, pin); in dln2_gpio_pin_get_out_val()
140 unsigned int pin, int value) in dln2_gpio_pin_set_out_val() argument
143 .pin = cpu_to_le16(pin), in dln2_gpio_pin_set_out_val()
158 .pin = cpu_to_le16(offset), in dln2_gpio_request()
173 if (len < sizeof(rsp) || req.pin != rsp.pin) { in dln2_gpio_request()
239 .pin = cpu_to_le16(offset), in dln2_gpio_set_direction()
285 static int dln2_gpio_set_event_cfg(struct dln2_gpio *dln2, unsigned pin, in dln2_gpio_set_event_cfg() argument
289 __le16 pin; in dln2_gpio_set_event_cfg() member
293 .pin = cpu_to_le16(pin), in dln2_gpio_set_event_cfg()
306 int pin = irqd_to_hwirq(irqd); in dln2_irq_unmask() local
308 set_bit(pin, dln2->unmasked_irqs); in dln2_irq_unmask()
315 int pin = irqd_to_hwirq(irqd); in dln2_irq_mask() local
317 clear_bit(pin, dln2->unmasked_irqs); in dln2_irq_mask()
324 int pin = irqd_to_hwirq(irqd); in dln2_irq_set_type() local
328 dln2->irq_type[pin] = DLN2_GPIO_EVENT_LVL_HIGH; in dln2_irq_set_type()
331 dln2->irq_type[pin] = DLN2_GPIO_EVENT_LVL_LOW; in dln2_irq_set_type()
334 dln2->irq_type[pin] = DLN2_GPIO_EVENT_CHANGE; in dln2_irq_set_type()
337 dln2->irq_type[pin] = DLN2_GPIO_EVENT_CHANGE_RISING; in dln2_irq_set_type()
340 dln2->irq_type[pin] = DLN2_GPIO_EVENT_CHANGE_FALLING; in dln2_irq_set_type()
361 int pin = irqd_to_hwirq(irqd); in dln2_irq_bus_unlock() local
366 enabled = test_bit(pin, dln2->enabled_irqs); in dln2_irq_bus_unlock()
367 unmasked = test_bit(pin, dln2->unmasked_irqs); in dln2_irq_bus_unlock()
371 type = dln2->irq_type[pin] & DLN2_GPIO_EVENT_MASK; in dln2_irq_bus_unlock()
372 set_bit(pin, dln2->enabled_irqs); in dln2_irq_bus_unlock()
375 clear_bit(pin, dln2->enabled_irqs); in dln2_irq_bus_unlock()
378 ret = dln2_gpio_set_event_cfg(dln2, pin, type, 0); in dln2_irq_bus_unlock()
398 int pin, irq; in dln2_gpio_event() local
403 __le16 pin; in dln2_gpio_event() member
413 pin = le16_to_cpu(event->pin); 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()
425 switch (dln2->irq_type[pin]) { in dln2_gpio_event()