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

Commit 9e808eb6 authored by Bjorn Helgaas's avatar Bjorn Helgaas
Browse files

PCI: Cleanup control flow



Return errors immediately so the straightline path is the normal,
no-error path.  No functional change.

Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent a0c8a4d9
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -155,17 +155,13 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL, PCI_ANY_ID, rc_pci_fixup);
static struct pci_bus __init *
dove_pcie_scan_bus(int nr, struct pci_sys_data *sys)
{
	struct pci_bus *bus;

	if (nr < num_pcie_ports) {
		bus = pci_scan_root_bus(NULL, sys->busnr, &pcie_ops, sys,
					&sys->resources);
	} else {
		bus = NULL;
	if (nr >= num_pcie_ports) {
		BUG();
		return NULL;
	}

	return bus;
	return pci_scan_root_bus(NULL, sys->busnr, &pcie_ops, sys,
				 &sys->resources);
}

static int __init dove_pcie_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
+4 −8
Original line number Diff line number Diff line
@@ -197,17 +197,13 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL, PCI_ANY_ID, rc_pci_fixup);
static struct pci_bus __init *
mv78xx0_pcie_scan_bus(int nr, struct pci_sys_data *sys)
{
	struct pci_bus *bus;

	if (nr < num_pcie_ports) {
		bus = pci_scan_root_bus(NULL, sys->busnr, &pcie_ops, sys,
					&sys->resources);
	} else {
		bus = NULL;
	if (nr >= num_pcie_ports) {
		BUG();
		return NULL;
	}

	return bus;
	return pci_scan_root_bus(NULL, sys->busnr, &pcie_ops, sys,
				 &sys->resources);
}

static int __init mv78xx0_pcie_map_irq(const struct pci_dev *dev, u8 slot,
+14 −18
Original line number Diff line number Diff line
@@ -540,37 +540,33 @@ void __init orion5x_pci_set_cardbus_mode(void)

int __init orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys)
{
	int ret = 0;

	vga_base = ORION5X_PCIE_MEM_PHYS_BASE;

	if (nr == 0) {
		orion_pcie_set_local_bus_nr(PCIE_BASE, sys->busnr);
		ret = pcie_setup(sys);
	} else if (nr == 1 && !orion5x_pci_disabled) {
		return pcie_setup(sys);
	}

	if (nr == 1 && !orion5x_pci_disabled) {
		orion5x_pci_set_bus_nr(sys->busnr);
		ret = pci_setup(sys);
		return pci_setup(sys);
	}

	return ret;
	return 0;
}

struct pci_bus __init *orion5x_pci_sys_scan_bus(int nr, struct pci_sys_data *sys)
{
	struct pci_bus *bus;

	if (nr == 0) {
		bus = pci_scan_root_bus(NULL, sys->busnr, &pcie_ops, sys,
	if (nr == 0)
		return pci_scan_root_bus(NULL, sys->busnr, &pcie_ops, sys,
					 &sys->resources);
	} else if (nr == 1 && !orion5x_pci_disabled) {
		bus = pci_scan_root_bus(NULL, sys->busnr, &pci_ops, sys,

	if (nr == 1 && !orion5x_pci_disabled)
		return pci_scan_root_bus(NULL, sys->busnr, &pci_ops, sys,
					 &sys->resources);
	} else {
		bus = NULL;
		BUG();
	}

	return bus;
	BUG();
	return NULL;
}

int __init orion5x_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
+17 −16
Original line number Diff line number Diff line
@@ -94,14 +94,16 @@ static void pcibios_scanbus(struct pci_controller *hose)
	pci_add_resource_offset(&resources, hose->io_resource, hose->io_offset);
	bus = pci_scan_root_bus(NULL, next_busno, hose->pci_ops, hose,
				&resources);
	if (!bus)
		pci_free_resource_list(&resources);

	hose->bus = bus;

	need_domain_info = need_domain_info || hose->index;
	hose->need_domain_info = need_domain_info;
	if (bus) {

	if (!bus) {
		pci_free_resource_list(&resources);
		return;
	}

	next_busno = bus->busn_res.end + 1;
	/* Don't allow 8-bit bus number overflow inside the hose -
	   reserve some space for bridges. */
@@ -116,7 +118,6 @@ static void pcibios_scanbus(struct pci_controller *hose)
	}
	pci_bus_add_devices(bus);
}
}

#ifdef CONFIG_OF
void pci_load_of_ranges(struct pci_controller *hose, struct device_node *node)
+14 −12
Original line number Diff line number Diff line
@@ -58,7 +58,12 @@ static void pcibios_scanbus(struct pci_channel *hose)

	need_domain_info = need_domain_info || hose->index;
	hose->need_domain_info = need_domain_info;
	if (bus) {

	if (!bus) {
		pci_free_resource_list(&resources);
		return;
	}

	next_busno = bus->busn_res.end + 1;
	/* Don't allow 8-bit bus number overflow inside the hose -
	   reserve some space for bridges. */
@@ -70,9 +75,6 @@ static void pcibios_scanbus(struct pci_channel *hose)
	pci_bus_size_bridges(bus);
	pci_bus_assign_resources(bus);
	pci_bus_add_devices(bus);
	} else {
		pci_free_resource_list(&resources);
	}
}

/*
Loading