[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d4a85598-af50-541a-9632-8d0343e8082d@roeck-us.net>
Date: Wed, 29 Jun 2022 16:15:38 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Will McVicker <willmcvicker@...gle.com>, stable@...r.kernel.org,
Jean Delvare <jdelvare@...e.com>,
Zhang Rui <rui.zhang@...el.com>,
Eduardo Valentin <edubezval@...il.com>,
Daniel Lezcano <daniel.lezcano@...aro.org>
Cc: kernel-team@...roid.com, linux-hwmon@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org,
"Rafael J . Wysocki" <rafael@...nel.org>
Subject: Re: [PATCH 4.19 v1 1/2] hwmon: Introduce
hwmon_device_register_for_thermal
On 6/29/22 15:58, Will McVicker wrote:
> From: Guenter Roeck <linux@...ck-us.net>
>
> [ upstream commit e5d21072054fbadf41cd56062a3a14e447e8c22b ]
>
> The thermal subsystem registers a hwmon driver without providing
> chip or sysfs group information. This is for legacy reasons and
> would be difficult to change. At the same time, we want to enforce
> that chip information is provided when registering a hwmon device
> using hwmon_device_register_with_info(). To enable this, introduce
> a special API for use only by the thermal subsystem.
>
> Acked-by: Rafael J . Wysocki <rafael@...nel.org>
> Signed-off-by: Guenter Roeck <linux@...ck-us.net>
NACK. The patch introducing the problem needs to be reverted.
Guenter
> ---
> drivers/hwmon/hwmon.c | 25 +++++++++++++++++++++++++
> include/linux/hwmon.h | 3 +++
> 2 files changed, 28 insertions(+)
>
> diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c
> index c4051a3e63c2..412a5e39fc14 100644
> --- a/drivers/hwmon/hwmon.c
> +++ b/drivers/hwmon/hwmon.c
> @@ -725,6 +725,31 @@ hwmon_device_register_with_info(struct device *dev, const char *name,
> }
> EXPORT_SYMBOL_GPL(hwmon_device_register_with_info);
>
> +/**
> + * hwmon_device_register_for_thermal - register hwmon device for thermal subsystem
> + * @dev: the parent device
> + * @name: hwmon name attribute
> + * @drvdata: driver data to attach to created device
> + *
> + * The use of this function is restricted. It is provided for legacy reasons
> + * and must only be called from the thermal subsystem.
> + *
> + * hwmon_device_unregister() must be called when the device is no
> + * longer needed.
> + *
> + * Returns the pointer to the new device.
> + */
> +struct device *
> +hwmon_device_register_for_thermal(struct device *dev, const char *name,
> + void *drvdata)
> +{
> + if (!name || !dev)
> + return ERR_PTR(-EINVAL);
> +
> + return __hwmon_device_register(dev, name, drvdata, NULL, NULL);
> +}
> +EXPORT_SYMBOL_GPL(hwmon_device_register_for_thermal);
> +
> /**
> * hwmon_device_register - register w/ hwmon
> * @dev: the device to register
> diff --git a/include/linux/hwmon.h b/include/linux/hwmon.h
> index 8fde789f2eff..5ff3db6eb9f1 100644
> --- a/include/linux/hwmon.h
> +++ b/include/linux/hwmon.h
> @@ -390,6 +390,9 @@ hwmon_device_register_with_info(struct device *dev,
> const struct hwmon_chip_info *info,
> const struct attribute_group **extra_groups);
> struct device *
> +hwmon_device_register_for_thermal(struct device *dev, const char *name,
> + void *drvdata);
> +struct device *
> devm_hwmon_device_register_with_info(struct device *dev,
> const char *name, void *drvdata,
> const struct hwmon_chip_info *info,
Powered by blists - more mailing lists