Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+6 −11
Original line number Original line Diff line number Diff line
@@ -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)
		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)
		return 2;
		return 2;
	}
	}


	release_resource(region2);
	release_region(0xC000, 0x1000);
 fail2:
 fail2:
	release_resource(region);
	release_region(0xCF8, 4);
	return 0;
	return 0;
}
}