/* TBD - figure out a way to only call fixups for systems that require them.  */
static int post_dock_fixups(struct notifier_block *nb, unsigned long val, void *v)
/* TBD - figure out a way to only call fixups for systems that require them.  */
static int post_dock_fixups(struct notifier_block *nb, unsigned long val, void *v)
{
	struct acpiphp_func *func = container_of(nb, struct acpiphp_func, nb);
	struct pci_bus *bus = func->slot->bridge->pci_bus;
	u32 buses;
	if (!bus->self)
		return  NOTIFY_OK;
	pci_read_config_dword(bus->self,
			PCI_PRIMARY_BUS,
			&buses);
	if (((buses >> 8) & 0xff) != bus->secondary) {
		buses = (buses & 0xff000000)
			| ((unsigned int)(bus->primary)     <<  0)
			| ((unsigned int)(bus->secondary)   <<  8)
			| ((unsigned int)(bus->subordinate) << 16);
		pci_write_config_dword(bus->self, PCI_PRIMARY_BUS, buses);
	}
	return NOTIFY_OK;
}