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 Bartosz Golaszewski (6): 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 gpio: pca953x: make the define names consistent drivers/gpio/gpio-pca953x.c | 284 ++++++++++++++++++++++---------------------- 1 file changed, 143 insertions(+), 141 deletions(-) -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html