From: Bjorn Helgaas Date: Thu, 10 Jan 2013 18:18:41 +0000 (-0700) Subject: Merge branch 'acpi-scan' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael... X-Git-Tag: firefly_0821_release~3680^2~1035^2~2^2~2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=295a7f6235bfa21be3454aebc1bea1eaf0b74fb7;p=firefly-linux-kernel-4.4.55.git Merge branch 'acpi-scan' of git://git./linux/kernel/git/rafael/linux-pm into pci/yinghai-survey-resources+acpi-scan * 'acpi-scan' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: ACPI / scan: Treat power resources in a special way ACPI: Remove unused struct acpi_pci_root.id member ACPI: Drop ACPI device .bind() and .unbind() callbacks ACPI / PCI: Move the _PRT setup and cleanup code to pci-acpi.c ACPI / PCI: Rework the setup and cleanup of device wakeup ACPI: Add .setup() and .cleanup() callbacks to struct acpi_bus_type ACPI: Make acpi_bus_scan() and acpi_bus_add() take only one argument ACPI: Replace ACPI device add_type field with a match_driver flag ACPI: Drop the second argument of acpi_bus_scan() ACPI: Remove the arguments of acpi_bus_add() that are not used ACPI: Remove acpi_start_single_object() and acpi_bus_start() ACPI / PCI: Fold acpi_pci_root_start() into acpi_pci_root_add() ACPI: Change the ordering of acpi_bus_check_add() ACPI: Replace struct acpi_bus_ops with enum type ACPI: Reduce the usage of struct acpi_bus_ops ACPI: Make acpi_bus_add() and acpi_bus_start() visibly different ACPI: Change the ordering of PCI root bridge driver registrarion ACPI: Separate adding ACPI device objects from probing ACPI drivers Conflicts: drivers/acpi/pci_root.c --- 295a7f6235bfa21be3454aebc1bea1eaf0b74fb7 diff --cc drivers/acpi/pci_root.c index dcbe9660e756,22a8458b4ec9..471b2dcb1c67 --- a/drivers/acpi/pci_root.c +++ b/drivers/acpi/pci_root.c @@@ -632,28 -600,8 +600,10 @@@ static int acpi_pci_root_add(struct acp if (device->wakeup.flags.run_wake) device_set_run_wake(root->bus->bridge, true); - return 0; - - out_del_root: - mutex_lock(&acpi_pci_root_lock); - list_del(&root->node); - mutex_unlock(&acpi_pci_root_lock); - - acpi_pci_irq_del_prt(root->segment, root->secondary.start); - end: - kfree(root); - return result; - } - - static int acpi_pci_root_start(struct acpi_device *device) - { - struct acpi_pci_root *root = acpi_driver_data(device); - struct acpi_pci_driver *driver; - - if (system_state != SYSTEM_BOOTING) + if (system_state != SYSTEM_BOOTING) { + pcibios_resource_survey_bus(root->bus); pci_assign_unassigned_bus_resources(root->bus); + } mutex_lock(&acpi_pci_root_lock); list_for_each_entry(driver, &acpi_pci_drivers, node)