diff options
-rw-r--r-- | arch/alpha/include/asm/pci.h | 1 | ||||
-rw-r--r-- | arch/arm/include/asm/pci.h | 2 | ||||
-rw-r--r-- | arch/h8300/include/asm/pci.h | 1 | ||||
-rw-r--r-- | arch/ia64/include/asm/pci.h | 14 | ||||
-rw-r--r-- | arch/mips/include/asm/pci.h | 2 | ||||
-rw-r--r-- | arch/mn10300/include/asm/pci.h | 13 | ||||
-rw-r--r-- | arch/parisc/include/asm/pci.h | 1 | ||||
-rw-r--r-- | arch/powerpc/include/asm/pci.h | 1 | ||||
-rw-r--r-- | arch/sh/include/asm/pci.h | 1 | ||||
-rw-r--r-- | arch/sparc/include/asm/pci_32.h | 1 | ||||
-rw-r--r-- | arch/sparc/include/asm/pci_64.h | 1 | ||||
-rw-r--r-- | arch/um/include/asm/pci.h | 1 | ||||
-rw-r--r-- | arch/x86/include/asm/pci.h | 1 | ||||
-rw-r--r-- | drivers/pci/probe.c | 3 | ||||
-rw-r--r-- | include/asm-generic/pci.h | 13 |
15 files changed, 37 insertions, 19 deletions
diff --git a/arch/alpha/include/asm/pci.h b/arch/alpha/include/asm/pci.h index d22ace99d13d..dd8dcabf160f 100644 --- a/arch/alpha/include/asm/pci.h +++ b/arch/alpha/include/asm/pci.h | |||
@@ -52,7 +52,6 @@ struct pci_controller { | |||
52 | bus numbers. */ | 52 | bus numbers. */ |
53 | 53 | ||
54 | #define pcibios_assign_all_busses() 1 | 54 | #define pcibios_assign_all_busses() 1 |
55 | #define pcibios_scan_all_fns(a, b) 0 | ||
56 | 55 | ||
57 | #define PCIBIOS_MIN_IO alpha_mv.min_io_address | 56 | #define PCIBIOS_MIN_IO alpha_mv.min_io_address |
58 | #define PCIBIOS_MIN_MEM alpha_mv.min_mem_address | 57 | #define PCIBIOS_MIN_MEM alpha_mv.min_mem_address |
diff --git a/arch/arm/include/asm/pci.h b/arch/arm/include/asm/pci.h index 0abf386ba3d3..226cddd2fb65 100644 --- a/arch/arm/include/asm/pci.h +++ b/arch/arm/include/asm/pci.h | |||
@@ -6,8 +6,6 @@ | |||
6 | 6 | ||
7 | #include <mach/hardware.h> /* for PCIBIOS_MIN_* */ | 7 | #include <mach/hardware.h> /* for PCIBIOS_MIN_* */ |
8 | 8 | ||
9 | #define pcibios_scan_all_fns(a, b) 0 | ||
10 | |||
11 | #ifdef CONFIG_PCI_HOST_ITE8152 | 9 | #ifdef CONFIG_PCI_HOST_ITE8152 |
12 | /* ITE bridge requires setting latency timer to avoid early bus access | 10 | /* ITE bridge requires setting latency timer to avoid early bus access |
13 | termination by PIC bus mater devices | 11 | termination by PIC bus mater devices |
diff --git a/arch/h8300/include/asm/pci.h b/arch/h8300/include/asm/pci.h index 97389b35aa35..cc9762091c0a 100644 --- a/arch/h8300/include/asm/pci.h +++ b/arch/h8300/include/asm/pci.h | |||
@@ -8,7 +8,6 @@ | |||
8 | */ | 8 | */ |
9 | 9 | ||
10 | #define pcibios_assign_all_busses() 0 | 10 | #define pcibios_assign_all_busses() 0 |
11 | #define pcibios_scan_all_fns(a, b) 0 | ||
12 | 11 | ||
13 | static inline void pcibios_set_master(struct pci_dev *dev) | 12 | static inline void pcibios_set_master(struct pci_dev *dev) |
14 | { | 13 | { |
diff --git a/arch/ia64/include/asm/pci.h b/arch/ia64/include/asm/pci.h index fcfca56bb850..55281aabe5f2 100644 --- a/arch/ia64/include/asm/pci.h +++ b/arch/ia64/include/asm/pci.h | |||
@@ -17,7 +17,6 @@ | |||
17 | * loader. | 17 | * loader. |
18 | */ | 18 | */ |
19 | #define pcibios_assign_all_busses() 0 | 19 | #define pcibios_assign_all_busses() 0 |
20 | #define pcibios_scan_all_fns(a, b) 0 | ||
21 | 20 | ||
22 | #define PCIBIOS_MIN_IO 0x1000 | 21 | #define PCIBIOS_MIN_IO 0x1000 |
23 | #define PCIBIOS_MIN_MEM 0x10000000 | 22 | #define PCIBIOS_MIN_MEM 0x10000000 |
@@ -135,7 +134,18 @@ extern void pcibios_resource_to_bus(struct pci_dev *dev, | |||
135 | extern void pcibios_bus_to_resource(struct pci_dev *dev, | 134 | extern void pcibios_bus_to_resource(struct pci_dev *dev, |
136 | struct resource *res, struct pci_bus_region *region); | 135 | struct resource *res, struct pci_bus_region *region); |
137 | 136 | ||
138 | #define pcibios_scan_all_fns(a, b) 0 | 137 | static inline struct resource * |
138 | pcibios_select_root(struct pci_dev *pdev, struct resource *res) | ||
139 | { | ||
140 | struct resource *root = NULL; | ||
141 | |||
142 | if (res->flags & IORESOURCE_IO) | ||
143 | root = &ioport_resource; | ||
144 | if (res->flags & IORESOURCE_MEM) | ||
145 | root = &iomem_resource; | ||
146 | |||
147 | return root; | ||
148 | } | ||
139 | 149 | ||
140 | #define HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ | 150 | #define HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ |
141 | static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) | 151 | static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) |
diff --git a/arch/mips/include/asm/pci.h b/arch/mips/include/asm/pci.h index a68d111e55e9..5ebf82572ec0 100644 --- a/arch/mips/include/asm/pci.h +++ b/arch/mips/include/asm/pci.h | |||
@@ -65,8 +65,6 @@ extern int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin); | |||
65 | 65 | ||
66 | extern unsigned int pcibios_assign_all_busses(void); | 66 | extern unsigned int pcibios_assign_all_busses(void); |
67 | 67 | ||
68 | #define pcibios_scan_all_fns(a, b) 0 | ||
69 | |||
70 | extern unsigned long PCIBIOS_MIN_IO; | 68 | extern unsigned long PCIBIOS_MIN_IO; |
71 | extern unsigned long PCIBIOS_MIN_MEM; | 69 | extern unsigned long PCIBIOS_MIN_MEM; |
72 | 70 | ||
diff --git a/arch/mn10300/include/asm/pci.h b/arch/mn10300/include/asm/pci.h index 19aecc90f7a4..6095a28561dd 100644 --- a/arch/mn10300/include/asm/pci.h +++ b/arch/mn10300/include/asm/pci.h | |||
@@ -101,7 +101,18 @@ extern void pcibios_bus_to_resource(struct pci_dev *dev, | |||
101 | struct resource *res, | 101 | struct resource *res, |
102 | struct pci_bus_region *region); | 102 | struct pci_bus_region *region); |
103 | 103 | ||
104 | #define pcibios_scan_all_fns(a, b) 0 | 104 | static inline struct resource * |
105 | pcibios_select_root(struct pci_dev *pdev, struct resource *res) | ||
106 | { | ||
107 | struct resource *root = NULL; | ||
108 | |||
109 | if (res->flags & IORESOURCE_IO) | ||
110 | root = &ioport_resource; | ||
111 | if (res->flags & IORESOURCE_MEM) | ||
112 | root = &iomem_resource; | ||
113 | |||
114 | return root; | ||
115 | } | ||
105 | 116 | ||
106 | static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) | 117 | static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) |
107 | { | 118 | { |
diff --git a/arch/parisc/include/asm/pci.h b/arch/parisc/include/asm/pci.h index 7d842d699df2..64c7aa590ae5 100644 --- a/arch/parisc/include/asm/pci.h +++ b/arch/parisc/include/asm/pci.h | |||
@@ -233,7 +233,6 @@ static inline void pcibios_register_hba(struct pci_hba_data *x) | |||
233 | * rp7420/8420 boxes and then revisit this issue. | 233 | * rp7420/8420 boxes and then revisit this issue. |
234 | */ | 234 | */ |
235 | #define pcibios_assign_all_busses() (1) | 235 | #define pcibios_assign_all_busses() (1) |
236 | #define pcibios_scan_all_fns(a, b) (0) | ||
237 | 236 | ||
238 | #define PCIBIOS_MIN_IO 0x10 | 237 | #define PCIBIOS_MIN_IO 0x10 |
239 | #define PCIBIOS_MIN_MEM 0x1000 /* NBPG - but pci/setup-res.c dies */ | 238 | #define PCIBIOS_MIN_MEM 0x1000 /* NBPG - but pci/setup-res.c dies */ |
diff --git a/arch/powerpc/include/asm/pci.h b/arch/powerpc/include/asm/pci.h index d9483c504d2d..36057c821ff4 100644 --- a/arch/powerpc/include/asm/pci.h +++ b/arch/powerpc/include/asm/pci.h | |||
@@ -40,7 +40,6 @@ struct pci_dev; | |||
40 | */ | 40 | */ |
41 | #define pcibios_assign_all_busses() \ | 41 | #define pcibios_assign_all_busses() \ |
42 | (ppc_pci_has_flag(PPC_PCI_REASSIGN_ALL_BUS)) | 42 | (ppc_pci_has_flag(PPC_PCI_REASSIGN_ALL_BUS)) |
43 | #define pcibios_scan_all_fns(a, b) 0 | ||
44 | 43 | ||
45 | static inline void pcibios_set_master(struct pci_dev *dev) | 44 | static inline void pcibios_set_master(struct pci_dev *dev) |
46 | { | 45 | { |
diff --git a/arch/sh/include/asm/pci.h b/arch/sh/include/asm/pci.h index d3633f513ebc..4163950cd1c6 100644 --- a/arch/sh/include/asm/pci.h +++ b/arch/sh/include/asm/pci.h | |||
@@ -10,7 +10,6 @@ | |||
10 | or architectures with incomplete PCI setup by the loader */ | 10 | or architectures with incomplete PCI setup by the loader */ |
11 | 11 | ||
12 | #define pcibios_assign_all_busses() 1 | 12 | #define pcibios_assign_all_busses() 1 |
13 | #define pcibios_scan_all_fns(a, b) 0 | ||
14 | 13 | ||
15 | /* | 14 | /* |
16 | * A board can define one or more PCI channels that represent built-in (or | 15 | * A board can define one or more PCI channels that represent built-in (or |
diff --git a/arch/sparc/include/asm/pci_32.h b/arch/sparc/include/asm/pci_32.h index b41c4c198159..810d9248e23f 100644 --- a/arch/sparc/include/asm/pci_32.h +++ b/arch/sparc/include/asm/pci_32.h | |||
@@ -10,7 +10,6 @@ | |||
10 | * or architectures with incomplete PCI setup by the loader. | 10 | * or architectures with incomplete PCI setup by the loader. |
11 | */ | 11 | */ |
12 | #define pcibios_assign_all_busses() 0 | 12 | #define pcibios_assign_all_busses() 0 |
13 | #define pcibios_scan_all_fns(a, b) 0 | ||
14 | 13 | ||
15 | #define PCIBIOS_MIN_IO 0UL | 14 | #define PCIBIOS_MIN_IO 0UL |
16 | #define PCIBIOS_MIN_MEM 0UL | 15 | #define PCIBIOS_MIN_MEM 0UL |
diff --git a/arch/sparc/include/asm/pci_64.h b/arch/sparc/include/asm/pci_64.h index 7a1e3566e59c..a32970888287 100644 --- a/arch/sparc/include/asm/pci_64.h +++ b/arch/sparc/include/asm/pci_64.h | |||
@@ -10,7 +10,6 @@ | |||
10 | * or architectures with incomplete PCI setup by the loader. | 10 | * or architectures with incomplete PCI setup by the loader. |
11 | */ | 11 | */ |
12 | #define pcibios_assign_all_busses() 0 | 12 | #define pcibios_assign_all_busses() 0 |
13 | #define pcibios_scan_all_fns(a, b) 0 | ||
14 | 13 | ||
15 | #define PCIBIOS_MIN_IO 0UL | 14 | #define PCIBIOS_MIN_IO 0UL |
16 | #define PCIBIOS_MIN_MEM 0UL | 15 | #define PCIBIOS_MIN_MEM 0UL |
diff --git a/arch/um/include/asm/pci.h b/arch/um/include/asm/pci.h index 59923199cdc3..b44cf59ede1e 100644 --- a/arch/um/include/asm/pci.h +++ b/arch/um/include/asm/pci.h | |||
@@ -2,6 +2,5 @@ | |||
2 | #define __UM_PCI_H | 2 | #define __UM_PCI_H |
3 | 3 | ||
4 | #define PCI_DMA_BUS_IS_PHYS (1) | 4 | #define PCI_DMA_BUS_IS_PHYS (1) |
5 | #define pcibios_scan_all_fns(a, b) 0 | ||
6 | 5 | ||
7 | #endif | 6 | #endif |
diff --git a/arch/x86/include/asm/pci.h b/arch/x86/include/asm/pci.h index 1ff685ca221c..f76a162c082c 100644 --- a/arch/x86/include/asm/pci.h +++ b/arch/x86/include/asm/pci.h | |||
@@ -48,7 +48,6 @@ extern unsigned int pcibios_assign_all_busses(void); | |||
48 | #else | 48 | #else |
49 | #define pcibios_assign_all_busses() 0 | 49 | #define pcibios_assign_all_busses() 0 |
50 | #endif | 50 | #endif |
51 | #define pcibios_scan_all_fns(a, b) 0 | ||
52 | 51 | ||
53 | extern unsigned long pci_mem_start; | 52 | extern unsigned long pci_mem_start; |
54 | #define PCIBIOS_MIN_IO 0x1000 | 53 | #define PCIBIOS_MIN_IO 0x1000 |
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 40e75f6a5056..b9d4e95aafba 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c | |||
@@ -1061,8 +1061,7 @@ int pci_scan_slot(struct pci_bus *bus, int devfn) | |||
1061 | if (dev && !dev->is_added) /* new device? */ | 1061 | if (dev && !dev->is_added) /* new device? */ |
1062 | nr++; | 1062 | nr++; |
1063 | 1063 | ||
1064 | if ((dev && dev->multifunction) || | 1064 | if (dev && dev->multifunction) { |
1065 | (!dev && pcibios_scan_all_fns(bus, devfn))) { | ||
1066 | for (fn = 1; fn < 8; fn++) { | 1065 | for (fn = 1; fn < 8; fn++) { |
1067 | dev = pci_scan_single_device(bus, devfn + fn); | 1066 | dev = pci_scan_single_device(bus, devfn + fn); |
1068 | if (dev) { | 1067 | if (dev) { |
diff --git a/include/asm-generic/pci.h b/include/asm-generic/pci.h index b4326b5466eb..26373cff4546 100644 --- a/include/asm-generic/pci.h +++ b/include/asm-generic/pci.h | |||
@@ -30,7 +30,18 @@ pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res, | |||
30 | res->end = region->end; | 30 | res->end = region->end; |
31 | } | 31 | } |
32 | 32 | ||
33 | #define pcibios_scan_all_fns(a, b) 0 | 33 | static inline struct resource * |
34 | pcibios_select_root(struct pci_dev *pdev, struct resource *res) | ||
35 | { | ||
36 | struct resource *root = NULL; | ||
37 | |||
38 | if (res->flags & IORESOURCE_IO) | ||
39 | root = &ioport_resource; | ||
40 | if (res->flags & IORESOURCE_MEM) | ||
41 | root = &iomem_resource; | ||
42 | |||
43 | return root; | ||
44 | } | ||
34 | 45 | ||
35 | #ifndef HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ | 46 | #ifndef HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ |
36 | static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) | 47 | static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) |