X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=drivers%2Fhwmon%2Flm83.c;h=e998034f1f11e35df0c5848309860fe2e9f0fd66;hb=476525004ac7e2f990b6956efcd44d0780c2ab4c;hp=cd45b9d8558432fc1d0f91cc488d62d03e5836e0;hpb=39f86a608a3e0f0164bd1540acf87696cfdfb5bb;p=linux-2.6-microblaze.git diff --git a/drivers/hwmon/lm83.c b/drivers/hwmon/lm83.c index cd45b9d85584..e998034f1f11 100644 --- a/drivers/hwmon/lm83.c +++ b/drivers/hwmon/lm83.c @@ -343,11 +343,10 @@ static int lm83_probe(struct i2c_client *new_client, struct lm83_data *data; int err; - data = kzalloc(sizeof(struct lm83_data), GFP_KERNEL); - if (!data) { - err = -ENOMEM; - goto exit; - } + data = devm_kzalloc(&new_client->dev, sizeof(struct lm83_data), + GFP_KERNEL); + if (!data) + return -ENOMEM; i2c_set_clientdata(new_client, data); data->valid = 0; @@ -362,7 +361,7 @@ static int lm83_probe(struct i2c_client *new_client, err = sysfs_create_group(&new_client->dev.kobj, &lm83_group); if (err) - goto exit_free; + return err; if (id->driver_data == lm83) { err = sysfs_create_group(&new_client->dev.kobj, @@ -382,9 +381,6 @@ static int lm83_probe(struct i2c_client *new_client, exit_remove_files: sysfs_remove_group(&new_client->dev.kobj, &lm83_group); sysfs_remove_group(&new_client->dev.kobj, &lm83_group_opt); -exit_free: - kfree(data); -exit: return err; } @@ -396,7 +392,6 @@ static int lm83_remove(struct i2c_client *client) sysfs_remove_group(&client->dev.kobj, &lm83_group); sysfs_remove_group(&client->dev.kobj, &lm83_group_opt); - kfree(data); return 0; }