diff mbox series

[v2] hwmon: (core) Use device name as a fallback in devm_hwmon_device_register_with_info

Message ID 1ebe6961-6445-4408-bfb4-b56173af9db5@gmail.com (mailing list archive)
State Accepted
Headers show
Series [v2] hwmon: (core) Use device name as a fallback in devm_hwmon_device_register_with_info | expand

Commit Message

Heiner Kallweit Jan. 9, 2025, 7:53 p.m. UTC
A number of network PHY drivers use the following code:

name = devm_hwmon_sanitize_name(dev, dev_name(dev));
if (IS_ERR(name))
	return PTR_ERR(name);
devm_hwmon_device_register_with_info(dev, name, ..);

Make this a generic fallback option and use the device name if no name
is provided to devm_hwmon_device_register_with_info(). This would allow
to simplify the affected drivers.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
v2:
- move IS_ERR() check into if clause
---
 drivers/hwmon/hwmon.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Guenter Roeck Jan. 9, 2025, 8:43 p.m. UTC | #1
On Thu, Jan 09, 2025 at 08:53:55PM +0100, Heiner Kallweit wrote:
> A number of network PHY drivers use the following code:
> 
> name = devm_hwmon_sanitize_name(dev, dev_name(dev));
> if (IS_ERR(name))
> 	return PTR_ERR(name);
> devm_hwmon_device_register_with_info(dev, name, ..);
> 
> Make this a generic fallback option and use the device name if no name
> is provided to devm_hwmon_device_register_with_info(). This would allow
> to simplify the affected drivers.
> 
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

Applied, after updating the API document to reflect that NULL may be passed
as hwmon device name.

Guenter
diff mbox series

Patch

diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c
index 685d4ce8d..9703d60e9 100644
--- a/drivers/hwmon/hwmon.c
+++ b/drivers/hwmon/hwmon.c
@@ -1170,6 +1170,12 @@  devm_hwmon_device_register_with_info(struct device *dev, const char *name,
 	if (!dev)
 		return ERR_PTR(-EINVAL);
 
+	if (!name) {
+		name = devm_hwmon_sanitize_name(dev, dev_name(dev));
+		if (IS_ERR(name))
+			return ERR_CAST(name);
+	}
+
 	ptr = devres_alloc(devm_hwmon_release, sizeof(*ptr), GFP_KERNEL);
 	if (!ptr)
 		return ERR_PTR(-ENOMEM);