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

From: Guenter Roeck
Date: Sat Nov 01 2014 - 17:15:44 EST


On 11/01/2014 10:48 AM, Neelesh Gupta wrote:

On 10/31/2014 11:42 PM, Guenter Roeck wrote:
On Fri, Oct 31, 2014 at 05:45:22PM +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>
Neelesh,

is there a compatible property in the powernv devicetree which can be
used to identify the system ?

I think the driver should not be loaded at first place on *non* powernv platforms.
Still, we can improve by introducing 'platform_driver.id_table' and moving the
platform device creation code in platform init 'opal-sensor.c' using
of_platform_device_create() and just do driver register in module init.


Ok with me.

Can you write a patch doing that ?

Thanks,
Guenter

- Neelesh


I am ok with applying this patch for the time being, but it would be better
if we can change the driver to only instantiate when actually needed.

Thanks,
Guenter

---
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;
}

--
1.9.1



--
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/