[U-Boot] [PATCH 2/5] pinctrl: renesas: Set pin type in sh_pfc_config_mux_for_gpio

Marek Vasut marek.vasut at gmail.com
Sun Apr 21 22:20:18 UTC 2019


Add missing cfg->type = PINMUX_TYPE_GPIO upon successfully setting pin
as a GPIO to retain the pin configuration information.

Signed-off-by: Marek Vasut <marek.vasut+renesas at gmail.com>
Cc: Alex Kiernan <alex.kiernan at gmail.com>
Cc: Christoph Muellner <christoph.muellner at theobroma-systems.com>
Cc: Eugeniu Rosca <roscaeugeniu at gmail.com>
Cc: Patrice Chotard <patrice.chotard at st.com>
Cc: Patrick DELAUNAY <patrick.delaunay at st.com>
Cc: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
Cc: Simon Glass <sjg at chromium.org>
---
 drivers/pinctrl/renesas/pfc.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/renesas/pfc.c b/drivers/pinctrl/renesas/pfc.c
index 06359501b7..59dc4af702 100644
--- a/drivers/pinctrl/renesas/pfc.c
+++ b/drivers/pinctrl/renesas/pfc.c
@@ -466,7 +466,7 @@ int sh_pfc_config_mux_for_gpio(struct udevice *dev, unsigned pin_selector)
 	struct sh_pfc *pfc = &priv->pfc;
 	struct sh_pfc_pin_config *cfg;
 	const struct sh_pfc_pin *pin = NULL;
-	int i, idx;
+	int i, ret, idx;
 
 	for (i = 1; i < pfc->info->nr_pins; i++) {
 		if (priv->pfc.info->pins[i].pin != pin_selector)
@@ -485,7 +485,13 @@ int sh_pfc_config_mux_for_gpio(struct udevice *dev, unsigned pin_selector)
 	if (cfg->type != PINMUX_TYPE_NONE)
 		return -EBUSY;
 
-	return sh_pfc_config_mux(pfc, pin->enum_id, PINMUX_TYPE_GPIO);
+	ret = sh_pfc_config_mux(pfc, pin->enum_id, PINMUX_TYPE_GPIO);
+	if (ret)
+		return ret;
+
+	cfg->type = PINMUX_TYPE_GPIO;
+
+	return 0;
 }
 
 static int sh_pfc_pinctrl_pin_set(struct udevice *dev, unsigned pin_selector,
-- 
2.20.1



More information about the U-Boot mailing list