Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 430be10d authored by Vladimir Zapolskiy's avatar Vladimir Zapolskiy Committed by Linus Walleij
Browse files

pinctrl: imx: accept gpio request/free from pinctrl



While only Freescale Vybrid SoC has settings of GPIO capabilities done
by iomux controller, it is only a matter of GPIO controller driver
implementation for the rest of Freescale/NXP SoCs from iMX series.

As a practical example on GPIO request a pad function should be
switched to GPIO, but because this requires updates to all particular
iMX pinctrl drivers, for simplicity at the moment add only a proper
connection between shared pinctrl-imx and pinctrl/pinmux core, namely
.gpio_request_enable/.gpio_disable_free/.gpio_set_direction callbacks
should return success to a caller. This change allows to progress by
adding request/free callbacks into gpio-mxc.c driver.

Signed-off-by: default avatarVladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Acked-by: default avatarShawn Guo <shawnguo@kernel.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 5803348c
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -315,7 +315,7 @@ static int imx_pmx_gpio_request_enable(struct pinctrl_dev *pctldev,


	/* Currently implementation only for shared mux/conf register */
	/* Currently implementation only for shared mux/conf register */
	if (!(info->flags & SHARE_MUX_CONF_REG))
	if (!(info->flags & SHARE_MUX_CONF_REG))
		return -EINVAL;
		return 0;


	pin_reg = &info->pin_regs[offset];
	pin_reg = &info->pin_regs[offset];
	if (pin_reg->mux_reg == -1)
	if (pin_reg->mux_reg == -1)
@@ -380,7 +380,7 @@ static int imx_pmx_gpio_set_direction(struct pinctrl_dev *pctldev,
	 * They are part of the shared mux/conf register.
	 * They are part of the shared mux/conf register.
	 */
	 */
	if (!(info->flags & SHARE_MUX_CONF_REG))
	if (!(info->flags & SHARE_MUX_CONF_REG))
		return -EINVAL;
		return 0;


	pin_reg = &info->pin_regs[offset];
	pin_reg = &info->pin_regs[offset];
	if (pin_reg->mux_reg == -1)
	if (pin_reg->mux_reg == -1)