aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2013-11-23 14:03:19 -0500
committerMatthew Garrett <matthew.garrett@nebula.com>2014-01-21 08:44:03 -0500
commitcf508f4496f7dc7c162a8ac4440165d466f68d4b (patch)
tree45d67cca763cf5635ada1c5ad3d90ebe111d96d4
parent7da8fb27eff04e7283d24b0e483c300c8b1a9f5c (diff)
compal-laptop: Use devm_kzalloc to allocate local data structure
Reduce code size and simplify error path. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
-rw-r--r--drivers/platform/x86/compal-laptop.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/platform/x86/compal-laptop.c b/drivers/platform/x86/compal-laptop.c
index eaa78edb1f4e..7155d79d6b3a 100644
--- a/drivers/platform/x86/compal-laptop.c
+++ b/drivers/platform/x86/compal-laptop.c
@@ -1026,24 +1026,21 @@ static int compal_probe(struct platform_device *pdev)
1026 return 0; 1026 return 0;
1027 1027
1028 /* Fan control */ 1028 /* Fan control */
1029 data = kzalloc(sizeof(struct compal_data), GFP_KERNEL); 1029 data = devm_kzalloc(&pdev->dev, sizeof(struct compal_data), GFP_KERNEL);
1030 if (!data) 1030 if (!data)
1031 return -ENOMEM; 1031 return -ENOMEM;
1032 1032
1033 initialize_fan_control_data(data); 1033 initialize_fan_control_data(data);
1034 1034
1035 err = sysfs_create_group(&pdev->dev.kobj, &compal_attribute_group); 1035 err = sysfs_create_group(&pdev->dev.kobj, &compal_attribute_group);
1036 if (err) { 1036 if (err)
1037 kfree(data);
1038 return err; 1037 return err;
1039 }
1040 1038
1041 data->hwmon_dev = hwmon_device_register(&pdev->dev); 1039 data->hwmon_dev = hwmon_device_register(&pdev->dev);
1042 if (IS_ERR(data->hwmon_dev)) { 1040 if (IS_ERR(data->hwmon_dev)) {
1043 err = PTR_ERR(data->hwmon_dev); 1041 err = PTR_ERR(data->hwmon_dev);
1044 sysfs_remove_group(&pdev->dev.kobj, 1042 sysfs_remove_group(&pdev->dev.kobj,
1045 &compal_attribute_group); 1043 &compal_attribute_group);
1046 kfree(data);
1047 return err; 1044 return err;
1048 } 1045 }
1049 1046
@@ -1083,8 +1080,6 @@ static int compal_remove(struct platform_device *pdev)
1083 hwmon_device_unregister(data->hwmon_dev); 1080 hwmon_device_unregister(data->hwmon_dev);
1084 power_supply_unregister(&data->psy); 1081 power_supply_unregister(&data->psy);
1085 1082
1086 kfree(data);
1087
1088 sysfs_remove_group(&pdev->dev.kobj, &compal_attribute_group); 1083 sysfs_remove_group(&pdev->dev.kobj, &compal_attribute_group);
1089 1084
1090 return 0; 1085 return 0;