![Neil Armstrong](/assets/img/avatar_default.png)
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 bb411e771b
("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: Neil Armstrong <narmstrong@baylibre.com>
Tested-by: Peter Rosin <peda@axentia.se>
Acked-by: Rob Herring <robh@kernel.org>
ested-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
58 lines
2.2 KiB
Makefile
58 lines
2.2 KiB
Makefile
# generic pinmux support
|
|
|
|
subdir-ccflags-$(CONFIG_DEBUG_PINCTRL) += -DDEBUG
|
|
|
|
obj-y += core.o pinctrl-utils.o
|
|
obj-$(CONFIG_PINMUX) += pinmux.o
|
|
obj-$(CONFIG_PINCONF) += pinconf.o
|
|
obj-$(CONFIG_OF) += devicetree.o
|
|
obj-$(CONFIG_GENERIC_PINCONF) += pinconf-generic.o
|
|
obj-$(CONFIG_PINCTRL_ADI2) += pinctrl-adi2.o
|
|
obj-$(CONFIG_PINCTRL_AS3722) += pinctrl-as3722.o
|
|
obj-$(CONFIG_PINCTRL_BF54x) += pinctrl-adi2-bf54x.o
|
|
obj-$(CONFIG_PINCTRL_BF60x) += pinctrl-adi2-bf60x.o
|
|
obj-$(CONFIG_PINCTRL_AT91) += pinctrl-at91.o
|
|
obj-$(CONFIG_PINCTRL_AT91PIO4) += pinctrl-at91-pio4.o
|
|
obj-$(CONFIG_PINCTRL_AMD) += pinctrl-amd.o
|
|
obj-$(CONFIG_PINCTRL_DIGICOLOR) += pinctrl-digicolor.o
|
|
obj-$(CONFIG_PINCTRL_FALCON) += pinctrl-falcon.o
|
|
obj-$(CONFIG_PINCTRL_MAX77620) += pinctrl-max77620.o
|
|
obj-$(CONFIG_PINCTRL_MESON) += meson/
|
|
obj-$(CONFIG_PINCTRL_OXNAS) += pinctrl-oxnas.o
|
|
obj-$(CONFIG_PINCTRL_PALMAS) += pinctrl-palmas.o
|
|
obj-$(CONFIG_PINCTRL_PIC32) += pinctrl-pic32.o
|
|
obj-$(CONFIG_PINCTRL_PISTACHIO) += pinctrl-pistachio.o
|
|
obj-$(CONFIG_PINCTRL_ROCKCHIP) += pinctrl-rockchip.o
|
|
obj-$(CONFIG_PINCTRL_SINGLE) += pinctrl-single.o
|
|
obj-$(CONFIG_PINCTRL_SIRF) += sirf/
|
|
obj-$(CONFIG_PINCTRL_SX150X) += pinctrl-sx150x.o
|
|
obj-$(CONFIG_ARCH_TEGRA) += tegra/
|
|
obj-$(CONFIG_PINCTRL_TZ1090) += pinctrl-tz1090.o
|
|
obj-$(CONFIG_PINCTRL_TZ1090_PDC) += pinctrl-tz1090-pdc.o
|
|
obj-$(CONFIG_PINCTRL_U300) += pinctrl-u300.o
|
|
obj-$(CONFIG_PINCTRL_COH901) += pinctrl-coh901.o
|
|
obj-$(CONFIG_PINCTRL_XWAY) += pinctrl-xway.o
|
|
obj-$(CONFIG_PINCTRL_LANTIQ) += pinctrl-lantiq.o
|
|
obj-$(CONFIG_PINCTRL_LPC18XX) += pinctrl-lpc18xx.o
|
|
obj-$(CONFIG_PINCTRL_TB10X) += pinctrl-tb10x.o
|
|
obj-$(CONFIG_PINCTRL_ST) += pinctrl-st.o
|
|
obj-$(CONFIG_PINCTRL_ZYNQ) += pinctrl-zynq.o
|
|
|
|
obj-$(CONFIG_ARCH_ASPEED) += aspeed/
|
|
obj-y += bcm/
|
|
obj-$(CONFIG_PINCTRL_BERLIN) += berlin/
|
|
obj-y += freescale/
|
|
obj-$(CONFIG_X86) += intel/
|
|
obj-$(CONFIG_PINCTRL_MVEBU) += mvebu/
|
|
obj-y += nomadik/
|
|
obj-$(CONFIG_PINCTRL_PXA) += pxa/
|
|
obj-$(CONFIG_ARCH_QCOM) += qcom/
|
|
obj-$(CONFIG_PINCTRL_SAMSUNG) += samsung/
|
|
obj-$(CONFIG_PINCTRL_SH_PFC) += sh-pfc/
|
|
obj-$(CONFIG_PINCTRL_SPEAR) += spear/
|
|
obj-$(CONFIG_PINCTRL_STM32) += stm32/
|
|
obj-$(CONFIG_PINCTRL_SUNXI) += sunxi/
|
|
obj-$(CONFIG_PINCTRL_UNIPHIER) += uniphier/
|
|
obj-$(CONFIG_ARCH_VT8500) += vt8500/
|
|
obj-$(CONFIG_PINCTRL_MTK) += mediatek/
|