mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-27 22:51:31 +00:00
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:
parent
60f547be82
commit
ea3d579d8f
1 changed files with 13 additions and 10 deletions
|
@ -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);
|
||||||
|
|
Loading…
Reference in a new issue