drivers/pinmux: stm32: Provide unique API to stm32_dt_pinctrl

Set stm32_dt_pinctrl_configure function as the unique entry point
to STM32 DT pinctrl management.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
This commit is contained in:
Erwan Gouriou 2020-10-16 17:20:00 +02:00 committed by Kumar Gala
commit 0b9c584ec1
9 changed files with 101 additions and 131 deletions

View file

@ -410,22 +410,13 @@ static int can_stm32_init(const struct device *dev)
return -EIO;
}
/* configure pinmux */
if (cfg->pinctrl_len != 0U) {
if (IS_ENABLED(DT_HAS_COMPAT_STATUS_OKAY(st_stm32f1_pinctrl))) {
int remap;
/* Check remap configuration is coherent across pins */
remap = stm32_dt_pinctrl_remap_check(cfg->pinctrl,
cfg->pinctrl_len);
if (remap < 0) {
return remap;
}
stm32_dt_pinctrl_remap_set((uint32_t)cfg->can, remap);
}
stm32_dt_pinctrl_configure(cfg->pinctrl, cfg->pinctrl_len);
/* Configure dt provided device signals when available */
ret = stm32_dt_pinctrl_configure(cfg->pinctrl,
cfg->pinctrl_len,
(uint32_t)cfg->can);
if (ret < 0) {
LOG_ERR("CAN pinctrl setup failed (%d)", ret);
return ret;
}
ret = can_leave_sleep_mode(can);