Re: [PATCH 1/2] hwmon: (ibmpowernv) Quieten when probing finds no device

From: Neelesh Gupta
Date: Sat Nov 01 2014 - 13:55:28 EST



On 10/31/2014 06:51 PM, Guenter Roeck wrote:
On 10/31/2014 02:41 AM, Jean Delvare wrote:
Hi Michael,

On Fri, 31 Oct 2014 17:45:22 +1100, Michael Ellerman wrote:
Because we build kernels with drivers built in for many platforms, it's
normal for the ibmpowernv driver to be loaded on systems that don't have
the appropriate hardware.

Currently the driver spams the log with:

ibmpowernv ibmpowernv.0: Opal node 'sensors' not found
ibmpowernv: Platfrom driver probe failed

But there is no error, this machine is not a powernv and doesn't have
the hardware. So change the sensors message to dev_dbg(), and only print
an error about the probe failing if it's not ENODEV.

Also fix the spelling of "Platfrom" and print the actual error value.

Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
---
drivers/hwmon/ibmpowernv.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/hwmon/ibmpowernv.c b/drivers/hwmon/ibmpowernv.c
index d2bf2c97ae70..6a30eeea94be 100644
--- a/drivers/hwmon/ibmpowernv.c
+++ b/drivers/hwmon/ibmpowernv.c
@@ -181,7 +181,7 @@ static int __init populate_attr_groups(struct platform_device *pdev)

opal = of_find_node_by_path("/ibm,opal/sensors");
if (!opal) {
- dev_err(&pdev->dev, "Opal node 'sensors' not found\n");
+ dev_dbg(&pdev->dev, "Opal node 'sensors' not found\n");
return -ENODEV;
}

@@ -335,7 +335,9 @@ static int __init ibmpowernv_init(void)

err = platform_driver_probe(&ibmpowernv_driver, ibmpowernv_probe);
if (err) {
- pr_err("Platfrom driver probe failed\n");
+ if (err != -ENODEV)
+ pr_err("Platform driver probe failed (%d)\n", err);

goto exit_device_del;
}


Looks reasonable.

The reduced noise, ok, but a better fix would be to not attempt to load
the driver in the first place. This should be doable by introducing an
of_match_table.

The parent 'sensors' node doesn't have a compatible property, rather individual
child sensors have. So, instead we can introduce 'platform_driver.id_table' for
the probe.

Thanks,
Neelesh


Guenter

Reviewed-by: Jean Delvare <jdelvare@xxxxxxx>



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/