watchdog: s3c2410_wdt.c: Convert release_resource to release_region/release_mem_region

Request_mem_region should be used with release_mem_region, not
release_resource.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression x,E;
@@
*x = request_mem_region(...)
... when != release_mem_region(x)
when != x = E
* release_resource(x);
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Cc: stable <stable@kernel.org>

authored by Julia Lawall and committed by Wim Van Sebroeck f72401e9 89078d57

+8 -11
+8 -11
drivers/watchdog/s3c2410_wdt.c
··· 402 403 static int __devinit s3c2410wdt_probe(struct platform_device *pdev) 404 { 405 - struct resource *res; 406 struct device *dev; 407 unsigned int wtcon; 408 int started = 0; ··· 415 416 /* get the memory region for the watchdog timer */ 417 418 - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 419 - if (res == NULL) { 420 dev_err(dev, "no memory resource specified\n"); 421 return -ENOENT; 422 } 423 424 - size = resource_size(res); 425 - wdt_mem = request_mem_region(res->start, size, pdev->name); 426 - if (wdt_mem == NULL) { 427 dev_err(dev, "failed to get memory region\n"); 428 return -EBUSY; 429 } 430 431 - wdt_base = ioremap(res->start, size); 432 if (wdt_base == NULL) { 433 dev_err(dev, "failed to ioremap() region\n"); 434 ret = -EINVAL; ··· 522 iounmap(wdt_base); 523 524 err_req: 525 - release_resource(wdt_mem); 526 - kfree(wdt_mem); 527 528 return ret; 529 } ··· 543 544 iounmap(wdt_base); 545 546 - release_resource(wdt_mem); 547 - kfree(wdt_mem); 548 wdt_mem = NULL; 549 return 0; 550 }
··· 402 403 static int __devinit s3c2410wdt_probe(struct platform_device *pdev) 404 { 405 struct device *dev; 406 unsigned int wtcon; 407 int started = 0; ··· 416 417 /* get the memory region for the watchdog timer */ 418 419 + wdt_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); 420 + if (wdt_mem == NULL) { 421 dev_err(dev, "no memory resource specified\n"); 422 return -ENOENT; 423 } 424 425 + size = resource_size(wdt_mem); 426 + if (!request_mem_region(wdt_mem->start, size, pdev->name)) { 427 dev_err(dev, "failed to get memory region\n"); 428 return -EBUSY; 429 } 430 431 + wdt_base = ioremap(wdt_mem->start, size); 432 if (wdt_base == NULL) { 433 dev_err(dev, "failed to ioremap() region\n"); 434 ret = -EINVAL; ··· 524 iounmap(wdt_base); 525 526 err_req: 527 + release_mem_region(wdt_mem->start, size); 528 + wdt_mem = NULL; 529 530 return ret; 531 } ··· 545 546 iounmap(wdt_base); 547 548 + release_mem_region(wdt_mem->start, resource_size(wdt_mem)); 549 wdt_mem = NULL; 550 return 0; 551 }