gpio: pca953x: coding style fixes

pca953x_gpio_set_multiple() has some coding style issues that make it
harder to read. Tweak the code a bit.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Bartosz Golaszewski 2016-09-09 11:17:38 +02:00 committed by Linus Walleij
parent 60f547be82
commit ea3d579d8f

View file

@ -362,25 +362,28 @@ static void pca953x_gpio_set_value(struct gpio_chip *gc, unsigned off, int val)
} }
static void pca953x_gpio_set_multiple(struct gpio_chip *gc, static void pca953x_gpio_set_multiple(struct gpio_chip *gc,
unsigned long *mask, unsigned long *bits) unsigned long *mask, unsigned long *bits)
{ {
struct pca953x_chip *chip = gpiochip_get_data(gc); struct pca953x_chip *chip = gpiochip_get_data(gc);
unsigned int bank_mask, bank_val;
int bank_shift, bank;
u8 reg_val[MAX_BANK]; u8 reg_val[MAX_BANK];
int ret; int ret;
int bank_shift = fls((chip->gpio_chip.ngpio - 1) / BANK_SZ);
int bank; bank_shift = fls((chip->gpio_chip.ngpio - 1) / BANK_SZ);
memcpy(reg_val, chip->reg_output, NBANK(chip)); memcpy(reg_val, chip->reg_output, NBANK(chip));
mutex_lock(&chip->i2c_lock); mutex_lock(&chip->i2c_lock);
for(bank=0; bank<NBANK(chip); bank++) { for (bank = 0; bank < NBANK(chip); bank++) {
unsigned bankmask = mask[bank / sizeof(*mask)] >> bank_mask = mask[bank / sizeof(*mask)] >>
((bank % sizeof(*mask)) * 8); ((bank % sizeof(*mask)) * 8);
if(bankmask) { if (bank_mask) {
unsigned bankval = bits[bank / sizeof(*bits)] >> bank_val = bits[bank / sizeof(*bits)] >>
((bank % sizeof(*bits)) * 8); ((bank % sizeof(*bits)) * 8);
reg_val[bank] = (reg_val[bank] & ~bankmask) | bankval; reg_val[bank] = (reg_val[bank] & ~bank_mask) | bank_val;
} }
} }
ret = i2c_smbus_write_i2c_block_data(chip->client, ret = i2c_smbus_write_i2c_block_data(chip->client,
chip->regs->output << bank_shift, chip->regs->output << bank_shift,
NBANK(chip), reg_val); NBANK(chip), reg_val);