diff options
Diffstat (limited to 'drivers/hwmon/mc13783-adc.c')
-rw-r--r-- | drivers/hwmon/mc13783-adc.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/hwmon/mc13783-adc.c b/drivers/hwmon/mc13783-adc.c index ce86c5e3c2c..cf47a59657a 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) const struct platform_device_id *id = platform_get_device_id(pdev); char *dash; - priv = kzalloc(sizeof(*priv), GFP_KERNEL); + priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); if (!priv) return -ENOMEM; @@ -194,7 +194,7 @@ static int __init mc13783_adc_probe(struct platform_device *pdev) /* Register sysfs hooks */ ret = sysfs_create_group(&pdev->dev.kobj, &mc13783_group_base); if (ret) - goto out_err_create_base; + return ret; if (id->driver_data & MC13783_ADC_16CHANS) { ret = sysfs_create_group(&pdev->dev.kobj, @@ -230,11 +230,6 @@ out_err_create_ts: out_err_create_16chans: sysfs_remove_group(&pdev->dev.kobj, &mc13783_group_base); -out_err_create_base: - - platform_set_drvdata(pdev, NULL); - kfree(priv); - return ret; } @@ -253,9 +248,6 @@ static int __devexit mc13783_adc_remove(struct platform_device *pdev) sysfs_remove_group(&pdev->dev.kobj, &mc13783_group_base); - platform_set_drvdata(pdev, NULL); - kfree(priv); - return 0; } |