Skip to content

Commit

Permalink
hwmon: (ltc4261) Convert to use devm_kzalloc
Browse files Browse the repository at this point in the history
Marginally less code and eliminate the possibility of memory leaks.

Signed-off-by: Guenter Roeck <[email protected]>
  • Loading branch information
groeck authored and Guenter Roeck committed Mar 19, 2012
1 parent dd285ad commit 3683928
Showing 1 changed file with 4 additions and 11 deletions.
15 changes: 4 additions & 11 deletions drivers/hwmon/ltc4261.c
Original file line number Diff line number Diff line change
Expand Up @@ -235,11 +235,9 @@ static int ltc4261_probe(struct i2c_client *client,
return -ENODEV;
}

data = kzalloc(sizeof(*data), GFP_KERNEL);
if (!data) {
ret = -ENOMEM;
goto out_kzalloc;
}
data = devm_kzalloc(&client->dev, sizeof(*data), GFP_KERNEL);
if (!data)
return -ENOMEM;

i2c_set_clientdata(client, data);
mutex_init(&data->update_lock);
Expand All @@ -250,7 +248,7 @@ static int ltc4261_probe(struct i2c_client *client,
/* Register sysfs hooks */
ret = sysfs_create_group(&client->dev.kobj, &ltc4261_group);
if (ret)
goto out_sysfs_create_group;
return ret;

data->hwmon_dev = hwmon_device_register(&client->dev);
if (IS_ERR(data->hwmon_dev)) {
Expand All @@ -262,9 +260,6 @@ static int ltc4261_probe(struct i2c_client *client,

out_hwmon_device_register:
sysfs_remove_group(&client->dev.kobj, &ltc4261_group);
out_sysfs_create_group:
kfree(data);
out_kzalloc:
return ret;
}

Expand All @@ -275,8 +270,6 @@ static int ltc4261_remove(struct i2c_client *client)
hwmon_device_unregister(data->hwmon_dev);
sysfs_remove_group(&client->dev.kobj, &ltc4261_group);

kfree(data);

return 0;
}

Expand Down

0 comments on commit 3683928

Please sign in to comment.