thermal: thermal_hwmon: Convert to hwmon_device_register_with_info()
Booting Linux on a mx6q based board leads to the following warning: (NULL device *): hwmon_device_register() is deprecated. Please convert the driver to use hwmon_device_register_with_info(). ,so do as suggested. Also, this results in the core taking care of creating the 'name' attribute, so drop the code doing that from the thermal driver. Suggested-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
This commit is contained in:
Родитель
0c744ea4f7
Коммит
7611fb6806
|
@ -58,14 +58,6 @@ static LIST_HEAD(thermal_hwmon_list);
|
||||||
|
|
||||||
static DEFINE_MUTEX(thermal_hwmon_list_lock);
|
static DEFINE_MUTEX(thermal_hwmon_list_lock);
|
||||||
|
|
||||||
static ssize_t
|
|
||||||
name_show(struct device *dev, struct device_attribute *attr, char *buf)
|
|
||||||
{
|
|
||||||
struct thermal_hwmon_device *hwmon = dev_get_drvdata(dev);
|
|
||||||
return sprintf(buf, "%s\n", hwmon->type);
|
|
||||||
}
|
|
||||||
static DEVICE_ATTR_RO(name);
|
|
||||||
|
|
||||||
static ssize_t
|
static ssize_t
|
||||||
temp_input_show(struct device *dev, struct device_attribute *attr, char *buf)
|
temp_input_show(struct device *dev, struct device_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
|
@ -165,15 +157,12 @@ int thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
|
||||||
|
|
||||||
INIT_LIST_HEAD(&hwmon->tz_list);
|
INIT_LIST_HEAD(&hwmon->tz_list);
|
||||||
strlcpy(hwmon->type, tz->type, THERMAL_NAME_LENGTH);
|
strlcpy(hwmon->type, tz->type, THERMAL_NAME_LENGTH);
|
||||||
hwmon->device = hwmon_device_register(NULL);
|
hwmon->device = hwmon_device_register_with_info(NULL, hwmon->type,
|
||||||
|
hwmon, NULL, NULL);
|
||||||
if (IS_ERR(hwmon->device)) {
|
if (IS_ERR(hwmon->device)) {
|
||||||
result = PTR_ERR(hwmon->device);
|
result = PTR_ERR(hwmon->device);
|
||||||
goto free_mem;
|
goto free_mem;
|
||||||
}
|
}
|
||||||
dev_set_drvdata(hwmon->device, hwmon);
|
|
||||||
result = device_create_file(hwmon->device, &dev_attr_name);
|
|
||||||
if (result)
|
|
||||||
goto free_mem;
|
|
||||||
|
|
||||||
register_sys_interface:
|
register_sys_interface:
|
||||||
temp = kzalloc(sizeof(*temp), GFP_KERNEL);
|
temp = kzalloc(sizeof(*temp), GFP_KERNEL);
|
||||||
|
@ -222,10 +211,8 @@ int thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
|
||||||
free_temp_mem:
|
free_temp_mem:
|
||||||
kfree(temp);
|
kfree(temp);
|
||||||
unregister_name:
|
unregister_name:
|
||||||
if (new_hwmon_device) {
|
if (new_hwmon_device)
|
||||||
device_remove_file(hwmon->device, &dev_attr_name);
|
|
||||||
hwmon_device_unregister(hwmon->device);
|
hwmon_device_unregister(hwmon->device);
|
||||||
}
|
|
||||||
free_mem:
|
free_mem:
|
||||||
if (new_hwmon_device)
|
if (new_hwmon_device)
|
||||||
kfree(hwmon);
|
kfree(hwmon);
|
||||||
|
@ -267,7 +254,6 @@ void thermal_remove_hwmon_sysfs(struct thermal_zone_device *tz)
|
||||||
list_del(&hwmon->node);
|
list_del(&hwmon->node);
|
||||||
mutex_unlock(&thermal_hwmon_list_lock);
|
mutex_unlock(&thermal_hwmon_list_lock);
|
||||||
|
|
||||||
device_remove_file(hwmon->device, &dev_attr_name);
|
|
||||||
hwmon_device_unregister(hwmon->device);
|
hwmon_device_unregister(hwmon->device);
|
||||||
kfree(hwmon);
|
kfree(hwmon);
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче