aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl
Commit message (Collapse)AuthorAge
* Merge tag 'renesas-pinctrl-for-linus' of ↵Linus Torvalds2013-05-04
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC pinctrl changes for Renesas from Olof Johansson: "This is yet another driver change, which is split out just because of its size. As already in 3.9, a lot of changes are going on here, as the shmobile platform gets converted from its own pin control API to the generic drivers/pinctrl subsystem. Based on agreements with Paul Mundt, we are merging the sh-arch-side changes here as well" * tag 'renesas-pinctrl-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (142 commits) ARM: shmobile: r8a7779: Remove INTC function GPIOs ARM: shmobile: r8a7779: Remove LBSC function GPIOs ARM: shmobile: r8a7779: Remove USB function GPIOs ARM: shmobile: r8a7779: Remove HSPI function GPIOs ARM: shmobile: r8a7779: Remove SCIF function GPIOs ARM: shmobile: r8a7779: Remove SDHI and MMCIF function GPIOs ARM: shmobile: r8a7779: Remove DU function GPIOs ARM: shmobile: r8a7779: Remove DU1_DOTCLKOUT1 GPIO ARM: shmobile: r8a7740: Remove SDHI and MMCIF function GPIOs ARM: shmobile: r8a7740: Remove LCD0 and LCD1 function GPIOs ARM: shmobile: sh73a0: Remove IrDA function GPIOs ARM: shmobile: sh73a0: Remove USB function GPIOs ARM: shmobile: sh73a0: Remove BSC function GPIOs ARM: shmobile: sh73a0: Remove KEYSC function GPIOs ARM: shmobile: sh73a0: Remove pull-up function GPIOS ARM: shmobile: sh73a0: Remove FSI function GPIOs ARM: shmobile: sh73a0: Remove I2C function GPIOs ARM: shmobile: sh73a0: Remove SCIFA and SCIFB function GPIOs ARM: shmobile: sh73a0: Remove LCDC and LCDC2 function GPIOs ARM: shmobile: sh7372: Remove SDHI and MMCIF function GPIOs ...
| * sh-pfc: r8a7779: Remove INTC function GPIOSLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | All r8a7779 platforms now use the pinctrl API to control the INTC pins, the corresponding function GPIOS are unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: r8a7779: Remove LBSC function GPIOSLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | All r8a7779 platforms now use the pinctrl API to control the LBSC pins, the corresponding function GPIOS are unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: r8a7779: Remove USB function GPIOSLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | All r8a7779 platforms now use the pinctrl API to control the USB pins, the corresponding function GPIOS are unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: r8a7779: Remove HSPI function GPIOSLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | All r8a7779 platforms now use the pinctrl API to control the HSPI pins, the corresponding function GPIOS are unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: r8a7779: Remove SCIF function GPIOSLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | All r8a7779 platforms now use the pinctrl API to control the SCIF pins, the corresponding function GPIOS are unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: r8a7779: Remove SDHI and MMCIF function GPIOSLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | All r8a7779 platforms now use the pinctrl API to control the SDHI and MMCIF pins, the corresponding function GPIOS are unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: r8a7779: Remove DU1_DOTCLKOUT1 GPIOLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | The function is not documented in the r8a7779 datasheet. Remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: r8a7740: Remove SDHI and MMCIF function GPIOSLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | All r8a7740 platforms now use the pinctrl API to control the SDHI and MMCIF pins, the corresponding function GPIOS are unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: r8a7740: Remove LCD0 and LCD1 function GPIOSLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | All r8a7740 platforms now use the pinctrl API to control the LCD0 and LCD1 pins, the corresponding function GPIOS are unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Remove IrDA function GPIOSLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | All sh73a0 platforms now use the pinctrl API to control the IrDA pins, the corresponding function GPIOS are unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Remove USB function GPIOSLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | All sh73a0 platforms now use the pinctrl API to control the USB pins, the corresponding function GPIOS are unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Remove BSC function GPIOSLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | All sh73a0 platforms now use the pinctrl API to control the BSC pins, the corresponding function GPIOS are unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Remove KEYSC function GPIOSLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | All sh73a0 platforms now use the pinctrl API to control the KEYSC pins, the corresponding function GPIOS are unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Remove pull-up function GPIOSLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | All sh73a0 platforms now use the pinconf API to control pull-ups, the corresponding function GPIOS are unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Remove FSI function GPIOSLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | All sh73a0 platforms now use the pinctrl API to control the FSI pins, the corresponding function GPIOS are unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Remove I2C function GPIOSLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | All sh73a0 platforms now use the pinctrl API to control the I2C pins, the corresponding function GPIOS are unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Remove SCIFA and SCIFB function GPIOSLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | All sh73a0 platforms now use the pinctrl API to control the SCIFA and SCIFB pins, the corresponding function GPIOS are unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Remove LCD and LCD2 function GPIOSLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | All sh73a0 platforms now use the pinctrl API to control the LCD and LCD2 pins, the corresponding function GPIOS are unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh7372: Remove SDHI and MMCIF function GPIOSLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | All sh7372 platforms now use the pinctrl API to control the SDHI and MMCIF pins, the corresponding function GPIOS are unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: r8a7779: Add INTC pin groups and functionsLaurent Pinchart2013-03-15
| | | | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: r8a7779: Add LBSC pin groups and functionsLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | Only the CS pins and functions are currently handled. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: r8a7779: Add USB pin groups and functionsLaurent Pinchart2013-03-15
| | | | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: r8a7779: Add USB0 and USB1 PENC pinmux supportLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | The USB0 and USB1 PENC functions were missing. Add them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: r8a7779: Add HSPI pin groups and functionsLaurent Pinchart2013-03-15
| | | | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: r8a7779: Add SCIF pin groups and functionsLaurent Pinchart2013-03-15
| | | | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: r8a7779: Add SDHI and MMCIF pin groups and functionsLaurent Pinchart2013-03-15
| | | | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: r8a7779: Add DU pin groups and functionsLaurent Pinchart2013-03-15
| | | | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: r8a7740: Add SDHI and MMCIF pin groups and functionsGuennadi Liakhovetski2013-03-15
| | | | | | | | | | | | | | | | | | Add pin groups for the first two SDHI interfaces and two alternative pin groups for the MMCIF interface on the r8a7740 SoC. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: r8a7740: Add LCDC0 and LCDC1 pin groups and functionsLaurent Pinchart2013-03-15
| | | | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Add IrDA pin groups and functionsLaurent Pinchart2013-03-15
| | | | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Add USB pin groups and functionsLaurent Pinchart2013-03-15
| | | | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Add BSC pin groups and functionsLaurent Pinchart2013-03-15
| | | | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Add KEYSC pin groups and functionsLaurent Pinchart2013-03-15
| | | | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Add SDHI and MMCIF pin groups and functionsGuennadi Liakhovetski2013-03-15
| | | | | | | | | | | | | | | | | | Add pin group definitions for SDHI0, SDHI1, SDHI2 and MMCIF interfaces on sh73a0. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Add FSI pin groups and functionsLaurent Pinchart2013-03-15
| | | | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Add I2C2 and I2C3 pin groups and functionsLaurent Pinchart2013-03-15
| | | | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Add SCIFA and SCIFB pin groups and functionsLaurent Pinchart2013-03-15
| | | | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Add LCD and LCD2 pin groups and functionsLaurent Pinchart2013-03-15
| | | | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh73a0: Add bias (pull-up/down) pinconf supportLaurent Pinchart2013-03-15
| | | | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: sh7372: Add SDHCI and MMCIF pin groups and functionsGuennadi Liakhovetski2013-03-15
| | | | | | | | | | | | | | | | | | Add pin groups for all three SDHI interfaces and two alternative pin groups for the MMCIF interface on the sh7372 SoC. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
| * sh-pfc: Return an error if a pin doesn't support the requested directionLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | | | | | | | When setting a pin direction verify that the requested direction is supported, and return an error if it isn't. This requires pin configuration information to be supplied by SoC data. The check is a no-op if the information is not supplied. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: Convert message printing from pr_* to dev_*Laurent Pinchart2013-03-15
| | | | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: Clean up pin configuration type handlingLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set pin configuration type to - PINMUX_TYPE_NONE at initialization time and when disabling a function or freeing a GPIO - PINMUX_TYPE_FUNCTION when enabling a function - PINMUX_TYPE_INPUT or PINMUX_TYPE_OUTPUT when setting the GPIO direction Verify that the type is PINMUX_TYPE_NONE when enabling a function or requesting a GPIO and return -EBUSY if it isn't. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: Merge sh_pfc_reconfig_pin() into sh_pfc_gpio_set_direction()Laurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | The sh_pfc_reconfig_pin() is only called from a single location. Merge it into its call site to make the code easier to follow. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: Implement generic pinconf supportLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | | | | | The existing PFC pinconf implementation, tied to the PFC-specific pin types, isn't used by drivers or boards. Replace it with the generic pinconf types to implement bias (pull-up/down) setup. Other pin configuration options can be implemented later if needed. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: Use proper error codesLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | Return proper error codes instead of -1, and propagate the error codes. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: Constify all SoC dataLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | None of the SoC data need to be modified. Constify it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: Remove configuration dry-run and freeLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | | | | | | | The purpose of the dry-run is to ensure that a pin about to be configured isn't in use. However, the current implementation is a no-op. This proves that the dry-run isn't essential. Remove it. Freeing configuration then becomes a no-op as well. Remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
| * sh-pfc: Don't modify sh_pfc_pin SoC dataLaurent Pinchart2013-03-15
| | | | | | | | | | | | | | | | | | | | | | The sh_pfc_pin structure supplied in SoC data contains information about pin configuration and name. It's abused to store GPIO data registers information and pin config type. Move those fields out of the pinmux_data_reg structure into the new sh_pfc_gpio_pin and sh_pfc_pin_config structures. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>