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