/* sn_acpi_bus_fixup - Perform SN specific setup of software structs (pcibus_bussoft, pcidev_info) and hardware registers, for the specified bus and devices under it.  */
void sn_acpi_bus_fixup(struct pci_bus *bus)
/* sn_acpi_bus_fixup - Perform SN specific setup of software structs (pcibus_bussoft, pcidev_info) and hardware registers, for the specified bus and devices under it.  */
void sn_acpi_bus_fixup(struct pci_bus *bus)
{
	struct pci_dev *pci_dev = NULL;
	struct pcibus_bussoft *prom_bussoft_ptr;
	if (!bus->parent) {
		prom_bussoft_ptr = sn_get_bussoft_ptr(bus);
		if (prom_bussoft_ptr == NULL) {
			printk(KERN_ERR
			       "%s: 0x%04x:0x%02x Unable to "
			       "obtain prom_bussoft_ptr\n",
			       __func__, pci_domain_nr(bus), bus->number);
			return;
		}
		sn_common_bus_fixup(bus, prom_bussoft_ptr);
	}
	list_for_each_entry(pci_dev, &bus->devices, bus_list) {
		sn_acpi_slot_fixup(pci_dev);
	}
}