+6
-9
drivers/gpio/gpio-pca953x.c
+6
-9
drivers/gpio/gpio-pca953x.c
···
604
604
u8 new_irqs;
605
605
int level, i;
606
606
u8 invert_irq_mask[MAX_BANK];
607
-
int reg_direction[MAX_BANK];
607
+
u8 reg_direction[MAX_BANK];
608
608
609
-
regmap_bulk_read(chip->regmap, chip->regs->direction, reg_direction,
610
-
NBANK(chip));
609
+
pca953x_read_regs(chip, chip->regs->direction, reg_direction);
611
610
612
611
if (chip->driver_data & PCA_PCAL) {
613
612
/* Enable latch on interrupt-enabled inputs */
···
678
679
bool pending_seen = false;
679
680
bool trigger_seen = false;
680
681
u8 trigger[MAX_BANK];
681
-
int reg_direction[MAX_BANK];
682
+
u8 reg_direction[MAX_BANK];
682
683
int ret, i;
683
684
684
685
if (chip->driver_data & PCA_PCAL) {
···
709
710
return false;
710
711
711
712
/* Remove output pins from the equation */
712
-
regmap_bulk_read(chip->regmap, chip->regs->direction, reg_direction,
713
-
NBANK(chip));
713
+
pca953x_read_regs(chip, chip->regs->direction, reg_direction);
714
714
for (i = 0; i < NBANK(chip); i++)
715
715
cur_stat[i] &= reg_direction[i];
716
716
···
766
768
{
767
769
struct i2c_client *client = chip->client;
768
770
struct irq_chip *irq_chip = &chip->irq_chip;
769
-
int reg_direction[MAX_BANK];
771
+
u8 reg_direction[MAX_BANK];
770
772
int ret, i;
771
773
772
774
if (!client->irq)
···
787
789
* interrupt. We have to rely on the previous read for
788
790
* this purpose.
789
791
*/
790
-
regmap_bulk_read(chip->regmap, chip->regs->direction, reg_direction,
791
-
NBANK(chip));
792
+
pca953x_read_regs(chip, chip->regs->direction, reg_direction);
792
793
for (i = 0; i < NBANK(chip); i++)
793
794
chip->irq_stat[i] &= reg_direction[i];
794
795
mutex_init(&chip->irq_lock);