@@ -129,7 +129,6 @@ struct pca953x_chip {
struct i2c_client *client;
struct gpio_chip gpio_chip;
const char *const *names;
- int chip_type;
unsigned long driver_data;
const struct pca953x_offset *offset;
@@ -771,8 +770,6 @@ static int pca953x_probe(struct i2c_client *client,
}
}
- chip->chip_type = PCA_CHIP_TYPE(chip->driver_data);
-
mutex_init(&chip->i2c_lock);
/* initialize cached registers from their original values.
@@ -787,13 +784,14 @@ static int pca953x_probe(struct i2c_client *client,
chip->write_regs = pca953x_write_regs_24;
chip->read_regs = pca953x_read_regs_24;
} else {
- chip->write_regs = chip->chip_type == PCA953X_TYPE ?
- pca953x_write_regs_16 :
- pca957x_write_regs_16;
+ if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE)
+ chip->write_regs = pca953x_write_regs_16;
+ else
+ chip->write_regs = pca957x_write_regs_16;
chip->read_regs = pca953x_read_regs_16;
}
- if (chip->chip_type == PCA953X_TYPE)
+ if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE)
ret = device_pca953x_init(chip, invert);
else
ret = device_pca957x_init(chip, invert);
The chip_type variable in struct pca953x_chip is no longer required. Remove it. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> --- drivers/gpio/gpio-pca953x.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) -- 2.7.4