x86/PCI: Convert release_resource to release_region/release_mem_region
authorJulia Lawall <julia@diku.dk>
Sun, 13 Feb 2011 12:12:11 +0000 (13:12 +0100)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Tue, 10 May 2011 22:43:30 +0000 (15:43 -0700)
Request_region should be used with release_region, not release_resource.

The local variables region and region2 are dropped and the calls to
release_resource are replaced with calls to release_region, using the first
two arguments of the corresponding calls to request_region.

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

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

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
arch/x86/pci/direct.c

index bd33620..e6fd847 100644 (file)
@@ -280,12 +280,9 @@ void __init pci_direct_init(int type)
 
 int __init pci_direct_probe(void)
 {
-       struct resource *region, *region2;
-
        if ((pci_probe & PCI_PROBE_CONF1) == 0)
                goto type2;
-       region = request_region(0xCF8, 8, "PCI conf1");
-       if (!region)
+       if (!request_region(0xCF8, 8, "PCI conf1"))
                goto type2;
 
        if (pci_check_type1()) {
@@ -293,16 +290,14 @@ int __init pci_direct_probe(void)
                port_cf9_safe = true;
                return 1;
        }
-       release_resource(region);
+       release_region(0xCF8, 8);
 
  type2:
        if ((pci_probe & PCI_PROBE_CONF2) == 0)
                return 0;
-       region = request_region(0xCF8, 4, "PCI conf2");
-       if (!region)
+       if (!request_region(0xCF8, 4, "PCI conf2"))
                return 0;
-       region2 = request_region(0xC000, 0x1000, "PCI conf2");
-       if (!region2)
+       if (!request_region(0xC000, 0x1000, "PCI conf2"))
                goto fail2;
 
        if (pci_check_type2()) {
@@ -311,8 +306,8 @@ int __init pci_direct_probe(void)
                return 2;
        }
 
-       release_resource(region2);
+       release_region(0xC000, 0x1000);
  fail2:
-       release_resource(region);
+       release_region(0xCF8, 4);
        return 0;
 }