i2c: isch: Use devm_request_region()
authorJingoo Han <jg1.han@samsung.com>
Wed, 18 Dec 2013 01:48:07 +0000 (10:48 +0900)
committerWolfram Sang <wsa@the-dreams.de>
Sat, 4 Jan 2014 21:23:09 +0000 (22:23 +0100)
Use devm_request_region() to make cleanup paths simpler.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-isch.c

index 8c38aaa..af21304 100644 (file)
@@ -275,7 +275,8 @@ static int smbus_sch_probe(struct platform_device *dev)
        if (!res)
                return -EBUSY;
 
-       if (!request_region(res->start, resource_size(res), dev->name)) {
+       if (!devm_request_region(&dev->dev, res->start, resource_size(res),
+                                dev->name)) {
                dev_err(&dev->dev, "SMBus region 0x%x already in use!\n",
                        sch_smba);
                return -EBUSY;
@@ -294,7 +295,6 @@ static int smbus_sch_probe(struct platform_device *dev)
        retval = i2c_add_adapter(&sch_adapter);
        if (retval) {
                dev_err(&dev->dev, "Couldn't register adapter!\n");
-               release_region(res->start, resource_size(res));
                sch_smba = 0;
        }
 
@@ -303,11 +303,8 @@ static int smbus_sch_probe(struct platform_device *dev)
 
 static int smbus_sch_remove(struct platform_device *pdev)
 {
-       struct resource *res;
        if (sch_smba) {
                i2c_del_adapter(&sch_adapter);
-               res = platform_get_resource(pdev, IORESOURCE_IO, 0);
-               release_region(res->start, resource_size(res));
                sch_smba = 0;
        }