Messages in this thread | | | Date | Sat, 01 Nov 2014 14:15:25 -0700 | From | Guenter Roeck <> | Subject | Re: [PATCH 1/2] hwmon: (ibmpowernv) Quieten when probing finds no device |
| |
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@ellerman.id.au> >> 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 >>> >
| |