Loading drivers/pinctrl/Kconfig +1 −1 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ config PINMUX_U300 config PINCTRL_COH901 bool "ST-Ericsson U300 COH 901 335/571 GPIO" depends on GPIOLIB && ARCH_U300 depends on GPIOLIB && ARCH_U300 && PINMUX_U300 help Say yes here to support GPIO interface on ST-Ericsson U300. The names of the two IP block variants supported are Loading drivers/pinctrl/pinctrl-coh901.c +21 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <linux/gpio.h> #include <linux/list.h> #include <linux/slab.h> #include <linux/pinctrl/pinmux.h> #include <mach/gpio-u300.h> /* Loading Loading @@ -351,6 +352,24 @@ static inline struct u300_gpio *to_u300_gpio(struct gpio_chip *chip) return container_of(chip, struct u300_gpio, chip); } static int u300_gpio_request(struct gpio_chip *chip, unsigned offset) { /* * Map back to global GPIO space and request muxing, the direction * parameter does not matter for this controller. */ int gpio = chip->base + offset; return pinmux_request_gpio(gpio); } static void u300_gpio_free(struct gpio_chip *chip, unsigned offset) { int gpio = chip->base + offset; pinmux_free_gpio(gpio); } static int u300_gpio_get(struct gpio_chip *chip, unsigned offset) { struct u300_gpio *gpio = to_u300_gpio(chip); Loading Loading @@ -483,6 +502,8 @@ static int u300_gpio_config(struct gpio_chip *chip, unsigned offset, static struct gpio_chip u300_gpio_chip = { .label = "u300-gpio-chip", .owner = THIS_MODULE, .request = u300_gpio_request, .free = u300_gpio_free, .get = u300_gpio_get, .set = u300_gpio_set, .direction_input = u300_gpio_direction_input, Loading Loading
drivers/pinctrl/Kconfig +1 −1 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ config PINMUX_U300 config PINCTRL_COH901 bool "ST-Ericsson U300 COH 901 335/571 GPIO" depends on GPIOLIB && ARCH_U300 depends on GPIOLIB && ARCH_U300 && PINMUX_U300 help Say yes here to support GPIO interface on ST-Ericsson U300. The names of the two IP block variants supported are Loading
drivers/pinctrl/pinctrl-coh901.c +21 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <linux/gpio.h> #include <linux/list.h> #include <linux/slab.h> #include <linux/pinctrl/pinmux.h> #include <mach/gpio-u300.h> /* Loading Loading @@ -351,6 +352,24 @@ static inline struct u300_gpio *to_u300_gpio(struct gpio_chip *chip) return container_of(chip, struct u300_gpio, chip); } static int u300_gpio_request(struct gpio_chip *chip, unsigned offset) { /* * Map back to global GPIO space and request muxing, the direction * parameter does not matter for this controller. */ int gpio = chip->base + offset; return pinmux_request_gpio(gpio); } static void u300_gpio_free(struct gpio_chip *chip, unsigned offset) { int gpio = chip->base + offset; pinmux_free_gpio(gpio); } static int u300_gpio_get(struct gpio_chip *chip, unsigned offset) { struct u300_gpio *gpio = to_u300_gpio(chip); Loading Loading @@ -483,6 +502,8 @@ static int u300_gpio_config(struct gpio_chip *chip, unsigned offset, static struct gpio_chip u300_gpio_chip = { .label = "u300-gpio-chip", .owner = THIS_MODULE, .request = u300_gpio_request, .free = u300_gpio_free, .get = u300_gpio_get, .set = u300_gpio_set, .direction_input = u300_gpio_direction_input, Loading