[PATCH] pinctrl: core: use dev_err_probe() when applying state

From: Michal Piekos

Date: Sun Mar 01 2026 - 11:47:09 EST


When applying a pinctrl state, -EPROBE_DEFER may be returned if
dependencies are not ready and the consumer will retry probing.

This is normal probe ordering behaviour and not a real error.
However, pinctrl core currently logs:

"Error applying setting, reverse things back"

even when the return value is -EPROBE_DEFER, resulting in noisy
boot-time error messages.

Replace dev_err() with dev_err_probe() to handle -EPROBE_DEFER
consistently and suppress error logging for deferred probes.

No functional change intended.

Signed-off-by: Michal Piekos <michal.piekos@xxxxxxxxxxxxx>
---
This series contains a single patch to suppress spurious
boot-time error messages when applying pinctrl states during
normal probe deferral.

Currently, pinctrl core logs an error even when
-EPROBE_DEFER is returned, which is expected probe-ordering
behaviour.

Switch to dev_err_probe() so deferred probes do not emit
misleading error logs.

No functional change intended.
---
drivers/pinctrl/core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
index b5e97689589f..2edc9bdad183 100644
--- a/drivers/pinctrl/core.c
+++ b/drivers/pinctrl/core.c
@@ -1350,7 +1350,8 @@ static int pinctrl_commit_state(struct pinctrl *p, struct pinctrl_state *state)
goto restore_old_state;

unapply_new_state:
- dev_err(p->dev, "Error applying setting, reverse things back\n");
+ dev_err_probe(p->dev, ret,
+ "Error applying setting, reverse things back\n");

/*
* All we can do here is pinmux_disable_setting.

---
base-commit: eb71ab2bf72260054677e348498ba995a057c463
change-id: 20260301-pinctrl-dev-err-probe-00d80f8202a6

Best regards,
--
Michal Piekos <michal.piekos@xxxxxxxxxxxxx>