summaryrefslogtreecommitdiffstats
path: root/drivers/hwmon/mc13783-adc.c
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2012-06-02 12:49:11 -0400
committerGuenter Roeck <linux@roeck-us.net>2012-07-22 00:48:38 -0400
commited2e073b13c72de422afa75f7c9f4869ec3018cd (patch)
treed59325e0bc07532c4d57e17c5c80e852867209ba /drivers/hwmon/mc13783-adc.c
parentb07405fbc38f2e7f2eef2f38fa724a7510ae14aa (diff)
hwmon: (mc13783-adc.c) Convert to use devm_ functions
Convert to use devm_ functions to reduce code size and simplify the code. Cc: Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
Diffstat (limited to 'drivers/hwmon/mc13783-adc.c')
-rw-r--r--drivers/hwmon/mc13783-adc.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/hwmon/mc13783-adc.c b/drivers/hwmon/mc13783-adc.c
index ce86c5e3c2c2..cf47a59657a9 100644
--- a/drivers/hwmon/mc13783-adc.c
+++ b/drivers/hwmon/mc13783-adc.c
@@ -179,7 +179,7 @@ static int __init mc13783_adc_probe(struct platform_device *pdev)
179 const struct platform_device_id *id = platform_get_device_id(pdev); 179 const struct platform_device_id *id = platform_get_device_id(pdev);
180 char *dash; 180 char *dash;
181 181
182 priv = kzalloc(sizeof(*priv), GFP_KERNEL); 182 priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
183 if (!priv) 183 if (!priv)
184 return -ENOMEM; 184 return -ENOMEM;
185 185
@@ -194,7 +194,7 @@ static int __init mc13783_adc_probe(struct platform_device *pdev)
194 /* Register sysfs hooks */ 194 /* Register sysfs hooks */
195 ret = sysfs_create_group(&pdev->dev.kobj, &mc13783_group_base); 195 ret = sysfs_create_group(&pdev->dev.kobj, &mc13783_group_base);
196 if (ret) 196 if (ret)
197 goto out_err_create_base; 197 return ret;
198 198
199 if (id->driver_data & MC13783_ADC_16CHANS) { 199 if (id->driver_data & MC13783_ADC_16CHANS) {
200 ret = sysfs_create_group(&pdev->dev.kobj, 200 ret = sysfs_create_group(&pdev->dev.kobj,
@@ -230,11 +230,6 @@ out_err_create_ts:
230out_err_create_16chans: 230out_err_create_16chans:
231 231
232 sysfs_remove_group(&pdev->dev.kobj, &mc13783_group_base); 232 sysfs_remove_group(&pdev->dev.kobj, &mc13783_group_base);
233out_err_create_base:
234
235 platform_set_drvdata(pdev, NULL);
236 kfree(priv);
237
238 return ret; 233 return ret;
239} 234}
240 235
@@ -253,9 +248,6 @@ static int __devexit mc13783_adc_remove(struct platform_device *pdev)
253 248
254 sysfs_remove_group(&pdev->dev.kobj, &mc13783_group_base); 249 sysfs_remove_group(&pdev->dev.kobj, &mc13783_group_base);
255 250
256 platform_set_drvdata(pdev, NULL);
257 kfree(priv);
258
259 return 0; 251 return 0;
260} 252}
261 253