pinctrl: core: Add pinctrl_select_default_state() and export it
authorUlf Hansson <ulf.hansson@linaro.org>
Fri, 6 Dec 2019 17:08:13 +0000 (18:08 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 13 Dec 2019 12:51:06 +0000 (13:51 +0100)
commit55d54d1ee84e5980446b390154526d62bee24ca2
tree801d6b6392e866ff5ed8523a2bec5aefdda423a7
parente42617b825f8073569da76dc4510bfa019b1c35a
pinctrl: core: Add pinctrl_select_default_state() and export it

It has turned out that some mmc host drivers, but perhaps also others
drivers, needs to reset the pinctrl into the default state
(PINCTRL_STATE_DEFAULT). However, they can't use the existing
pinctrl_pm_select_default_state(), as that requires CONFIG_PM to be set.
This leads to open coding, as they need to look up the default state
themselves and then select it.

To avoid the open coding, let's introduce pinctrl_select_default_state()
and make it available independently of CONFIG_PM. As a matter of fact, this
makes it more consistent with the behaviour of the driver core, as it
already tries to looks up the default state during probe.

Going forward, users of pinctrl_pm_select_default_state() are encouraged to
move to pinctrl_select_default_state(), so the old API can be removed.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20191206170821.29711-2-ulf.hansson@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/core.c
include/linux/pinctrl/consumer.h