|
@@ -461,8 +461,6 @@ static int sch5627_remove(struct platform_device *pdev)
|
|
|
hwmon_device_unregister(data->hwmon_dev);
|
|
|
|
|
|
sysfs_remove_group(&pdev->dev.kobj, &sch5627_group);
|
|
|
- platform_set_drvdata(pdev, NULL);
|
|
|
- kfree(data);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -472,7 +470,8 @@ static int __devinit sch5627_probe(struct platform_device *pdev)
|
|
|
struct sch5627_data *data;
|
|
|
int err, build_code, build_id, hwmon_rev, val;
|
|
|
|
|
|
- data = kzalloc(sizeof(struct sch5627_data), GFP_KERNEL);
|
|
|
+ data = devm_kzalloc(&pdev->dev, sizeof(struct sch5627_data),
|
|
|
+ GFP_KERNEL);
|
|
|
if (!data)
|
|
|
return -ENOMEM;
|
|
|
|