aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabio Estevam <fabio.estevam@nxp.com>2016-12-27 12:31:49 -0500
committerZhang Rui <rui.zhang@intel.com>2017-01-03 22:15:23 -0500
commit7611fb68062f8d7f416f3272894d1edf7bbff29c (patch)
treebe689a1d5a48429126caf034fe3517025ae32252
parent0c744ea4f77d72b3dcebb7a8f2684633ec79be88 (diff)
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>
-rw-r--r--drivers/thermal/thermal_hwmon.c20
1 files changed, 3 insertions, 17 deletions
diff --git a/drivers/thermal/thermal_hwmon.c b/drivers/thermal/thermal_hwmon.c
index 541af5946203..c4a508a124dc 100644
--- a/drivers/thermal/thermal_hwmon.c
+++ b/drivers/thermal/thermal_hwmon.c
@@ -59,14 +59,6 @@ static LIST_HEAD(thermal_hwmon_list);
59static DEFINE_MUTEX(thermal_hwmon_list_lock); 59static DEFINE_MUTEX(thermal_hwmon_list_lock);
60 60
61static ssize_t 61static ssize_t
62name_show(struct device *dev, struct device_attribute *attr, char *buf)
63{
64 struct thermal_hwmon_device *hwmon = dev_get_drvdata(dev);
65 return sprintf(buf, "%s\n", hwmon->type);
66}
67static DEVICE_ATTR_RO(name);
68
69static ssize_t
70temp_input_show(struct device *dev, struct device_attribute *attr, char *buf) 62temp_input_show(struct device *dev, struct device_attribute *attr, char *buf)
71{ 63{
72 int temperature; 64 int temperature;
@@ -165,15 +157,12 @@ int thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
165 157
166 INIT_LIST_HEAD(&hwmon->tz_list); 158 INIT_LIST_HEAD(&hwmon->tz_list);
167 strlcpy(hwmon->type, tz->type, THERMAL_NAME_LENGTH); 159 strlcpy(hwmon->type, tz->type, THERMAL_NAME_LENGTH);
168 hwmon->device = hwmon_device_register(NULL); 160 hwmon->device = hwmon_device_register_with_info(NULL, hwmon->type,
161 hwmon, NULL, NULL);
169 if (IS_ERR(hwmon->device)) { 162 if (IS_ERR(hwmon->device)) {
170 result = PTR_ERR(hwmon->device); 163 result = PTR_ERR(hwmon->device);
171 goto free_mem; 164 goto free_mem;
172 } 165 }
173 dev_set_drvdata(hwmon->device, hwmon);
174 result = device_create_file(hwmon->device, &dev_attr_name);
175 if (result)
176 goto free_mem;
177 166
178 register_sys_interface: 167 register_sys_interface:
179 temp = kzalloc(sizeof(*temp), GFP_KERNEL); 168 temp = kzalloc(sizeof(*temp), GFP_KERNEL);
@@ -222,10 +211,8 @@ int thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
222 free_temp_mem: 211 free_temp_mem:
223 kfree(temp); 212 kfree(temp);
224 unregister_name: 213 unregister_name:
225 if (new_hwmon_device) { 214 if (new_hwmon_device)
226 device_remove_file(hwmon->device, &dev_attr_name);
227 hwmon_device_unregister(hwmon->device); 215 hwmon_device_unregister(hwmon->device);
228 }
229 free_mem: 216 free_mem:
230 if (new_hwmon_device) 217 if (new_hwmon_device)
231 kfree(hwmon); 218 kfree(hwmon);
@@ -267,7 +254,6 @@ void thermal_remove_hwmon_sysfs(struct thermal_zone_device *tz)
267 list_del(&hwmon->node); 254 list_del(&hwmon->node);
268 mutex_unlock(&thermal_hwmon_list_lock); 255 mutex_unlock(&thermal_hwmon_list_lock);
269 256
270 device_remove_file(hwmon->device, &dev_attr_name);
271 hwmon_device_unregister(hwmon->device); 257 hwmon_device_unregister(hwmon->device);
272 kfree(hwmon); 258 kfree(hwmon);
273} 259}