diff options
author | Guenter Roeck <linux@roeck-us.net> | 2012-06-02 12:58:00 -0400 |
---|---|---|
committer | Guenter Roeck <linux@roeck-us.net> | 2012-09-24 00:08:30 -0400 |
commit | 57457e314eefc7bce93854918a234e4ac9a52922 (patch) | |
tree | dc643f8e6d52ca72168835df3caf960f7cf1678d /drivers | |
parent | 08940b8aba8ded377e546c12c5b932364c0a03cc (diff) |
hwmon: (ads1015) Convert to use devm_ functions
Convert to use devm_ functions to reduce code size and simplify the code.
Cc: Dirk Eibach <eibach@gdsys.de>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/hwmon/ads1015.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/hwmon/ads1015.c b/drivers/hwmon/ads1015.c index 1958f03efd7a..2798246ad814 100644 --- a/drivers/hwmon/ads1015.c +++ b/drivers/hwmon/ads1015.c | |||
@@ -156,7 +156,6 @@ static int ads1015_remove(struct i2c_client *client) | |||
156 | hwmon_device_unregister(data->hwmon_dev); | 156 | hwmon_device_unregister(data->hwmon_dev); |
157 | for (k = 0; k < ADS1015_CHANNELS; ++k) | 157 | for (k = 0; k < ADS1015_CHANNELS; ++k) |
158 | device_remove_file(&client->dev, &ads1015_in[k].dev_attr); | 158 | device_remove_file(&client->dev, &ads1015_in[k].dev_attr); |
159 | kfree(data); | ||
160 | return 0; | 159 | return 0; |
161 | } | 160 | } |
162 | 161 | ||
@@ -254,11 +253,10 @@ static int ads1015_probe(struct i2c_client *client, | |||
254 | int err; | 253 | int err; |
255 | unsigned int k; | 254 | unsigned int k; |
256 | 255 | ||
257 | data = kzalloc(sizeof(struct ads1015_data), GFP_KERNEL); | 256 | data = devm_kzalloc(&client->dev, sizeof(struct ads1015_data), |
258 | if (!data) { | 257 | GFP_KERNEL); |
259 | err = -ENOMEM; | 258 | if (!data) |
260 | goto exit; | 259 | return -ENOMEM; |
261 | } | ||
262 | 260 | ||
263 | i2c_set_clientdata(client, data); | 261 | i2c_set_clientdata(client, data); |
264 | mutex_init(&data->update_lock); | 262 | mutex_init(&data->update_lock); |
@@ -284,8 +282,6 @@ static int ads1015_probe(struct i2c_client *client, | |||
284 | exit_remove: | 282 | exit_remove: |
285 | for (k = 0; k < ADS1015_CHANNELS; ++k) | 283 | for (k = 0; k < ADS1015_CHANNELS; ++k) |
286 | device_remove_file(&client->dev, &ads1015_in[k].dev_attr); | 284 | device_remove_file(&client->dev, &ads1015_in[k].dev_attr); |
287 | kfree(data); | ||
288 | exit: | ||
289 | return err; | 285 | return err; |
290 | } | 286 | } |
291 | 287 | ||