]> git.sur5r.net Git - u-boot/commitdiff
pci: minor cleanup of CONFIG_PCI_PNP usage
authorAndrew Sharp <andywyse6@gmail.com>
Wed, 29 Aug 2012 14:16:30 +0000 (14:16 +0000)
committerWolfgang Denk <wd@denx.de>
Sun, 2 Sep 2012 12:18:19 +0000 (14:18 +0200)
Refactor the common PCI code just a tiny bit surrounding the PCI_PNP
(pciauto) stuff.  Makes the code a tiny bit easier to read, and also
makes it more obvious that almost no platform needs to setup or use the
pci_config_table stuff.

Signed-off-by: Andrew Sharp <andywyse6@gmail.com>
drivers/pci/pci.c

index 62cb96959fccb4162434accfcb2a502c96d519e8..2a6d0a7593c8a8e2ff5989edb83553f6f2cfd1ee 100644 (file)
@@ -627,7 +627,9 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus)
        unsigned int sub_bus, found_multi = 0;
        unsigned short vendor, device, class;
        unsigned char header_type;
+#ifndef CONFIG_PCI_PNP
        struct pci_config_table *cfg;
+#endif
        pci_dev_t dev;
 #ifdef CONFIG_PCI_SCAN_SHOW
        static int indent = 0;
@@ -675,18 +677,16 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus)
                }
 #endif
 
+#ifdef CONFIG_PCI_PNP
+               sub_bus = max(pciauto_config_device(hose, dev), sub_bus);
+#else
                cfg = pci_find_config(hose, class, vendor, device,
                                      PCI_BUS(dev), PCI_DEV(dev), PCI_FUNC(dev));
                if (cfg) {
                        cfg->config_device(hose, dev, cfg);
                        sub_bus = max(sub_bus, hose->current_busno);
-#ifdef CONFIG_PCI_PNP
-               } else {
-                       int n = pciauto_config_device(hose, dev);
-
-                       sub_bus = max(sub_bus, n);
-#endif
                }
+#endif
 
 #ifdef CONFIG_PCI_SCAN_SHOW
                indent--;