Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

gpio: pca953x: Swap if statements to save later complexity

A later patch in the series adds support for a further chip type that
shares some similarity with the PCA953X_TYPE. In order to keep the logic
simple, swap over the if and else portions where checks are made against
PCA953X_TYPE and instead check for PCA957X_TYPE.

Signed-off-by: Martyn Welch <martyn.welch@collabora.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>

authored by

Martyn Welch and committed by
Bartosz Golaszewski
5faf9801 b122624a

+15 -16
+15 -16
drivers/gpio/gpio-pca953x.c
··· 294 294 struct pca953x_chip *chip = dev_get_drvdata(dev); 295 295 u32 bank; 296 296 297 - if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE) { 298 - bank = PCA953x_BANK_INPUT | PCA953x_BANK_OUTPUT | 299 - PCA953x_BANK_POLARITY | PCA953x_BANK_CONFIG; 300 - } else { 297 + if (PCA_CHIP_TYPE(chip->driver_data) == PCA957X_TYPE) { 301 298 bank = PCA957x_BANK_INPUT | PCA957x_BANK_OUTPUT | 302 299 PCA957x_BANK_POLARITY | PCA957x_BANK_CONFIG | 303 300 PCA957x_BANK_BUSHOLD; 301 + } else { 302 + bank = PCA953x_BANK_INPUT | PCA953x_BANK_OUTPUT | 303 + PCA953x_BANK_POLARITY | PCA953x_BANK_CONFIG; 304 304 } 305 305 306 306 if (chip->driver_data & PCA_PCAL) { ··· 317 317 struct pca953x_chip *chip = dev_get_drvdata(dev); 318 318 u32 bank; 319 319 320 - if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE) { 321 - bank = PCA953x_BANK_OUTPUT | PCA953x_BANK_POLARITY | 322 - PCA953x_BANK_CONFIG; 323 - } else { 320 + if (PCA_CHIP_TYPE(chip->driver_data) == PCA957X_TYPE) { 324 321 bank = PCA957x_BANK_OUTPUT | PCA957x_BANK_POLARITY | 325 322 PCA957x_BANK_CONFIG | PCA957x_BANK_BUSHOLD; 323 + } else { 324 + bank = PCA953x_BANK_OUTPUT | PCA953x_BANK_POLARITY | 325 + PCA953x_BANK_CONFIG; 326 326 } 327 327 328 328 if (chip->driver_data & PCA_PCAL) ··· 337 337 struct pca953x_chip *chip = dev_get_drvdata(dev); 338 338 u32 bank; 339 339 340 - if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE) 341 - bank = PCA953x_BANK_INPUT; 342 - else 340 + if (PCA_CHIP_TYPE(chip->driver_data) == PCA957X_TYPE) 343 341 bank = PCA957x_BANK_INPUT; 342 + else 343 + bank = PCA953x_BANK_INPUT; 344 344 345 345 if (chip->driver_data & PCA_PCAL) 346 346 bank |= PCAL9xxx_BANK_IRQ_STAT; ··· 1071 1071 /* initialize cached registers from their original values. 1072 1072 * we can't share this chip with another i2c master. 1073 1073 */ 1074 - 1075 - if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE) { 1076 - chip->regs = &pca953x_regs; 1077 - ret = device_pca95xx_init(chip, invert); 1078 - } else { 1074 + if (PCA_CHIP_TYPE(chip->driver_data) == PCA957X_TYPE) { 1079 1075 chip->regs = &pca957x_regs; 1080 1076 ret = device_pca957x_init(chip, invert); 1077 + } else { 1078 + chip->regs = &pca953x_regs; 1079 + ret = device_pca95xx_init(chip, invert); 1081 1080 } 1082 1081 if (ret) 1083 1082 goto err_exit;