@ -499,7 +499,7 @@ thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
dev_set_drvdata ( hwmon - > device , hwmon ) ;
result = device_create_file ( hwmon - > device , & dev_attr_name ) ;
if ( result )
goto unregister_hwmon_device ;
goto free_mem ;
register_sys_interface :
tz - > hwmon = hwmon ;
@ -513,7 +513,7 @@ thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
sysfs_attr_init ( & tz - > temp_input . attr . attr ) ;
result = device_create_file ( hwmon - > device , & tz - > temp_input . attr ) ;
if ( result )
goto unregister_hwmon_devic e ;
goto unregister_nam e ;
if ( tz - > ops - > get_crit_temp ) {
unsigned long temperature ;
@ -527,7 +527,7 @@ thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
result = device_create_file ( hwmon - > device ,
& tz - > temp_crit . attr ) ;
if ( result )
goto unregister_hwmon_device ;
goto unregister_input ;
}
}
@ -539,9 +539,9 @@ thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
return 0 ;
unregister_hwmon_device :
device_remove_file ( hwmon - > device , & tz - > temp_crit . attr ) ;
unregister_input :
device_remove_file ( hwmon - > device , & tz - > temp_input . attr ) ;
unregister_name :
if ( new_hwmon_device ) {
device_remove_file ( hwmon - > device , & dev_attr_name ) ;
hwmon_device_unregister ( hwmon - > device ) ;
@ -560,7 +560,8 @@ thermal_remove_hwmon_sysfs(struct thermal_zone_device *tz)
tz - > hwmon = NULL ;
device_remove_file ( hwmon - > device , & tz - > temp_input . attr ) ;
device_remove_file ( hwmon - > device , & tz - > temp_crit . attr ) ;
if ( tz - > ops - > get_crit_temp )
device_remove_file ( hwmon - > device , & tz - > temp_crit . attr ) ;
mutex_lock ( & thermal_list_lock ) ;
list_del ( & tz - > hwmon_node ) ;