From 40906865240986e2f1d0e046fda2b2638523fc4e Mon Sep 17 00:00:00 2001 From: Guenter Roeck Date: Sat, 2 Jun 2012 11:35:54 -0700 Subject: [PATCH] --- yaml --- r: 316011 b: refs/heads/master c: 84269edce742e20a97b29619d3b9163a45a2a244 h: refs/heads/master i: 316009: e4e34d469bb8cd6f6d2290d4bfaec81ecb0c82c8 316007: 733c493dafd4799f1a950d0387e9f6e4a9311043 v: v3 --- [refs] | 2 +- trunk/drivers/hwmon/vt1211.c | 22 +++++----------------- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/[refs] b/[refs] index e27d0d30ab48..361290a02807 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fd55bc009aeed6265841d4c07d317ec2e557db03 +refs/heads/master: 84269edce742e20a97b29619d3b9163a45a2a244 diff --git a/trunk/drivers/hwmon/vt1211.c b/trunk/drivers/hwmon/vt1211.c index c2c5c72fb8f0..f2c61153dba9 100644 --- a/trunk/drivers/hwmon/vt1211.c +++ b/trunk/drivers/hwmon/vt1211.c @@ -1148,19 +1148,18 @@ static int __devinit vt1211_probe(struct platform_device *pdev) struct resource *res; int i, err; - data = kzalloc(sizeof(struct vt1211_data), GFP_KERNEL); + data = devm_kzalloc(dev, sizeof(struct vt1211_data), GFP_KERNEL); if (!data) { - err = -ENOMEM; dev_err(dev, "Out of memory\n"); - goto EXIT; + return -ENOMEM; } res = platform_get_resource(pdev, IORESOURCE_IO, 0); - if (!request_region(res->start, resource_size(res), DRVNAME)) { - err = -EBUSY; + if (!devm_request_region(dev, res->start, resource_size(res), + DRVNAME)) { dev_err(dev, "Failed to request region 0x%lx-0x%lx\n", (unsigned long)res->start, (unsigned long)res->end); - goto EXIT_KFREE; + return -EBUSY; } data->addr = res->start; data->name = DRVNAME; @@ -1215,26 +1214,15 @@ static int __devinit vt1211_probe(struct platform_device *pdev) dev_err(dev, "Sysfs interface creation failed (%d)\n", err); EXIT_DEV_REMOVE_SILENT: vt1211_remove_sysfs(pdev); - release_region(res->start, resource_size(res)); -EXIT_KFREE: - platform_set_drvdata(pdev, NULL); - kfree(data); -EXIT: return err; } static int __devexit vt1211_remove(struct platform_device *pdev) { struct vt1211_data *data = platform_get_drvdata(pdev); - struct resource *res; hwmon_device_unregister(data->hwmon_dev); vt1211_remove_sysfs(pdev); - platform_set_drvdata(pdev, NULL); - kfree(data); - - res = platform_get_resource(pdev, IORESOURCE_IO, 0); - release_region(res->start, resource_size(res)); return 0; }