gpio: mcp23s08: move to pinctrl

This moves the mcp23s08 driver from gpio to pinctrl. Actual
pinctrl support for configuration of the pull-up resistors
follows in its own patch.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Acked-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Sebastian Reichel 2017-05-15 11:24:25 +02:00 committed by Linus Walleij
parent 08332893e3
commit 64ac43e6fa
9 changed files with 20 additions and 24 deletions

View File

@ -112,7 +112,7 @@ CONFIG_GPIO_SX150X=y
CONFIG_GPIO_74X164=y CONFIG_GPIO_74X164=y
CONFIG_GPIO_MAX7301=y CONFIG_GPIO_MAX7301=y
CONFIG_GPIO_MC33880=y CONFIG_GPIO_MC33880=y
CONFIG_GPIO_MCP23S08=y CONFIG_PINCTRL_MCP23S08=y
CONFIG_SENSORS_DS620=y CONFIG_SENSORS_DS620=y
CONFIG_SENSORS_MAX6639=y CONFIG_SENSORS_MAX6639=y
CONFIG_WATCHDOG=y CONFIG_WATCHDOG=y

View File

@ -105,7 +105,7 @@ CONFIG_SPI=y
CONFIG_SPI_ADI_V3=y CONFIG_SPI_ADI_V3=y
CONFIG_GPIOLIB=y CONFIG_GPIOLIB=y
CONFIG_GPIO_SYSFS=y CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_MCP23S08=y CONFIG_PINCTRL_MCP23S08=y
# CONFIG_HWMON is not set # CONFIG_HWMON is not set
CONFIG_WATCHDOG=y CONFIG_WATCHDOG=y
CONFIG_BFIN_WDT=y CONFIG_BFIN_WDT=y

View File

@ -348,7 +348,7 @@ static struct platform_device bfin_i2s = {
}; };
#endif #endif
#if IS_ENABLED(CONFIG_GPIO_MCP23S08) #if IS_ENABLED(CONFIG_PINCTRL_MCP23S08)
#include <linux/spi/mcp23s08.h> #include <linux/spi/mcp23s08.h>
static const struct mcp23s08_platform_data bfin_mcp23s08_sys_gpio_info = { static const struct mcp23s08_platform_data bfin_mcp23s08_sys_gpio_info = {
.chip[0].is_present = true, .chip[0].is_present = true,
@ -423,7 +423,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
.mode = SPI_CPHA | SPI_CPOL, .mode = SPI_CPHA | SPI_CPOL,
}, },
#endif #endif
#if IS_ENABLED(CONFIG_GPIO_MCP23S08) #if IS_ENABLED(CONFIG_PINCTRL_MCP23S08)
{ {
.modalias = "mcp23s08", .modalias = "mcp23s08",
.platform_data = &bfin_mcp23s08_sys_gpio_info, .platform_data = &bfin_mcp23s08_sys_gpio_info,

View File

@ -1887,7 +1887,7 @@ static struct platform_device i2c_bfin_twi1_device = {
}; };
#endif #endif
#if IS_ENABLED(CONFIG_GPIO_MCP23S08) #if IS_ENABLED(CONFIG_PINCTRL_MCP23S08)
#include <linux/spi/mcp23s08.h> #include <linux/spi/mcp23s08.h>
static const struct mcp23s08_platform_data bfin_mcp23s08_soft_switch0 = { static const struct mcp23s08_platform_data bfin_mcp23s08_soft_switch0 = {
.base = 120, .base = 120,
@ -1929,7 +1929,7 @@ static struct i2c_board_info __initdata bfin_i2c_board_info0[] = {
I2C_BOARD_INFO("ssm2602", 0x1b), I2C_BOARD_INFO("ssm2602", 0x1b),
}, },
#endif #endif
#if IS_ENABLED(CONFIG_GPIO_MCP23S08) #if IS_ENABLED(CONFIG_PINCTRL_MCP23S08)
{ {
I2C_BOARD_INFO("mcp23017", 0x21), I2C_BOARD_INFO("mcp23017", 0x21),
.platform_data = (void *)&bfin_mcp23s08_soft_switch0 .platform_data = (void *)&bfin_mcp23s08_soft_switch0

View File

@ -1227,23 +1227,6 @@ config GPIO_PISOSR
endmenu endmenu
menu "SPI or I2C GPIO expanders"
depends on (SPI_MASTER && !I2C) || I2C
config GPIO_MCP23S08
tristate "Microchip MCP23xxx I/O expander"
depends on OF_GPIO
select GPIOLIB_IRQCHIP
select REGMAP_I2C if I2C
select REGMAP if SPI_MASTER
help
SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
I/O expanders.
This provides a GPIO interface supporting inputs and outputs.
The I2C versions of the chips can be used as interrupt-controller.
endmenu
menu "USB GPIO expanders" menu "USB GPIO expanders"
depends on USB depends on USB

View File

@ -77,7 +77,6 @@ obj-$(CONFIG_GPIO_MENZ127) += gpio-menz127.o
obj-$(CONFIG_GPIO_MERRIFIELD) += gpio-merrifield.o obj-$(CONFIG_GPIO_MERRIFIELD) += gpio-merrifield.o
obj-$(CONFIG_GPIO_MC33880) += gpio-mc33880.o obj-$(CONFIG_GPIO_MC33880) += gpio-mc33880.o
obj-$(CONFIG_GPIO_MC9S08DZ60) += gpio-mc9s08dz60.o obj-$(CONFIG_GPIO_MC9S08DZ60) += gpio-mc9s08dz60.o
obj-$(CONFIG_GPIO_MCP23S08) += gpio-mcp23s08.o
obj-$(CONFIG_GPIO_ML_IOH) += gpio-ml-ioh.o obj-$(CONFIG_GPIO_ML_IOH) += gpio-ml-ioh.o
obj-$(CONFIG_GPIO_MM_LANTIQ) += gpio-mm-lantiq.o obj-$(CONFIG_GPIO_MM_LANTIQ) += gpio-mm-lantiq.o
obj-$(CONFIG_GPIO_MOCKUP) += gpio-mockup.o obj-$(CONFIG_GPIO_MOCKUP) += gpio-mockup.o

View File

@ -146,6 +146,19 @@ config PINCTRL_FALCON
depends on SOC_FALCON depends on SOC_FALCON
depends on PINCTRL_LANTIQ depends on PINCTRL_LANTIQ
config PINCTRL_MCP23S08
tristate "Microchip MCP23xxx I/O expander"
depends on OF_GPIO
depends on SPI_MASTER || I2C
select GPIOLIB_IRQCHIP
select REGMAP_I2C if I2C
select REGMAP_SPI if SPI_MASTER
help
SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
I/O expanders.
This provides a GPIO interface supporting inputs and outputs.
The I2C versions of the chips can be used as interrupt-controller.
config PINCTRL_MESON config PINCTRL_MESON
bool bool
depends on OF depends on OF

View File

@ -19,6 +19,7 @@ obj-$(CONFIG_PINCTRL_DA850_PUPD) += pinctrl-da850-pupd.o
obj-$(CONFIG_PINCTRL_DIGICOLOR) += pinctrl-digicolor.o obj-$(CONFIG_PINCTRL_DIGICOLOR) += pinctrl-digicolor.o
obj-$(CONFIG_PINCTRL_FALCON) += pinctrl-falcon.o obj-$(CONFIG_PINCTRL_FALCON) += pinctrl-falcon.o
obj-$(CONFIG_PINCTRL_MAX77620) += pinctrl-max77620.o obj-$(CONFIG_PINCTRL_MAX77620) += pinctrl-max77620.o
obj-$(CONFIG_PINCTRL_MCP23S08) += pinctrl-mcp23s08.o
obj-$(CONFIG_PINCTRL_MESON) += meson/ obj-$(CONFIG_PINCTRL_MESON) += meson/
obj-$(CONFIG_PINCTRL_OXNAS) += pinctrl-oxnas.o obj-$(CONFIG_PINCTRL_OXNAS) += pinctrl-oxnas.o
obj-$(CONFIG_PINCTRL_PALMAS) += pinctrl-palmas.o obj-$(CONFIG_PINCTRL_PALMAS) += pinctrl-palmas.o