diff options
author | Julia Lawall <julia@diku.dk> | 2011-02-13 07:12:11 -0500 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2011-05-10 18:43:30 -0400 |
commit | 0e8ede5351b53610363215f750e576ca1db1d0cd (patch) | |
tree | 632f1486569770166223247869bc821521cf8b80 | |
parent | 83d74e036b94ffbf871667eede5ef02993709452 (diff) |
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: Julia Lawall <julia@diku.dk>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
-rw-r--r-- | arch/x86/pci/direct.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/arch/x86/pci/direct.c b/arch/x86/pci/direct.c index bd33620b0071..e6fd8473fb7b 100644 --- a/arch/x86/pci/direct.c +++ b/arch/x86/pci/direct.c | |||
@@ -280,12 +280,9 @@ void __init pci_direct_init(int type) | |||
280 | 280 | ||
281 | int __init pci_direct_probe(void) | 281 | int __init pci_direct_probe(void) |
282 | { | 282 | { |
283 | struct resource *region, *region2; | ||
284 | |||
285 | if ((pci_probe & PCI_PROBE_CONF1) == 0) | 283 | if ((pci_probe & PCI_PROBE_CONF1) == 0) |
286 | goto type2; | 284 | goto type2; |
287 | region = request_region(0xCF8, 8, "PCI conf1"); | 285 | if (!request_region(0xCF8, 8, "PCI conf1")) |
288 | if (!region) | ||
289 | goto type2; | 286 | goto type2; |
290 | 287 | ||
291 | if (pci_check_type1()) { | 288 | if (pci_check_type1()) { |
@@ -293,16 +290,14 @@ int __init pci_direct_probe(void) | |||
293 | port_cf9_safe = true; | 290 | port_cf9_safe = true; |
294 | return 1; | 291 | return 1; |
295 | } | 292 | } |
296 | release_resource(region); | 293 | release_region(0xCF8, 8); |
297 | 294 | ||
298 | type2: | 295 | type2: |
299 | if ((pci_probe & PCI_PROBE_CONF2) == 0) | 296 | if ((pci_probe & PCI_PROBE_CONF2) == 0) |
300 | return 0; | 297 | return 0; |
301 | region = request_region(0xCF8, 4, "PCI conf2"); | 298 | if (!request_region(0xCF8, 4, "PCI conf2")) |
302 | if (!region) | ||
303 | return 0; | 299 | return 0; |
304 | region2 = request_region(0xC000, 0x1000, "PCI conf2"); | 300 | if (!request_region(0xC000, 0x1000, "PCI conf2")) |
305 | if (!region2) | ||
306 | goto fail2; | 301 | goto fail2; |
307 | 302 | ||
308 | if (pci_check_type2()) { | 303 | if (pci_check_type2()) { |
@@ -311,8 +306,8 @@ int __init pci_direct_probe(void) | |||
311 | return 2; | 306 | return 2; |
312 | } | 307 | } |
313 | 308 | ||
314 | release_resource(region2); | 309 | release_region(0xC000, 0x1000); |
315 | fail2: | 310 | fail2: |
316 | release_resource(region); | 311 | release_region(0xCF8, 4); |
317 | return 0; | 312 | return 0; |
318 | } | 313 | } |