Lines Matching full:ngpio

190 #define NBANK(chip) DIV_ROUND_UP(chip->gpio_chip.ngpio, BANK_SZ)
250 return fls((chip->gpio_chip.ngpio - 1) / BANK_SZ); in pca953x_bank_shift()
711 bitmap_replace(bits, bits, reg_val, mask, gc->ngpio); in pca953x_gpio_get_multiple()
728 bitmap_replace(reg_val, reg_val, bits, mask, gc->ngpio); in pca953x_gpio_set_multiple()
800 gc->ngpio = gpios; in pca953x_setup_gpio()
862 bitmap_complement(irq_mask, chip->irq_mask, gc->ngpio); in pca953x_irq_bus_sync_unlock()
871 bitmap_or(irq_mask, chip->irq_trig_fall, chip->irq_trig_raise, gc->ngpio); in pca953x_irq_bus_sync_unlock()
872 bitmap_or(irq_mask, irq_mask, chip->irq_trig_level_high, gc->ngpio); in pca953x_irq_bus_sync_unlock()
873 bitmap_or(irq_mask, irq_mask, chip->irq_trig_level_low, gc->ngpio); in pca953x_irq_bus_sync_unlock()
874 bitmap_complement(reg_direction, reg_direction, gc->ngpio); in pca953x_irq_bus_sync_unlock()
875 bitmap_and(irq_mask, irq_mask, reg_direction, gc->ngpio); in pca953x_irq_bus_sync_unlock()
878 for_each_set_bit(level, irq_mask, gc->ngpio) in pca953x_irq_bus_sync_unlock()
954 bitmap_copy(old_stat, chip->irq_stat, gc->ngpio); in pca953x_irq_pending()
956 bitmap_and(new_stat, cur_stat, reg_direction, gc->ngpio); in pca953x_irq_pending()
957 bitmap_xor(cur_stat, new_stat, old_stat, gc->ngpio); in pca953x_irq_pending()
958 bitmap_and(trigger, cur_stat, chip->irq_mask, gc->ngpio); in pca953x_irq_pending()
960 bitmap_copy(chip->irq_stat, new_stat, gc->ngpio); in pca953x_irq_pending()
962 if (bitmap_empty(chip->irq_trig_level_high, gc->ngpio) && in pca953x_irq_pending()
963 bitmap_empty(chip->irq_trig_level_low, gc->ngpio)) { in pca953x_irq_pending()
964 if (bitmap_empty(trigger, gc->ngpio)) in pca953x_irq_pending()
968 bitmap_and(cur_stat, chip->irq_trig_fall, old_stat, gc->ngpio); in pca953x_irq_pending()
969 bitmap_and(old_stat, chip->irq_trig_raise, new_stat, gc->ngpio); in pca953x_irq_pending()
970 bitmap_or(edges, old_stat, cur_stat, gc->ngpio); in pca953x_irq_pending()
971 bitmap_and(pending, edges, trigger, gc->ngpio); in pca953x_irq_pending()
973 bitmap_and(cur_stat, new_stat, chip->irq_trig_level_high, gc->ngpio); in pca953x_irq_pending()
974 bitmap_and(cur_stat, cur_stat, chip->irq_mask, gc->ngpio); in pca953x_irq_pending()
975 bitmap_or(pending, pending, cur_stat, gc->ngpio); in pca953x_irq_pending()
977 bitmap_complement(cur_stat, new_stat, gc->ngpio); in pca953x_irq_pending()
978 bitmap_and(cur_stat, cur_stat, reg_direction, gc->ngpio); in pca953x_irq_pending()
979 bitmap_and(old_stat, cur_stat, chip->irq_trig_level_low, gc->ngpio); in pca953x_irq_pending()
980 bitmap_and(old_stat, old_stat, chip->irq_mask, gc->ngpio); in pca953x_irq_pending()
981 bitmap_or(pending, pending, old_stat, gc->ngpio); in pca953x_irq_pending()
983 return !bitmap_empty(pending, gc->ngpio); in pca953x_irq_pending()
1001 for_each_set_bit(level, pending, gc->ngpio) { in pca953x_irq_handler()
1052 bitmap_and(chip->irq_stat, irq_stat, reg_direction, gc->ngpio); in pca953x_irq_setup()