[PATCH v6 0/5] gpio: pca953x: code refactoring
From: Bartosz Golaszewski
Date: Fri Sep 09 2016 - 05:19:32 EST
I'm working on converting the pca953x driver to using regmap, but since
it's not a trivial task I figured I'd post a couple refactoring patches
I did so far for 4.9.
The first patch just fixes a couple coding style issues. The second
removes a couple unnecessary switches. Last three refactor the
read/write_regs functions to avoid if-elses by using function pointers
to smaller, specialized routines.
Tested with pca9534 and pca9535 chips.
v1 -> v2:
- constified the offset structures in patch 2/5
v2 -> v3:
- modified the order of the patches so that minor coding style fixes
no longer create noise for the later changes
- moved the **_write_regs_16() assignments to where other variants
are assigned
v3 -> v4:
- minor style fixes
v4 -> v5:
- added a patch making the register offset names consistent
- bunch of style changes in patch 5/6
- renamed the structure containing the register offsets
v5 -> v6:
- dropped patch 6/6 - the names reflect the ones in the datasheet
- rebased on top of gpio/devel
NOTE: the devel branch doesn't compile due to:
CC drivers/gpio/gpiolib.o
drivers/gpio/gpiolib.c: In function '_gpiochip_irqchip_add':
drivers/gpio/gpiolib.c:1622:62: error: macro "WARN_ON" passed 3 arguments, but takes just 1
"%s: Ignoring %d default trigger\n", of_node->full_name))
^
drivers/gpio/gpiolib.c:1621:6: error: 'WARN_ON' undeclared (first use in this function)
if (WARN_ON(of_node && type != IRQ_TYPE_NONE,
^
drivers/gpio/gpiolib.c:1621:6: note: each undeclared identifier is reported only once for each function it appears in
This is due to an incorrect use of WARN_ON() (should have been
WARN() in this case). Fixed in a separate patch.
Bartosz Golaszewski (5):
gpio: pca953x: code shrink
gpio: pca953x: refactor pca953x_write_regs()
gpio: pca953x: refactor pca953x_read_regs()
gpio: pca953x: remove an unused variable
gpio: pca953x: coding style fixes
drivers/gpio/gpio-pca953x.c | 285 ++++++++++++++++++++++----------------------
1 file changed, 144 insertions(+), 141 deletions(-)
--
2.7.4