On Fri, Sep 28, 2012 at 7:52 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote: > On Fri, Sep 28, 2012 at 6:48 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote: >> On Fri, Sep 28, 2012 at 4:46 PM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: >>> On Thu, Sep 27, 2012 at 2:11 AM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote: >>>> So could use assign_unassigned_bus_res pci root bus add >>> >>> After your series, acpi_pci_root_start() looks like this: >>> >>> pci_assign_unassigned_bus_resources >>> list_for_each_entry(driver, &acpi_pci_drivers, node) >>> driver->add(root); >>> pci_enable_bridges(root->bus); >>> >>> so apparently it's important that the driver->add() methods be run >>> *before* the bridges are enabled. Why? >> > > During rebase, the changelog get lost. > > pci_enable_bridges > ==> pci_enable_device > ==> ... > ===> pcibios_enable_device > ===> pcibios_enable_irq > > and one of driver in acpi_pci_drivers, is ioapic drivers and it will > enable ioapic there. > > So we need to enable bridges that later. Is it important that pci_assign_unassigned_bus_resources() be run before the driver->add() methods? Why? Do you have a pointer to this ioapic driver? I don't think it's in the tree yet. I know about drivers/pci/ioapic.c, but it doesn't use acpi_pci_register_driver(). -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html