diff --git a/[refs] b/[refs] index 6c1d10091fe7..594010296dc8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: adc1413279d124e0940a314ccabebbbee159fd8f +refs/heads/master: c087f73a249154ed83e451343d9eff0f299291a3 diff --git a/trunk/drivers/hwmon/lm83.c b/trunk/drivers/hwmon/lm83.c index cd45b9d85584..e998034f1f11 100644 --- a/trunk/drivers/hwmon/lm83.c +++ b/trunk/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; }