lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Tue, 30 Apr 2019 20:48:51 -0700
From:   Guenter Roeck <>
To:     Alakesh Haloi <>,,,
        Jean Delvare <>
Subject: Re: [PATCH] hwmon: Convert to hwmon_device_register_with_info()

On 4/30/19 3:29 PM, Alakesh Haloi wrote:
> Booting linux on bare metal instance type causes this warning:
> hwmon_device_register() is deprecated. Please convert the driver
> to use hwmon_device_register_with_info().
> This patch fixes this call to deprecated function in acpi_power_meter.c

Changing the function name to call isn't really a conversion to the new API.

Looking into the driver, I have to say it is broken almost beyond repair.
The hwmon device is registered with no attributes present, attributes,
including the mandatory name attribute, are added and removed more or
less randomly. Various attributes (such as oem and serial number) simply
don't belong into a hwmon driver.

If you really want to convert the driver, it should be a real conversion.
It should register with a hwmon_chip_info data structure, augmented with
whatever non-standard sysfs attributes are there.
The hwmon device should only be registered together with its attributes.
If it is changed, the hwmon device should be removed and re-registered.
Anything else doesn't really make sense.

Faking the use of the new API _really_ doesn't add any value, and doesn't
make any sense. If you don't want to convert the driver for real, it is
better to leave it alone.

> Signed-off-by: Alakesh Haloi <>
> Cc:

And, no, this is definitely not a patch to be applied to stable releases.


> ---
>   drivers/hwmon/acpi_power_meter.c | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> diff --git a/drivers/hwmon/acpi_power_meter.c b/drivers/hwmon/acpi_power_meter.c
> index e98591fa2528..d1b8029d0147 100644
> --- a/drivers/hwmon/acpi_power_meter.c
> +++ b/drivers/hwmon/acpi_power_meter.c
> @@ -898,7 +898,9 @@ static int acpi_power_meter_add(struct acpi_device *device)
>   	if (res)
>   		goto exit_free;
> -	resource->hwmon_dev = hwmon_device_register(&device->dev);
> +	resource->hwmon_dev = hwmon_device_register_with_info(&device->dev,
> +				&device->driver_data, NULL, NULL);
>   	if (IS_ERR(resource->hwmon_dev)) {
>   		res = PTR_ERR(resource->hwmon_dev);
>   		goto exit_remove;

Powered by blists - more mailing lists