* [PATCH 1/5] gpio: nomadik: convert nmk_gpio_populate_chip() to goto cleanup
2026-07-01 16:56 [PATCH 0/5] gpio: nomadik: silence boot log Théo Lebrun
@ 2026-07-01 16:56 ` Théo Lebrun
2026-07-02 7:58 ` Linus Walleij
2026-07-01 16:56 ` [PATCH 2/5] gpio: nomadik: add missing dev_err() call on chip populate failure Théo Lebrun
` (4 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: Théo Lebrun @ 2026-07-01 16:56 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Philipp Zabel
Cc: Vladimir Kondratiev, Gregory CLEMENT, Benoît Monin,
Tawfik Bayouk, Thomas Petazzoni, linux-arm-kernel, linux-gpio,
linux-kernel, Théo Lebrun
Remove duplicate teardown code that is found in all error if
statements. Replace by goto-based cleanup labels.
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
drivers/gpio/gpio-nomadik.c | 44 +++++++++++++++++++++++---------------------
1 file changed, 23 insertions(+), 21 deletions(-)
diff --git a/drivers/gpio/gpio-nomadik.c b/drivers/gpio/gpio-nomadik.c
index e22b713166d7..f25f251f4757 100644
--- a/drivers/gpio/gpio-nomadik.c
+++ b/drivers/gpio/gpio-nomadik.c
@@ -527,15 +527,15 @@ struct nmk_gpio_chip *nmk_gpio_populate_chip(struct fwnode_handle *fwnode,
if (device_property_read_u32(gpio_dev, "gpio-bank", &id)) {
dev_err(dev, "populate: gpio-bank property not found\n");
- platform_device_put(gpio_pdev);
- return ERR_PTR(-EINVAL);
+ ret = -EINVAL;
+ goto err_put_pdev;
}
#ifdef CONFIG_PINCTRL_NOMADIK
if (id >= ARRAY_SIZE(nmk_gpio_chips)) {
dev_err(dev, "populate: invalid id: %u\n", id);
- platform_device_put(gpio_pdev);
- return ERR_PTR(-EINVAL);
+ ret = -EINVAL;
+ goto err_put_pdev;
}
/* Already populated? */
nmk_chip = nmk_gpio_chips[id];
@@ -547,8 +547,8 @@ struct nmk_gpio_chip *nmk_gpio_populate_chip(struct fwnode_handle *fwnode,
nmk_chip = devm_kzalloc(dev, sizeof(*nmk_chip), GFP_KERNEL);
if (!nmk_chip) {
- platform_device_put(gpio_pdev);
- return ERR_PTR(-ENOMEM);
+ ret = -ENOMEM;
+ goto err_put_pdev;
}
if (device_property_read_u32(gpio_dev, "ngpios", &ngpio)) {
@@ -569,16 +569,16 @@ struct nmk_gpio_chip *nmk_gpio_populate_chip(struct fwnode_handle *fwnode,
res = platform_get_resource(gpio_pdev, IORESOURCE_MEM, 0);
base = devm_ioremap_resource(dev, res);
if (IS_ERR(base)) {
- platform_device_put(gpio_pdev);
- return ERR_CAST(base);
+ ret = PTR_ERR(base);
+ goto err_put_pdev;
}
nmk_chip->addr = base;
/* NOTE: do not use devm_ here! */
clk = clk_get_optional(gpio_dev, NULL);
if (IS_ERR(clk)) {
- platform_device_put(gpio_pdev);
- return ERR_CAST(clk);
+ ret = PTR_ERR(clk);
+ goto err_put_pdev;
}
clk_prepare(clk);
nmk_chip->clk = clk;
@@ -586,12 +586,9 @@ struct nmk_gpio_chip *nmk_gpio_populate_chip(struct fwnode_handle *fwnode,
/* NOTE: do not use devm_ here! */
reset = reset_control_get_optional_shared(gpio_dev, NULL);
if (IS_ERR(reset)) {
- clk_unprepare(clk);
- clk_put(clk);
- platform_device_put(gpio_pdev);
- dev_err(dev, "failed getting reset control: %pe\n",
- reset);
- return ERR_CAST(reset);
+ dev_err(dev, "failed getting reset control: %pe\n", reset);
+ ret = PTR_ERR(reset);
+ goto err_unprepare_clk;
}
/*
@@ -601,18 +598,23 @@ struct nmk_gpio_chip *nmk_gpio_populate_chip(struct fwnode_handle *fwnode,
*/
ret = reset_control_deassert(reset);
if (ret) {
- reset_control_put(reset);
- clk_unprepare(clk);
- clk_put(clk);
- platform_device_put(gpio_pdev);
dev_err(dev, "failed reset deassert: %d\n", ret);
- return ERR_PTR(ret);
+ goto err_put_reset;
}
#ifdef CONFIG_PINCTRL_NOMADIK
nmk_gpio_chips[id] = nmk_chip;
#endif
return nmk_chip;
+
+err_put_reset:
+ reset_control_put(reset);
+err_unprepare_clk:
+ clk_unprepare(clk);
+ clk_put(clk);
+err_put_pdev:
+ platform_device_put(gpio_pdev);
+ return ERR_PTR(ret);
}
static void nmk_gpio_irq_print_chip(struct irq_data *d, struct seq_file *p)
--
2.55.0
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH 1/5] gpio: nomadik: convert nmk_gpio_populate_chip() to goto cleanup
2026-07-01 16:56 ` [PATCH 1/5] gpio: nomadik: convert nmk_gpio_populate_chip() to goto cleanup Théo Lebrun
@ 2026-07-02 7:58 ` Linus Walleij
0 siblings, 0 replies; 15+ messages in thread
From: Linus Walleij @ 2026-07-02 7:58 UTC (permalink / raw)
To: Théo Lebrun
Cc: Bartosz Golaszewski, Philipp Zabel, Vladimir Kondratiev,
Gregory CLEMENT, Benoît Monin, Tawfik Bayouk,
Thomas Petazzoni, linux-arm-kernel, linux-gpio, linux-kernel
On Wed, Jul 1, 2026 at 6:57 PM Théo Lebrun <theo.lebrun@bootlin.com> wrote:
> Remove duplicate teardown code that is found in all error if
> statements. Replace by goto-based cleanup labels.
>
> Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 2/5] gpio: nomadik: add missing dev_err() call on chip populate failure
2026-07-01 16:56 [PATCH 0/5] gpio: nomadik: silence boot log Théo Lebrun
2026-07-01 16:56 ` [PATCH 1/5] gpio: nomadik: convert nmk_gpio_populate_chip() to goto cleanup Théo Lebrun
@ 2026-07-01 16:56 ` Théo Lebrun
2026-07-02 7:58 ` Linus Walleij
2026-07-01 16:57 ` [PATCH 3/5] gpio: nomadik: drop duplicate probe error line Théo Lebrun
` (3 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: Théo Lebrun @ 2026-07-01 16:56 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Philipp Zabel
Cc: Vladimir Kondratiev, Gregory CLEMENT, Benoît Monin,
Tawfik Bayouk, Thomas Petazzoni, linux-arm-kernel, linux-gpio,
linux-kernel, Théo Lebrun
All error paths of nmk_gpio_populate_chip() lead to logging errors but
this one (ignoring the alloc or ioremap failures that must not log).
Add the single missing dev_err() call.
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
drivers/gpio/gpio-nomadik.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpio/gpio-nomadik.c b/drivers/gpio/gpio-nomadik.c
index f25f251f4757..4a7db282bad8 100644
--- a/drivers/gpio/gpio-nomadik.c
+++ b/drivers/gpio/gpio-nomadik.c
@@ -578,6 +578,7 @@ struct nmk_gpio_chip *nmk_gpio_populate_chip(struct fwnode_handle *fwnode,
clk = clk_get_optional(gpio_dev, NULL);
if (IS_ERR(clk)) {
ret = PTR_ERR(clk);
+ dev_err(dev, "failed getting clock: %d\n", ret);
goto err_put_pdev;
}
clk_prepare(clk);
--
2.55.0
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH 2/5] gpio: nomadik: add missing dev_err() call on chip populate failure
2026-07-01 16:56 ` [PATCH 2/5] gpio: nomadik: add missing dev_err() call on chip populate failure Théo Lebrun
@ 2026-07-02 7:58 ` Linus Walleij
0 siblings, 0 replies; 15+ messages in thread
From: Linus Walleij @ 2026-07-02 7:58 UTC (permalink / raw)
To: Théo Lebrun
Cc: Bartosz Golaszewski, Philipp Zabel, Vladimir Kondratiev,
Gregory CLEMENT, Benoît Monin, Tawfik Bayouk,
Thomas Petazzoni, linux-arm-kernel, linux-gpio, linux-kernel
On Wed, Jul 1, 2026 at 6:57 PM Théo Lebrun <theo.lebrun@bootlin.com> wrote:
> All error paths of nmk_gpio_populate_chip() lead to logging errors but
> this one (ignoring the alloc or ioremap failures that must not log).
>
> Add the single missing dev_err() call.
>
> Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 3/5] gpio: nomadik: drop duplicate probe error line
2026-07-01 16:56 [PATCH 0/5] gpio: nomadik: silence boot log Théo Lebrun
2026-07-01 16:56 ` [PATCH 1/5] gpio: nomadik: convert nmk_gpio_populate_chip() to goto cleanup Théo Lebrun
2026-07-01 16:56 ` [PATCH 2/5] gpio: nomadik: add missing dev_err() call on chip populate failure Théo Lebrun
@ 2026-07-01 16:57 ` Théo Lebrun
2026-07-02 7:59 ` Linus Walleij
2026-07-01 16:57 ` [PATCH 4/5] gpio: nomadik: use dev_err_probe() Théo Lebrun
` (2 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: Théo Lebrun @ 2026-07-01 16:57 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Philipp Zabel
Cc: Vladimir Kondratiev, Gregory CLEMENT, Benoît Monin,
Tawfik Bayouk, Thomas Petazzoni, linux-arm-kernel, linux-gpio,
linux-kernel, Théo Lebrun
Now that all error codepaths in nmk_gpio_populate_chip() log an error,
drop dev_err() call that is made on nmk_gpio_populate_chip() failure.
Current boot log:
[ 0.544230] nomadik-gpio 1400000.gpio: failed getting reset control: -EPROBE_DEFER
[ 0.544274] nomadik-gpio 1400000.gpio: could not populate nmk chip struct
The second line is always redundant (or is logged when we shouldn't log,
like ioremap or alloc failures).
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
drivers/gpio/gpio-nomadik.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/gpio/gpio-nomadik.c b/drivers/gpio/gpio-nomadik.c
index 4a7db282bad8..eba095eeb3d6 100644
--- a/drivers/gpio/gpio-nomadik.c
+++ b/drivers/gpio/gpio-nomadik.c
@@ -651,10 +651,8 @@ static int nmk_gpio_probe(struct platform_device *pdev)
int ret;
nmk_chip = nmk_gpio_populate_chip(dev_fwnode(dev), pdev);
- if (IS_ERR(nmk_chip)) {
- dev_err(dev, "could not populate nmk chip struct\n");
+ if (IS_ERR(nmk_chip))
return PTR_ERR(nmk_chip);
- }
supports_sleepmode =
device_property_read_bool(dev, "st,supports-sleepmode");
--
2.55.0
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH 3/5] gpio: nomadik: drop duplicate probe error line
2026-07-01 16:57 ` [PATCH 3/5] gpio: nomadik: drop duplicate probe error line Théo Lebrun
@ 2026-07-02 7:59 ` Linus Walleij
0 siblings, 0 replies; 15+ messages in thread
From: Linus Walleij @ 2026-07-02 7:59 UTC (permalink / raw)
To: Théo Lebrun
Cc: Bartosz Golaszewski, Philipp Zabel, Vladimir Kondratiev,
Gregory CLEMENT, Benoît Monin, Tawfik Bayouk,
Thomas Petazzoni, linux-arm-kernel, linux-gpio, linux-kernel
On Wed, Jul 1, 2026 at 6:57 PM Théo Lebrun <theo.lebrun@bootlin.com> wrote:
> Now that all error codepaths in nmk_gpio_populate_chip() log an error,
> drop dev_err() call that is made on nmk_gpio_populate_chip() failure.
>
> Current boot log:
>
> [ 0.544230] nomadik-gpio 1400000.gpio: failed getting reset control: -EPROBE_DEFER
> [ 0.544274] nomadik-gpio 1400000.gpio: could not populate nmk chip struct
>
> The second line is always redundant (or is logged when we shouldn't log,
> like ioremap or alloc failures).
>
> Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 4/5] gpio: nomadik: use dev_err_probe()
2026-07-01 16:56 [PATCH 0/5] gpio: nomadik: silence boot log Théo Lebrun
` (2 preceding siblings ...)
2026-07-01 16:57 ` [PATCH 3/5] gpio: nomadik: drop duplicate probe error line Théo Lebrun
@ 2026-07-01 16:57 ` Théo Lebrun
2026-07-02 7:59 ` Linus Walleij
2026-07-01 16:57 ` [PATCH 5/5] gpio: nomadik: drop "chip registered" log on probe success Théo Lebrun
2026-07-03 8:20 ` [PATCH 0/5] gpio: nomadik: silence boot log Bartosz Golaszewski
5 siblings, 1 reply; 15+ messages in thread
From: Théo Lebrun @ 2026-07-01 16:57 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Philipp Zabel
Cc: Vladimir Kondratiev, Gregory CLEMENT, Benoît Monin,
Tawfik Bayouk, Thomas Petazzoni, linux-arm-kernel, linux-gpio,
linux-kernel, Théo Lebrun
gpio-nomadik depends on a few resources. In one case the reset is taking
time to show up leading to a boot log containing:
[ 0.544230] nomadik-gpio 1400000.gpio: failed getting reset control: -EPROBE_DEFER
Fix by replacing all dev_err() calls that might be made at probe with
dev_err_probe().
On nomadik platforms, the nmk_gpio_populate_chip() log calls might
attach their reasons to the gpio or pinctrl device depending on boot
order.
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
drivers/gpio/gpio-nomadik.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/drivers/gpio/gpio-nomadik.c b/drivers/gpio/gpio-nomadik.c
index eba095eeb3d6..1ee46f59d708 100644
--- a/drivers/gpio/gpio-nomadik.c
+++ b/drivers/gpio/gpio-nomadik.c
@@ -520,21 +520,22 @@ struct nmk_gpio_chip *nmk_gpio_populate_chip(struct fwnode_handle *fwnode,
gpio_dev = bus_find_device_by_fwnode(&platform_bus_type, fwnode);
if (!gpio_dev) {
- dev_err(dev, "populate \"%pfwP\": device not found\n", fwnode);
- return ERR_PTR(-ENODEV);
+ ret = -ENODEV;
+ dev_err_probe(dev, ret, "populate \"%pfwP\": device not found\n", fwnode);
+ return ERR_PTR(ret);
}
gpio_pdev = to_platform_device(gpio_dev);
if (device_property_read_u32(gpio_dev, "gpio-bank", &id)) {
- dev_err(dev, "populate: gpio-bank property not found\n");
ret = -EINVAL;
+ dev_err_probe(dev, ret, "populate: gpio-bank property not found\n");
goto err_put_pdev;
}
#ifdef CONFIG_PINCTRL_NOMADIK
if (id >= ARRAY_SIZE(nmk_gpio_chips)) {
- dev_err(dev, "populate: invalid id: %u\n", id);
ret = -EINVAL;
+ dev_err_probe(dev, ret, "populate: invalid id: %u\n", id);
goto err_put_pdev;
}
/* Already populated? */
@@ -578,7 +579,7 @@ struct nmk_gpio_chip *nmk_gpio_populate_chip(struct fwnode_handle *fwnode,
clk = clk_get_optional(gpio_dev, NULL);
if (IS_ERR(clk)) {
ret = PTR_ERR(clk);
- dev_err(dev, "failed getting clock: %d\n", ret);
+ dev_err_probe(dev, ret, "failed getting clock\n");
goto err_put_pdev;
}
clk_prepare(clk);
@@ -587,8 +588,8 @@ struct nmk_gpio_chip *nmk_gpio_populate_chip(struct fwnode_handle *fwnode,
/* NOTE: do not use devm_ here! */
reset = reset_control_get_optional_shared(gpio_dev, NULL);
if (IS_ERR(reset)) {
- dev_err(dev, "failed getting reset control: %pe\n", reset);
ret = PTR_ERR(reset);
+ dev_err_probe(dev, ret, "failed getting reset control\n");
goto err_unprepare_clk;
}
@@ -599,7 +600,7 @@ struct nmk_gpio_chip *nmk_gpio_populate_chip(struct fwnode_handle *fwnode,
*/
ret = reset_control_deassert(reset);
if (ret) {
- dev_err(dev, "failed reset deassert: %d\n", ret);
+ dev_err_probe(dev, ret, "failed reset deassert\n");
goto err_put_reset;
}
@@ -695,7 +696,7 @@ static int nmk_gpio_probe(struct platform_device *pdev)
ret = devm_request_irq(dev, irq, nmk_gpio_irq_handler, IRQF_SHARED,
dev_name(dev), nmk_chip);
if (ret) {
- dev_err(dev, "failed requesting IRQ\n");
+ dev_err_probe(dev, ret, "failed requesting IRQ\n");
return ret;
}
--
2.55.0
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH 4/5] gpio: nomadik: use dev_err_probe()
2026-07-01 16:57 ` [PATCH 4/5] gpio: nomadik: use dev_err_probe() Théo Lebrun
@ 2026-07-02 7:59 ` Linus Walleij
0 siblings, 0 replies; 15+ messages in thread
From: Linus Walleij @ 2026-07-02 7:59 UTC (permalink / raw)
To: Théo Lebrun
Cc: Bartosz Golaszewski, Philipp Zabel, Vladimir Kondratiev,
Gregory CLEMENT, Benoît Monin, Tawfik Bayouk,
Thomas Petazzoni, linux-arm-kernel, linux-gpio, linux-kernel
On Wed, Jul 1, 2026 at 6:57 PM Théo Lebrun <theo.lebrun@bootlin.com> wrote:
> gpio-nomadik depends on a few resources. In one case the reset is taking
> time to show up leading to a boot log containing:
>
> [ 0.544230] nomadik-gpio 1400000.gpio: failed getting reset control: -EPROBE_DEFER
>
> Fix by replacing all dev_err() calls that might be made at probe with
> dev_err_probe().
>
> On nomadik platforms, the nmk_gpio_populate_chip() log calls might
> attach their reasons to the gpio or pinctrl device depending on boot
> order.
>
> Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 5/5] gpio: nomadik: drop "chip registered" log on probe success
2026-07-01 16:56 [PATCH 0/5] gpio: nomadik: silence boot log Théo Lebrun
` (3 preceding siblings ...)
2026-07-01 16:57 ` [PATCH 4/5] gpio: nomadik: use dev_err_probe() Théo Lebrun
@ 2026-07-01 16:57 ` Théo Lebrun
2026-07-02 8:00 ` Linus Walleij
2026-07-03 8:20 ` [PATCH 0/5] gpio: nomadik: silence boot log Bartosz Golaszewski
5 siblings, 1 reply; 15+ messages in thread
From: Théo Lebrun @ 2026-07-01 16:57 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Philipp Zabel
Cc: Vladimir Kondratiev, Gregory CLEMENT, Benoît Monin,
Tawfik Bayouk, Thomas Petazzoni, linux-arm-kernel, linux-gpio,
linux-kernel, Théo Lebrun
Successful driver probing should be silent. Drop unconditional
dev_info() call that is done at nmk_gpio_probe() exit.
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
drivers/gpio/gpio-nomadik.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/gpio/gpio-nomadik.c b/drivers/gpio/gpio-nomadik.c
index 1ee46f59d708..244331f468cc 100644
--- a/drivers/gpio/gpio-nomadik.c
+++ b/drivers/gpio/gpio-nomadik.c
@@ -712,8 +712,6 @@ static int nmk_gpio_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, nmk_chip);
- dev_info(dev, "chip registered\n");
-
return 0;
}
--
2.55.0
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH 5/5] gpio: nomadik: drop "chip registered" log on probe success
2026-07-01 16:57 ` [PATCH 5/5] gpio: nomadik: drop "chip registered" log on probe success Théo Lebrun
@ 2026-07-02 8:00 ` Linus Walleij
2026-07-02 8:34 ` Théo Lebrun
0 siblings, 1 reply; 15+ messages in thread
From: Linus Walleij @ 2026-07-02 8:00 UTC (permalink / raw)
To: Théo Lebrun
Cc: Bartosz Golaszewski, Philipp Zabel, Vladimir Kondratiev,
Gregory CLEMENT, Benoît Monin, Tawfik Bayouk,
Thomas Petazzoni, linux-arm-kernel, linux-gpio, linux-kernel
On Wed, Jul 1, 2026 at 6:57 PM Théo Lebrun <theo.lebrun@bootlin.com> wrote:
> Successful driver probing should be silent. Drop unconditional
> dev_info() call that is done at nmk_gpio_probe() exit.
>
> Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
I actually don't generally agree, but you are using this driver more than
me now so let's go with your minimalist dmesg style for this driver.
Reviewed-by: Linus Walleij <linusw@kernel.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 5/5] gpio: nomadik: drop "chip registered" log on probe success
2026-07-02 8:00 ` Linus Walleij
@ 2026-07-02 8:34 ` Théo Lebrun
2026-07-03 8:20 ` Bartosz Golaszewski
2026-07-03 21:08 ` Linus Walleij
0 siblings, 2 replies; 15+ messages in thread
From: Théo Lebrun @ 2026-07-02 8:34 UTC (permalink / raw)
To: Linus Walleij
Cc: Bartosz Golaszewski, Philipp Zabel, Vladimir Kondratiev,
Gregory CLEMENT, Benoît Monin, Tawfik Bayouk,
Thomas Petazzoni, linux-arm-kernel, linux-gpio, linux-kernel
Hello Linus,
On Thu Jul 2, 2026 at 10:00 AM CEST, Linus Walleij wrote:
> On Wed, Jul 1, 2026 at 6:57 PM Théo Lebrun <theo.lebrun@bootlin.com> wrote:
>
>> Successful driver probing should be silent. Drop unconditional
>> dev_info() call that is done at nmk_gpio_probe() exit.
>>
>> Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
>
> I actually don't generally agree, but you are using this driver more than
> me now so let's go with your minimalist dmesg style for this driver.
I get from where you stand, but the info level is somewhat strong.
Documentation/process/coding-style.rst agrees ("When drivers are
working properly they are quiet").
If you like this log line we can turn it into a lower debug level?
> Reviewed-by: Linus Walleij <linusw@kernel.org>
Thanks for the reviews Linus!
--
Théo Lebrun, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [PATCH 5/5] gpio: nomadik: drop "chip registered" log on probe success
2026-07-02 8:34 ` Théo Lebrun
@ 2026-07-03 8:20 ` Bartosz Golaszewski
2026-07-03 21:08 ` Linus Walleij
1 sibling, 0 replies; 15+ messages in thread
From: Bartosz Golaszewski @ 2026-07-03 8:20 UTC (permalink / raw)
To: Théo Lebrun
Cc: Bartosz Golaszewski, Philipp Zabel, Vladimir Kondratiev,
Gregory CLEMENT, Benoît Monin, Tawfik Bayouk,
Thomas Petazzoni, linux-arm-kernel, linux-gpio, linux-kernel,
Linus Walleij
On Thu, 2 Jul 2026 10:34:02 +0200, "Théo Lebrun" <theo.lebrun@bootlin.com> said:
> Hello Linus,
>
> On Thu Jul 2, 2026 at 10:00 AM CEST, Linus Walleij wrote:
>> On Wed, Jul 1, 2026 at 6:57 PM Théo Lebrun <theo.lebrun@bootlin.com> wrote:
>>
>>> Successful driver probing should be silent. Drop unconditional
>>> dev_info() call that is done at nmk_gpio_probe() exit.
>>>
>>> Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
>>
>> I actually don't generally agree, but you are using this driver more than
>> me now so let's go with your minimalist dmesg style for this driver.
>
> I get from where you stand, but the info level is somewhat strong.
> Documentation/process/coding-style.rst agrees ("When drivers are
> working properly they are quiet").
>
> If you like this log line we can turn it into a lower debug level?
>
>> Reviewed-by: Linus Walleij <linusw@kernel.org>
>
> Thanks for the reviews Linus!
>
My personal preference is for silent drivers too. You can find out if the
driver probed correctly from sysfs. Only if it didn't, do you need to know
why from the kernel log.
Bart
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [PATCH 5/5] gpio: nomadik: drop "chip registered" log on probe success
2026-07-02 8:34 ` Théo Lebrun
2026-07-03 8:20 ` Bartosz Golaszewski
@ 2026-07-03 21:08 ` Linus Walleij
1 sibling, 0 replies; 15+ messages in thread
From: Linus Walleij @ 2026-07-03 21:08 UTC (permalink / raw)
To: Théo Lebrun
Cc: Bartosz Golaszewski, Philipp Zabel, Vladimir Kondratiev,
Gregory CLEMENT, Benoît Monin, Tawfik Bayouk,
Thomas Petazzoni, linux-arm-kernel, linux-gpio, linux-kernel
On Thu, Jul 2, 2026 at 10:34 AM Théo Lebrun <theo.lebrun@bootlin.com> wrote:
> > I actually don't generally agree, but you are using this driver more than
> > me now so let's go with your minimalist dmesg style for this driver.
>
> I get from where you stand, but the info level is somewhat strong.
> Documentation/process/coding-style.rst agrees ("When drivers are
> working properly they are quiet").
>
> If you like this log line we can turn it into a lower debug level?
My actual preference for the record is not simple.
I prefer noisy talkative dmesg when the platform/system is new,
and new stuff is being added to the kernel in every release in
large chunks.
This is when things could go missing and cause regressions
and it's nice to see a "hello world" in dmesg.
As the platform matures and get full support in the kernel,
these can be dropped gradually, because the driver can be
trusted to probe properly.
So, not a simple yes/no position at all.
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/5] gpio: nomadik: silence boot log
2026-07-01 16:56 [PATCH 0/5] gpio: nomadik: silence boot log Théo Lebrun
` (4 preceding siblings ...)
2026-07-01 16:57 ` [PATCH 5/5] gpio: nomadik: drop "chip registered" log on probe success Théo Lebrun
@ 2026-07-03 8:20 ` Bartosz Golaszewski
5 siblings, 0 replies; 15+ messages in thread
From: Bartosz Golaszewski @ 2026-07-03 8:20 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Philipp Zabel,
Théo Lebrun
Cc: Bartosz Golaszewski, Vladimir Kondratiev, Gregory CLEMENT,
Benoît Monin, Tawfik Bayouk, Thomas Petazzoni,
linux-arm-kernel, linux-gpio, linux-kernel
On Wed, 01 Jul 2026 18:56:57 +0200, Théo Lebrun wrote:
> Currently, on EyeQ5, we might get those error logs:
>
> [ 0.544230] nomadik-gpio 1400000.gpio: failed getting reset control: -EPROBE_DEFER
> [ 0.544274] nomadik-gpio 1400000.gpio: could not populate nmk chip struct
>
> Then on successful probe we get:
>
> [...]
Applied, thanks!
[1/5] gpio: nomadik: convert nmk_gpio_populate_chip() to goto cleanup
https://git.kernel.org/brgl/c/6dd9672a16bfbe59427aa0694fdb94553e7949f4
[2/5] gpio: nomadik: add missing dev_err() call on chip populate failure
https://git.kernel.org/brgl/c/2123813511d495b99b605abe4db167793698e0c5
[3/5] gpio: nomadik: drop duplicate probe error line
https://git.kernel.org/brgl/c/b0901d4dc17e37edbc928c01dced21ea86da87f2
[4/5] gpio: nomadik: use dev_err_probe()
https://git.kernel.org/brgl/c/56716e37447a5bd4f9fbd6e314acacce191e313f
[5/5] gpio: nomadik: drop "chip registered" log on probe success
https://git.kernel.org/brgl/c/edbcefc9b0d5925f8be4227fc180a92cd49d126e
Best regards,
--
Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 15+ messages in thread