aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c/busses
diff options
context:
space:
mode:
authorJingoo Han <jg1.han@samsung.com>2013-12-17 20:48:07 -0500
committerWolfram Sang <wsa@the-dreams.de>2014-01-04 16:23:09 -0500
commit34d7ffa064a509241f0aa760cddb5008cfd951fc (patch)
tree9771350e9eeaf8cd2dcf7d5b76cf0173dd796fb6 /drivers/i2c/busses
parentcf9557d1f4069129e85dc4eef9dc8d4371152ad8 (diff)
i2c: isch: Use devm_request_region()
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>
Diffstat (limited to 'drivers/i2c/busses')
-rw-r--r--drivers/i2c/busses/i2c-isch.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/i2c/busses/i2c-isch.c b/drivers/i2c/busses/i2c-isch.c
index 8c38aaa7417c..af213045ab7e 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)
275 if (!res) 275 if (!res)
276 return -EBUSY; 276 return -EBUSY;
277 277
278 if (!request_region(res->start, resource_size(res), dev->name)) { 278 if (!devm_request_region(&dev->dev, res->start, resource_size(res),
279 dev->name)) {
279 dev_err(&dev->dev, "SMBus region 0x%x already in use!\n", 280 dev_err(&dev->dev, "SMBus region 0x%x already in use!\n",
280 sch_smba); 281 sch_smba);
281 return -EBUSY; 282 return -EBUSY;
@@ -294,7 +295,6 @@ static int smbus_sch_probe(struct platform_device *dev)
294 retval = i2c_add_adapter(&sch_adapter); 295 retval = i2c_add_adapter(&sch_adapter);
295 if (retval) { 296 if (retval) {
296 dev_err(&dev->dev, "Couldn't register adapter!\n"); 297 dev_err(&dev->dev, "Couldn't register adapter!\n");
297 release_region(res->start, resource_size(res));
298 sch_smba = 0; 298 sch_smba = 0;
299 } 299 }
300 300
@@ -303,11 +303,8 @@ static int smbus_sch_probe(struct platform_device *dev)
303 303
304static int smbus_sch_remove(struct platform_device *pdev) 304static int smbus_sch_remove(struct platform_device *pdev)
305{ 305{
306 struct resource *res;
307 if (sch_smba) { 306 if (sch_smba) {
308 i2c_del_adapter(&sch_adapter); 307 i2c_del_adapter(&sch_adapter);
309 res = platform_get_resource(pdev, IORESOURCE_IO, 0);
310 release_region(res->start, resource_size(res));
311 sch_smba = 0; 308 sch_smba = 0;
312 } 309 }
313 310