Lines Matching defs:irqmode
487 gpio_irqmode_sanitize(int irqmode)
491 has_edge = irqmode & GPIO_INTR_EDGE_MASK;
492 has_level = irqmode & GPIO_INTR_LEVEL_MASK;
495 if ((irqmode & GPIO_INTR_MODE_MASK) == 0)
504 if (irqmode & GPIO_INTR_DOUBLE_EDGE) {
506 irqmode = (irqmode & ~GPIO_INTR_EDGE_MASK) |
508 } else if ((irqmode ^
511 irqmode = (irqmode & ~GPIO_INTR_EDGE_MASK) |
520 return (irqmode);
525 int pin, int irqmode)
530 irqmode = gpio_irqmode_sanitize(irqmode) & GPIO_INTR_MODE_MASK;
533 match = sc->sc_pins[map->pm_map[pin]].pin_intrcaps & irqmode;
535 return (irqmode && irqmode == match);
540 int irqmode, int (*func)(void *), void *arg)
547 irqmode = gpio_irqmode_sanitize(irqmode);
548 if (irqmode == 0)
551 if (! gpio_pin_irqmode_issupported(gpio, map, pin, irqmode))
559 sc->sc_pins[map->pm_map[pin]].pin_num, ipl, irqmode, func, arg));
572 gpio_intr_str(void *gpio, struct gpio_pinmap *map, int pin, int irqmode,
582 irqmode = gpio_irqmode_sanitize(irqmode);
583 if (irqmode == 0)
586 if (irqmode & GPIO_INTR_DOUBLE_EDGE)
588 else if (irqmode & GPIO_INTR_POS_EDGE)
590 else if (irqmode & GPIO_INTR_NEG_EDGE)
592 else if (irqmode & GPIO_INTR_HIGH_LEVEL)
594 else if (irqmode & GPIO_INTR_LOW_LEVEL)
601 irqmode, hwstr, sizeof(hwstr)))