Use devm_request_region() to make cleanup paths simpler.

Signed-off-by: Jingoo Han <[email protected]>
---
Changes since V1:
- Remove unnecessary 'res' variable from smbus_sch_remove().

 drivers/i2c/busses/i2c-isch.c |    7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/i2c/busses/i2c-isch.c b/drivers/i2c/busses/i2c-isch.c
index 8c38aaa..af21304 100644
--- a/drivers/i2c/busses/i2c-isch.c
+++ b/drivers/i2c/busses/i2c-isch.c
@@ -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;
        }
 
-- 
1.7.10.4


--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to