summaryrefslogtreecommitdiff
path: root/drivers/pinctrl
diff options
context:
space:
mode:
authorChristophe Kerello <christophe.kerello@st.com>2017-06-20 17:04:19 +0200
committerTom Rini <trini@konsulko.com>2017-07-10 14:26:02 -0400
commitbb44b96803da3d1033f97874cd2fdbe297c6bb5b (patch)
treede98a9895aa5c339bd4d9cb0109b79a4b7882cfc /drivers/pinctrl
parentad0376e0937b266c427ceacda72dd321bd23b987 (diff)
pinctrl: stm32: add set_state ops
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>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r--drivers/pinctrl/pinctrl_stm32.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/pinctrl/pinctrl_stm32.c b/drivers/pinctrl/pinctrl_stm32.c
index 6183103b5b..fb2593c690 100644
--- a/drivers/pinctrl/pinctrl_stm32.c
+++ b/drivers/pinctrl/pinctrl_stm32.c
@@ -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[] = {