2024-03-05 14:39:42

by Andre Przywara

[permalink] [raw]
Subject: [PATCH] pinctrl: pinmux: Suppress error message for -EPROBE_DEFER

EPROBE_DEFER error returns are not really critical, since they cancel
the probe process, but the kernel will return later and retry.
However, depending on the probe order, this might issue quite some
verbatim and scary, though pointless messages:

[ 2.388731] 300b000.pinctrl: pin-224 (5000000.serial) status -517
[ 2.397321] 300b000.pinctrl: could not request pin 224 (PH0) from group PH0 on device 300b000.pinctrl

Replace dev_err() with dev_err_probe(), which not only drops the
priority of the message from error to debug, but also puts some text
into debugfs' devices_deferred file, for later reference.

Signed-off-by: Andre Przywara <[email protected]>
---
drivers/pinctrl/pinmux.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/pinctrl/pinmux.c b/drivers/pinctrl/pinmux.c
index 23d2da0b99b92..a6d2fd1658128 100644
--- a/drivers/pinctrl/pinmux.c
+++ b/drivers/pinctrl/pinmux.c
@@ -188,8 +188,8 @@ static int pin_request(struct pinctrl_dev *pctldev,
}
out:
if (status)
- dev_err(pctldev->dev, "pin-%d (%s) status %d\n",
- pin, owner, status);
+ dev_err_probe(pctldev->dev, status, "pin-%d (%s)\n",
+ pin, owner);

return status;
}
@@ -441,7 +441,7 @@ int pinmux_enable_setting(const struct pinctrl_setting *setting)
pname = desc ? desc->name : "non-existing";
gname = pctlops->get_group_name(pctldev,
setting->data.mux.group);
- dev_err(pctldev->dev,
+ dev_err_probe(pctldev->dev, ret,
"could not request pin %d (%s) from group %s "
" on device %s\n",
pins[i], pname, gname,
--
2.25.1



2024-03-05 22:30:23

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH] pinctrl: pinmux: Suppress error message for -EPROBE_DEFER

On Tue, Mar 5, 2024 at 3:39 PM Andre Przywara <[email protected]> wrote:

> EPROBE_DEFER error returns are not really critical, since they cancel
> the probe process, but the kernel will return later and retry.
> However, depending on the probe order, this might issue quite some
> verbatim and scary, though pointless messages:
>
> [ 2.388731] 300b000.pinctrl: pin-224 (5000000.serial) status -517
> [ 2.397321] 300b000.pinctrl: could not request pin 224 (PH0) from group PH0 on device 300b000.pinctrl
>
> Replace dev_err() with dev_err_probe(), which not only drops the
> priority of the message from error to debug, but also puts some text
> into debugfs' devices_deferred file, for later reference.
>
> Signed-off-by: Andre Przywara <[email protected]>

That does cut a lot of noise.

Patch applied!

Yours,
Linus Walleij