Commit 0e8ede53 authored by Julia Lawall's avatar Julia Lawall Committed by Jesse Barnes

x86/PCI: Convert release_resource to release_region/release_mem_region

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: default avatarJulia Lawall <julia@diku.dk>
Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
parent 83d74e03
...@@ -280,12 +280,9 @@ void __init pci_direct_init(int type) ...@@ -280,12 +280,9 @@ void __init pci_direct_init(int type)
int __init pci_direct_probe(void) int __init pci_direct_probe(void)
{ {
struct resource *region, *region2;
if ((pci_probe & PCI_PROBE_CONF1) == 0) if ((pci_probe & PCI_PROBE_CONF1) == 0)
goto type2; goto type2;
region = request_region(0xCF8, 8, "PCI conf1"); if (!request_region(0xCF8, 8, "PCI conf1"))
if (!region)
goto type2; goto type2;
if (pci_check_type1()) { if (pci_check_type1()) {
...@@ -293,16 +290,14 @@ int __init pci_direct_probe(void) ...@@ -293,16 +290,14 @@ int __init pci_direct_probe(void)
port_cf9_safe = true; port_cf9_safe = true;
return 1; return 1;
} }
release_resource(region); release_region(0xCF8, 8);
type2: type2:
if ((pci_probe & PCI_PROBE_CONF2) == 0) if ((pci_probe & PCI_PROBE_CONF2) == 0)
return 0; return 0;
region = request_region(0xCF8, 4, "PCI conf2"); if (!request_region(0xCF8, 4, "PCI conf2"))
if (!region)
return 0; return 0;
region2 = request_region(0xC000, 0x1000, "PCI conf2"); if (!request_region(0xC000, 0x1000, "PCI conf2"))
if (!region2)
goto fail2; goto fail2;
if (pci_check_type2()) { if (pci_check_type2()) {
...@@ -311,8 +306,8 @@ int __init pci_direct_probe(void) ...@@ -311,8 +306,8 @@ int __init pci_direct_probe(void)
return 2; return 2;
} }
release_resource(region2); release_region(0xC000, 0x1000);
fail2: fail2:
release_resource(region); release_region(0xCF8, 4);
return 0; return 0;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment