Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1478306 > unrolled thread
| Started by | Bartosz Golaszewski <bgolaszewski@baylibre.com> |
|---|---|
| First post | 2016-09-07 15:40 +0200 |
| Last post | 2016-09-07 16:10 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH v3 5/5] gpio: pca953x: coding style fixes Bartosz Golaszewski <bgolaszewski@baylibre.com> - 2016-09-07 15:40 +0200
Re: [PATCH v3 5/5] gpio: pca953x: coding style fixes Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2016-09-07 16:10 +0200
| From | Bartosz Golaszewski <bgolaszewski@baylibre.com> |
|---|---|
| Date | 2016-09-07 15:40 +0200 |
| Subject | [PATCH v3 5/5] gpio: pca953x: coding style fixes |
| Message-ID | <seLf3-jD-15@gated-at.bofh.it> |
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>
---
drivers/gpio/gpio-pca953x.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c
index b08ed52..bbec5d7 100644
--- a/drivers/gpio/gpio-pca953x.c
+++ b/drivers/gpio/gpio-pca953x.c
@@ -360,25 +360,26 @@ exit:
}
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);
u8 reg_val[MAX_BANK];
- int ret;
+ int ret, bank;
int bank_shift = fls((chip->gpio_chip.ngpio - 1) / BANK_SZ);
- int bank;
+ unsigned int bankmask, bankval;
memcpy(reg_val, chip->reg_output, NBANK(chip));
mutex_lock(&chip->i2c_lock);
- for(bank=0; bank<NBANK(chip); bank++) {
- unsigned bankmask = mask[bank / sizeof(*mask)] >>
- ((bank % sizeof(*mask)) * 8);
- if(bankmask) {
- unsigned bankval = bits[bank / sizeof(*bits)] >>
- ((bank % sizeof(*bits)) * 8);
+ for (bank = 0; bank < NBANK(chip); bank++) {
+ bankmask = mask[bank / sizeof(*mask)] >>
+ ((bank % sizeof(*mask)) * 8);
+ if (bankmask) {
+ bankval = bits[bank / sizeof(*bits)] >>
+ ((bank % sizeof(*bits)) * 8);
reg_val[bank] = (reg_val[bank] & ~bankmask) | bankval;
}
}
+
ret = i2c_smbus_write_i2c_block_data(chip->client,
chip->offset->output << bank_shift,
NBANK(chip), reg_val);
--
2.7.4
[toc] | [next] | [standalone]
| From | Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
|---|---|
| Date | 2016-09-07 16:10 +0200 |
| Message-ID | <seLI6-JF-39@gated-at.bofh.it> |
| In reply to | #1478306 |
On Wed, 2016-09-07 at 15:37 +0200, Bartosz Golaszewski wrote:
> 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>
> ---
> drivers/gpio/gpio-pca953x.c | 19 ++++++++++---------
> 1 file changed, 10 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c
> index b08ed52..bbec5d7 100644
> --- a/drivers/gpio/gpio-pca953x.c
> +++ b/drivers/gpio/gpio-pca953x.c
> @@ -360,25 +360,26 @@ exit:
> }
>
> 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);
> u8 reg_val[MAX_BANK];
> - int ret;
> + int ret, bank;
> int bank_shift = fls((chip->gpio_chip.ngpio - 1) / BANK_SZ);
> - int bank;
> + unsigned int bankmask, bankval;
I doubt it's the best representation. Can we use reversed xmas tree?
Also, I would not unify ret and bank on the same line.
>
> memcpy(reg_val, chip->reg_output, NBANK(chip));
> mutex_lock(&chip->i2c_lock);
> - for(bank=0; bank<NBANK(chip); bank++) {
> - unsigned bankmask = mask[bank / sizeof(*mask)] >>
> - ((bank % sizeof(*mask)) * 8);
> - if(bankmask) {
> - unsigned bankval = bits[bank /
> sizeof(*bits)] >>
> - ((bank % sizeof(*bits)) *
> 8);
> + for (bank = 0; bank < NBANK(chip); bank++) {
> + bankmask = mask[bank / sizeof(*mask)] >>
> + ((bank % sizeof(*mask)) * 8);
> + if (bankmask) {
> + bankval = bits[bank / sizeof(*bits)] >>
> + ((bank % sizeof(*bits)) * 8);
> reg_val[bank] = (reg_val[bank] & ~bankmask) |
> bankval;
> }
> }
> +
> ret = i2c_smbus_write_i2c_block_data(chip->client,
> chip->offset->output <<
> bank_shift,
> NBANK(chip), reg_val);
--
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web