• Neil Armstrong's avatar
    pinctrl: Add SX150X GPIO Extender Pinctrl Driver · 9e80f906
    Neil Armstrong authored
    Since the I2C sx150x GPIO expander driver uses platform_data to manage
    the pins configurations, rewrite the driver as a pinctrl driver using
    pinconf to get/set pin configurations from DT or debugfs.
    
    The pinctrl driver is functionnally equivalent as the gpio-only driver
    and can use DT for pinconf. The platform_data confirmation is dropped.
    
    This patchset removed the gpio-only driver and selects the Pinctrl driver
    config instead. This patchset also migrates the gpio dt-bindings to pinctrl
    and add the pinctrl optional properties.
    
    The driver was tested with a SX1509 device on a BeagleBone black with
    interrupt support and on an X86_64 machine over an I2C to USB converter.
    
    This is a fixed version that builds and runs on non-OF platforms and on
    arm based OF. The GPIO version is removed and the bindings are also moved
    to the pinctrl bindings.
    
    Changes since v2
     - rebased on v4.9-rc1
     - removed MODULE_DEVICE_TABLE as in upstream bb411e77
       ("gpio: sx150x: fix implicit assumption module.h is present")
    
    Changes since v1
     - Fix Kconfig descriptions on pinctrl and gpio
     - Fix Kconfig dependency
     - Remove oscio support for non-789 devices
     - correct typo in dt bindings
     - remove probe reset for non-789 devices
    
    Changes since RFC
     - Put #ifdef CONFIG_OF/CONFIG_OF_GPIO to remove OF code for non-of platforms
     - No more rely on OF_GPIO config
     - Moved and enhanced bindings to pinctrl bindings
     - Removed gpio-sx150x.c
     - Temporary select PINCTRL_SX150X when GPIO_SX150X
     - Temporary mark GPIO_SX150X as deprecated
    Signed-off-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
    Tested-by: default avatarPeter Rosin <peda@axentia.se>
    Acked-by: default avatarRob Herring <robh@kernel.org>
    ested-by: default avatarAndrey Smirnov <andrew.smirnov@gmail.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    9e80f906
pinctrl-sx150x.c 23.6 KB