[RFC PATCH 0/3] gpio: pca953x: Redesign handling of chip types

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi All,

The pca953x driver supports many chips. These all have the basic 4
registers: input, output, invert and direction. Most of them have
additional registers for various functions, like pull-up and
pull-down control, interrupt status and mask, hardware debounce.

Different chip types have various register layouts. These layouts differ
even in the basic 4 registers.

This patch series

    1. Cleans up chip type handling, and
    2. Replaces register address calculations. The proposed scheme
       works with every register of every chip type.

These changes make it possible to add support for extended functions for
more chip types, including:

    * Interrupt mask for PCA950X, PCA9698, PCA957X and XRA120X
    * Interrupt status for PCA957X and XRA120X
    * Bias for PCA957X and XRA120X
    * Debounce for PCAL65XX and XRA120X

References:
1. Previous discussion about the chip types
   https://lore.kernel.org/linux-gpio/Y1q52efyv93%2Fz8BC@xxxxxxxxxxxxxxxxxx/
2. An overview of pca953x chip types
   https://lore.kernel.org/linux-gpio/67bba210-09ac-32fb-bb97-8bfc40c2c200@xxxxxxxxxx/


Best Regards,
Levente Révész

Levente Révész (3):
  gpio: pca953x: Replace chip type flags with a type enum
  gpio: pca953x: Describe register maps with enums
  gpio: pca953x: Redesign register address calculation

 drivers/gpio/gpio-pca953x.c | 1196 ++++++++++++++++++++++++++---------
 1 file changed, 894 insertions(+), 302 deletions(-)

-- 
2.38.1



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux