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()) {
                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()) {
                return 2;
        }
 
-       release_resource(region2);
+       release_region(0xC000, 0x1000);
  fail2:
-       release_resource(region);
+       release_region(0xCF8, 4);
        return 0;
 }