Lines Matching refs:pin

52 	 * Cache pin direction to save us one transfer, since the hardware has
66 __le16 pin;
70 __le16 pin __packed;
89 static int dln2_gpio_pin_cmd(struct dln2_gpio *dln2, int cmd, unsigned pin)
92 .pin = cpu_to_le16(pin),
98 static int dln2_gpio_pin_val(struct dln2_gpio *dln2, int cmd, unsigned int pin)
102 .pin = cpu_to_le16(pin),
110 if (len < sizeof(rsp) || req.pin != rsp.pin)
116 static int dln2_gpio_pin_get_in_val(struct dln2_gpio *dln2, unsigned int pin)
120 ret = dln2_gpio_pin_val(dln2, DLN2_GPIO_PIN_GET_VAL, pin);
126 static int dln2_gpio_pin_get_out_val(struct dln2_gpio *dln2, unsigned int pin)
130 ret = dln2_gpio_pin_val(dln2, DLN2_GPIO_PIN_GET_OUT_VAL, pin);
137 unsigned int pin, int value)
140 .pin = cpu_to_le16(pin),
155 .pin = cpu_to_le16(offset),
165 /* cache the pin direction */
170 if (len < sizeof(rsp) || req.pin != rsp.pin) {
236 .pin = cpu_to_le16(offset),
286 static int dln2_gpio_set_event_cfg(struct dln2_gpio *dln2, unsigned pin,
290 __le16 pin;
294 .pin = cpu_to_le16(pin),
307 int pin = irqd_to_hwirq(irqd);
309 set_bit(pin, dln2->unmasked_irqs);
316 int pin = irqd_to_hwirq(irqd);
318 clear_bit(pin, dln2->unmasked_irqs);
325 int pin = irqd_to_hwirq(irqd);
329 dln2->irq_type[pin] = DLN2_GPIO_EVENT_LVL_HIGH;
332 dln2->irq_type[pin] = DLN2_GPIO_EVENT_LVL_LOW;
335 dln2->irq_type[pin] = DLN2_GPIO_EVENT_CHANGE;
338 dln2->irq_type[pin] = DLN2_GPIO_EVENT_CHANGE_RISING;
341 dln2->irq_type[pin] = DLN2_GPIO_EVENT_CHANGE_FALLING;
362 int pin = irqd_to_hwirq(irqd);
367 enabled = test_bit(pin, dln2->enabled_irqs);
368 unmasked = test_bit(pin, dln2->unmasked_irqs);
372 type = dln2->irq_type[pin] & DLN2_GPIO_EVENT_MASK;
373 set_bit(pin, dln2->enabled_irqs);
376 clear_bit(pin, dln2->enabled_irqs);
379 ret = dln2_gpio_set_event_cfg(dln2, pin, type, 0);
390 int pin, irq;
395 __le16 pin;
405 pin = le16_to_cpu(event->pin);
406 if (pin >= dln2->gpio.ngpio) {
407 dev_err(dln2->gpio.parent, "out of bounds pin %d\n", pin);
411 irq = irq_find_mapping(dln2->gpio.irq.domain, pin);
413 dev_err(dln2->gpio.parent, "pin %d not mapped to IRQ\n", pin);
417 switch (dln2->irq_type[pin]) {
441 dev_err(dev, "failed to get pin count: %d\n", pins);