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

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>
Link: https://lore.kernel.org/r/1ebe6961-6445-4408-bfb4-b56173af9db5@gmail.com
[groeck: Update API document]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
Heiner Kallweit 2025-01-09 20:53:55 +01:00 committed by Guenter Roeck
parent 788bd792c7
commit c909e68f81
2 changed files with 8 additions and 1 deletions

View file

@ -64,7 +64,8 @@ hwmon_device_register_with_info.
All supported hwmon device registration functions only accept valid device
names. Device names including invalid characters (whitespace, '*', or '-')
will be rejected. The 'name' parameter is mandatory.
will be rejected. If NULL is passed as name parameter, the hardware monitoring
device name will be derived from the parent device name.
If the driver doesn't use a static device name (for example it uses
dev_name()), and therefore cannot make sure the name only contains valid

View file

@ -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);