[Bluetooth] Make use of virtual devices tree
[pandora-kernel.git] / drivers / pci / setup-bus.c
index 5440491..8f7bcf5 100644 (file)
@@ -55,16 +55,16 @@ pbus_assign_resources_sorted(struct pci_bus *bus)
        list_for_each_entry(dev, &bus->devices, bus_list) {
                u16 class = dev->class >> 8;
 
-               /* Don't touch classless devices or host bridges. */
+               /* Don't touch classless devices or host bridges or ioapics.  */
                if (class == PCI_CLASS_NOT_DEFINED ||
                    class == PCI_CLASS_BRIDGE_HOST)
                        continue;
 
-               /* Don't touch ioapics if it has the assigned resources. */
+               /* Don't touch ioapic devices already enabled by firmware */
                if (class == PCI_CLASS_SYSTEM_PIC) {
-                       res = &dev->resource[0];
-                       if (res[0].start || res[1].start || res[2].start ||
-                           res[3].start || res[4].start || res[5].start)
+                       u16 command;
+                       pci_read_config_word(dev, PCI_COMMAND, &command);
+                       if (command & (PCI_COMMAND_IO | PCI_COMMAND_MEMORY))
                                continue;
                }