]> git.sur5r.net Git - u-boot/commitdiff
pinctrl: stm32: add set_state ops
authorChristophe Kerello <christophe.kerello@st.com>
Tue, 20 Jun 2017 15:04:19 +0000 (17:04 +0200)
committerTom Rini <trini@konsulko.com>
Mon, 10 Jul 2017 18:26:02 +0000 (14:26 -0400)
set_state_ops is kept under PINCTRL_FULL flag in order
to decrease memory footprint in some configuration.
PINCTRL_FULL can be enabled for debug purpose.

Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
drivers/pinctrl/pinctrl_stm32.c

index 6183103b5bd1f7ba5ea39bf4cb4d78ccf152450f..fb2593c690447ddedd3cf980124715e1403f34d0 100644 (file)
@@ -133,6 +133,12 @@ static int stm32_pinctrl_config(int offset)
        return 0;
 }
 
+#if CONFIG_IS_ENABLED(PINCTRL_FULL)
+static int stm32_pinctrl_set_state(struct udevice *dev, struct udevice *config)
+{
+       return stm32_pinctrl_config(dev_of_offset(config));
+}
+#else /* PINCTRL_FULL */
 static int stm32_pinctrl_set_state_simple(struct udevice *dev,
                                          struct udevice *periph)
 {
@@ -165,9 +171,14 @@ static int stm32_pinctrl_set_state_simple(struct udevice *dev,
 
        return 0;
 }
+#endif /* PINCTRL_FULL */
 
 static struct pinctrl_ops stm32_pinctrl_ops = {
+#if CONFIG_IS_ENABLED(PINCTRL_FULL)
+       .set_state              = stm32_pinctrl_set_state,
+#else /* PINCTRL_FULL */
        .set_state_simple       = stm32_pinctrl_set_state_simple,
+#endif /* PINCTRL_FULL */
 };
 
 static const struct udevice_id stm32_pinctrl_ids[] = {