aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2012-03-10 06:39:33 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-05-13 12:12:16 -0400
commitdaeb4c0c3bf2df72d0cd6e4330bad9e2e520552b (patch)
tree3645ea27803ab1adb7c46e95005cfcf10bdbd846
parent1bc39ac5dab265b76ce6e20d6c85f900539fd190 (diff)
ARM: PCI: get rid of pci_std_swizzle()
Most PCI implementations use the standard PCI swizzle function, which handles the well defined behaviour of PCI-to-PCI bridges which can be found on cards (eg, four port ethernet cards.) Rather than having almost every platform specify the standard swizzle function, make this the default when no swizzle function is supplied. Therefore, a swizzle function only needs to be provided when there is something exceptional which needs to be handled. This gets rid of the swizzle initializer from 47 files, and leaves us with just two platforms specifying a swizzle function: ARM Integrator and Chalice CATS. Acked-by: Krzysztof HaƂasa <khc@pm.waw.pl> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/include/asm/mach/pci.h5
-rw-r--r--arch/arm/kernel/bios32.c19
-rw-r--r--arch/arm/mach-cns3xxx/pcie.c2
-rw-r--r--arch/arm/mach-dove/pcie.c1
-rw-r--r--arch/arm/mach-footbridge/ebsa285-pci.c1
-rw-r--r--arch/arm/mach-footbridge/netwinder-pci.c1
-rw-r--r--arch/arm/mach-iop13xx/iq81340mc.c1
-rw-r--r--arch/arm/mach-iop13xx/iq81340sc.c1
-rw-r--r--arch/arm/mach-iop32x/em7210.c1
-rw-r--r--arch/arm/mach-iop32x/glantank.c1
-rw-r--r--arch/arm/mach-iop32x/iq31244.c2
-rw-r--r--arch/arm/mach-iop32x/iq80321.c1
-rw-r--r--arch/arm/mach-iop32x/n2100.c1
-rw-r--r--arch/arm/mach-iop33x/iq80331.c1
-rw-r--r--arch/arm/mach-iop33x/iq80332.c1
-rw-r--r--arch/arm/mach-ixp4xx/avila-pci.c1
-rw-r--r--arch/arm/mach-ixp4xx/coyote-pci.c1
-rw-r--r--arch/arm/mach-ixp4xx/dsmg600-pci.c1
-rw-r--r--arch/arm/mach-ixp4xx/fsg-pci.c1
-rw-r--r--arch/arm/mach-ixp4xx/gateway7001-pci.c1
-rw-r--r--arch/arm/mach-ixp4xx/goramo_mlr.c1
-rw-r--r--arch/arm/mach-ixp4xx/gtwx5715-pci.c1
-rw-r--r--arch/arm/mach-ixp4xx/ixdp425-pci.c1
-rw-r--r--arch/arm/mach-ixp4xx/ixdpg425-pci.c1
-rw-r--r--arch/arm/mach-ixp4xx/miccpt-pci.c1
-rw-r--r--arch/arm/mach-ixp4xx/nas100d-pci.c1
-rw-r--r--arch/arm/mach-ixp4xx/nslu2-pci.c1
-rw-r--r--arch/arm/mach-ixp4xx/vulcan-pci.c1
-rw-r--r--arch/arm/mach-ixp4xx/wg302v2-pci.c1
-rw-r--r--arch/arm/mach-kirkwood/pcie.c1
-rw-r--r--arch/arm/mach-ks8695/pci.c1
-rw-r--r--arch/arm/mach-mv78xx0/pcie.c1
-rw-r--r--arch/arm/mach-orion5x/db88f5281-setup.c1
-rw-r--r--arch/arm/mach-orion5x/dns323-setup.c1
-rw-r--r--arch/arm/mach-orion5x/kurobox_pro-setup.c1
-rw-r--r--arch/arm/mach-orion5x/mss2-setup.c1
-rw-r--r--arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c1
-rw-r--r--arch/arm/mach-orion5x/rd88f5181l-ge-setup.c1
-rw-r--r--arch/arm/mach-orion5x/rd88f5182-setup.c1
-rw-r--r--arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c1
-rw-r--r--arch/arm/mach-orion5x/terastation_pro2-setup.c1
-rw-r--r--arch/arm/mach-orion5x/ts209-setup.c1
-rw-r--r--arch/arm/mach-orion5x/ts409-setup.c1
-rw-r--r--arch/arm/mach-orion5x/wnr854t-setup.c1
-rw-r--r--arch/arm/mach-orion5x/wrt350n-v2-setup.c1
-rw-r--r--arch/arm/mach-pxa/cm-x2xx-pci.c1
-rw-r--r--arch/arm/mach-shark/pci.c1
-rw-r--r--arch/arm/mach-tegra/pcie.c1
-rw-r--r--arch/arm/mach-versatile/pci.c1
49 files changed, 16 insertions, 57 deletions
diff --git a/arch/arm/include/asm/mach/pci.h b/arch/arm/include/asm/mach/pci.h
index 0fc85480d34..ff8146a6968 100644
--- a/arch/arm/include/asm/mach/pci.h
+++ b/arch/arm/include/asm/mach/pci.h
@@ -49,11 +49,6 @@ struct pci_sys_data {
49}; 49};
50 50
51/* 51/*
52 * This is the standard PCI-PCI bridge swizzling algorithm.
53 */
54#define pci_std_swizzle pci_common_swizzle
55
56/*
57 * Call this with your hw_pci struct to initialise the PCI system. 52 * Call this with your hw_pci struct to initialise the PCI system.
58 */ 53 */
59void pci_common_init(struct hw_pci *); 54void pci_common_init(struct hw_pci *);
diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c
index e17dd2591b2..d22e35168e8 100644
--- a/arch/arm/kernel/bios32.c
+++ b/arch/arm/kernel/bios32.c
@@ -374,16 +374,29 @@ EXPORT_SYMBOL(pcibios_fixup_bus);
374#endif 374#endif
375 375
376/* 376/*
377 * Swizzle the device pin each time we cross a bridge. 377 * Swizzle the device pin each time we cross a bridge. If a platform does
378 * This might update pin and returns the slot number. 378 * not provide a swizzle function, we perform the standard PCI swizzling.
379 *
380 * The default swizzling walks up the bus tree one level at a time, applying
381 * the standard swizzle function at each step, stopping when it finds the PCI
382 * root bus. This will return the slot number of the bridge device on the
383 * root bus and the interrupt pin on that device which should correspond
384 * with the downstream device interrupt.
385 *
386 * Platforms may override this, in which case the slot and pin returned
387 * depend entirely on the platform code. However, please note that the
388 * PCI standard swizzle is implemented on plug-in cards and Cardbus based
389 * PCI extenders, so it can not be ignored.
379 */ 390 */
380static u8 __devinit pcibios_swizzle(struct pci_dev *dev, u8 *pin) 391static u8 __devinit pcibios_swizzle(struct pci_dev *dev, u8 *pin)
381{ 392{
382 struct pci_sys_data *sys = dev->sysdata; 393 struct pci_sys_data *sys = dev->sysdata;
383 int slot = 0, oldpin = *pin; 394 int slot, oldpin = *pin;
384 395
385 if (sys->swizzle) 396 if (sys->swizzle)
386 slot = sys->swizzle(dev, pin); 397 slot = sys->swizzle(dev, pin);
398 else
399 slot = pci_common_swizzle(dev, pin);
387 400
388 if (debug_pci) 401 if (debug_pci)
389 printk("PCI: %s swizzling pin %d => pin %d slot %d\n", 402 printk("PCI: %s swizzling pin %d => pin %d slot %d\n",
diff --git a/arch/arm/mach-cns3xxx/pcie.c b/arch/arm/mach-cns3xxx/pcie.c
index 79d001f831e..62f861bef24 100644
--- a/arch/arm/mach-cns3xxx/pcie.c
+++ b/arch/arm/mach-cns3xxx/pcie.c
@@ -221,7 +221,6 @@ static struct cns3xxx_pcie cns3xxx_pcie[] = {
221 .irqs = { IRQ_CNS3XXX_PCIE0_RC, IRQ_CNS3XXX_PCIE0_DEVICE, }, 221 .irqs = { IRQ_CNS3XXX_PCIE0_RC, IRQ_CNS3XXX_PCIE0_DEVICE, },
222 .hw_pci = { 222 .hw_pci = {
223 .domain = 0, 223 .domain = 0,
224 .swizzle = pci_std_swizzle,
225 .nr_controllers = 1, 224 .nr_controllers = 1,
226 .setup = cns3xxx_pci_setup, 225 .setup = cns3xxx_pci_setup,
227 .scan = cns3xxx_pci_scan_bus, 226 .scan = cns3xxx_pci_scan_bus,
@@ -264,7 +263,6 @@ static struct cns3xxx_pcie cns3xxx_pcie[] = {
264 .irqs = { IRQ_CNS3XXX_PCIE1_RC, IRQ_CNS3XXX_PCIE1_DEVICE, }, 263 .irqs = { IRQ_CNS3XXX_PCIE1_RC, IRQ_CNS3XXX_PCIE1_DEVICE, },
265 .hw_pci = { 264 .hw_pci = {
266 .domain = 1, 265 .domain = 1,
267 .swizzle = pci_std_swizzle,
268 .nr_controllers = 1, 266 .nr_controllers = 1,
269 .setup = cns3xxx_pci_setup, 267 .setup = cns3xxx_pci_setup,
270 .scan = cns3xxx_pci_scan_bus, 268 .scan = cns3xxx_pci_scan_bus,
diff --git a/arch/arm/mach-dove/pcie.c b/arch/arm/mach-dove/pcie.c
index 48a032005ea..cebf6a30a5f 100644
--- a/arch/arm/mach-dove/pcie.c
+++ b/arch/arm/mach-dove/pcie.c
@@ -201,7 +201,6 @@ static int __init dove_pcie_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
201 201
202static struct hw_pci dove_pci __initdata = { 202static struct hw_pci dove_pci __initdata = {
203 .nr_controllers = 2, 203 .nr_controllers = 2,
204 .swizzle = pci_std_swizzle,
205 .setup = dove_pcie_setup, 204 .setup = dove_pcie_setup,
206 .scan = dove_pcie_scan_bus, 205 .scan = dove_pcie_scan_bus,
207 .map_irq = dove_pcie_map_irq, 206 .map_irq = dove_pcie_map_irq,
diff --git a/arch/arm/mach-footbridge/ebsa285-pci.c b/arch/arm/mach-footbridge/ebsa285-pci.c
index 511c673ffa9..a5bed6e017d 100644
--- a/arch/arm/mach-footbridge/ebsa285-pci.c
+++ b/arch/arm/mach-footbridge/ebsa285-pci.c
@@ -29,7 +29,6 @@ static int __init ebsa285_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
29} 29}
30 30
31static struct hw_pci ebsa285_pci __initdata = { 31static struct hw_pci ebsa285_pci __initdata = {
32 .swizzle = pci_std_swizzle,
33 .map_irq = ebsa285_map_irq, 32 .map_irq = ebsa285_map_irq,
34 .nr_controllers = 1, 33 .nr_controllers = 1,
35 .setup = dc21285_setup, 34 .setup = dc21285_setup,
diff --git a/arch/arm/mach-footbridge/netwinder-pci.c b/arch/arm/mach-footbridge/netwinder-pci.c
index 62187610e17..3f66e894a31 100644
--- a/arch/arm/mach-footbridge/netwinder-pci.c
+++ b/arch/arm/mach-footbridge/netwinder-pci.c
@@ -43,7 +43,6 @@ static int __init netwinder_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
43} 43}
44 44
45static struct hw_pci netwinder_pci __initdata = { 45static struct hw_pci netwinder_pci __initdata = {
46 .swizzle = pci_std_swizzle,
47 .map_irq = netwinder_map_irq, 46 .map_irq = netwinder_map_irq,
48 .nr_controllers = 1, 47 .nr_controllers = 1,
49 .setup = dc21285_setup, 48 .setup = dc21285_setup,
diff --git a/arch/arm/mach-iop13xx/iq81340mc.c b/arch/arm/mach-iop13xx/iq81340mc.c
index 5c96b73e696..e3f3e7daa79 100644
--- a/arch/arm/mach-iop13xx/iq81340mc.c
+++ b/arch/arm/mach-iop13xx/iq81340mc.c
@@ -54,7 +54,6 @@ iq81340mc_pcix_map_irq(const struct pci_dev *dev, u8 idsel, u8 pin)
54} 54}
55 55
56static struct hw_pci iq81340mc_pci __initdata = { 56static struct hw_pci iq81340mc_pci __initdata = {
57 .swizzle = pci_std_swizzle,
58 .nr_controllers = 0, 57 .nr_controllers = 0,
59 .setup = iop13xx_pci_setup, 58 .setup = iop13xx_pci_setup,
60 .map_irq = iq81340mc_pcix_map_irq, 59 .map_irq = iq81340mc_pcix_map_irq,
diff --git a/arch/arm/mach-iop13xx/iq81340sc.c b/arch/arm/mach-iop13xx/iq81340sc.c
index aa4dd750135..060cddde2fd 100644
--- a/arch/arm/mach-iop13xx/iq81340sc.c
+++ b/arch/arm/mach-iop13xx/iq81340sc.c
@@ -56,7 +56,6 @@ iq81340sc_atux_map_irq(struct pci_dev *dev, u8 idsel, u8 pin)
56} 56}
57 57
58static struct hw_pci iq81340sc_pci __initdata = { 58static struct hw_pci iq81340sc_pci __initdata = {
59 .swizzle = pci_std_swizzle,
60 .nr_controllers = 0, 59 .nr_controllers = 0,
61 .setup = iop13xx_pci_setup, 60 .setup = iop13xx_pci_setup,
62 .scan = iop13xx_scan_bus, 61 .scan = iop13xx_scan_bus,
diff --git a/arch/arm/mach-iop32x/em7210.c b/arch/arm/mach-iop32x/em7210.c
index 24069e03fdc..4915013b3e4 100644
--- a/arch/arm/mach-iop32x/em7210.c
+++ b/arch/arm/mach-iop32x/em7210.c
@@ -103,7 +103,6 @@ em7210_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
103} 103}
104 104
105static struct hw_pci em7210_pci __initdata = { 105static struct hw_pci em7210_pci __initdata = {
106 .swizzle = pci_std_swizzle,
107 .nr_controllers = 1, 106 .nr_controllers = 1,
108 .setup = iop3xx_pci_setup, 107 .setup = iop3xx_pci_setup,
109 .preinit = iop3xx_pci_preinit, 108 .preinit = iop3xx_pci_preinit,
diff --git a/arch/arm/mach-iop32x/glantank.c b/arch/arm/mach-iop32x/glantank.c
index 204e1d1cd76..456a414c892 100644
--- a/arch/arm/mach-iop32x/glantank.c
+++ b/arch/arm/mach-iop32x/glantank.c
@@ -96,7 +96,6 @@ glantank_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
96} 96}
97 97
98static struct hw_pci glantank_pci __initdata = { 98static struct hw_pci glantank_pci __initdata = {
99 .swizzle = pci_std_swizzle,
100 .nr_controllers = 1, 99 .nr_controllers = 1,
101 .setup = iop3xx_pci_setup, 100 .setup = iop3xx_pci_setup,
102 .preinit = iop3xx_pci_preinit, 101 .preinit = iop3xx_pci_preinit,
diff --git a/arch/arm/mach-iop32x/iq31244.c b/arch/arm/mach-iop32x/iq31244.c
index 3eb642af1cd..b795e6b24fb 100644
--- a/arch/arm/mach-iop32x/iq31244.c
+++ b/arch/arm/mach-iop32x/iq31244.c
@@ -130,7 +130,6 @@ ep80219_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
130} 130}
131 131
132static struct hw_pci ep80219_pci __initdata = { 132static struct hw_pci ep80219_pci __initdata = {
133 .swizzle = pci_std_swizzle,
134 .nr_controllers = 1, 133 .nr_controllers = 1,
135 .setup = iop3xx_pci_setup, 134 .setup = iop3xx_pci_setup,
136 .preinit = iop3xx_pci_preinit, 135 .preinit = iop3xx_pci_preinit,
@@ -166,7 +165,6 @@ iq31244_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
166} 165}
167 166
168static struct hw_pci iq31244_pci __initdata = { 167static struct hw_pci iq31244_pci __initdata = {
169 .swizzle = pci_std_swizzle,
170 .nr_controllers = 1, 168 .nr_controllers = 1,
171 .setup = iop3xx_pci_setup, 169 .setup = iop3xx_pci_setup,
172 .preinit = iop3xx_pci_preinit, 170 .preinit = iop3xx_pci_preinit,
diff --git a/arch/arm/mach-iop32x/iq80321.c b/arch/arm/mach-iop32x/iq80321.c
index 2ec724b58a2..ac6d9625b21 100644
--- a/arch/arm/mach-iop32x/iq80321.c
+++ b/arch/arm/mach-iop32x/iq80321.c
@@ -101,7 +101,6 @@ iq80321_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
101} 101}
102 102
103static struct hw_pci iq80321_pci __initdata = { 103static struct hw_pci iq80321_pci __initdata = {
104 .swizzle = pci_std_swizzle,
105 .nr_controllers = 1, 104 .nr_controllers = 1,
106 .setup = iop3xx_pci_setup, 105 .setup = iop3xx_pci_setup,
107 .preinit = iop3xx_pci_preinit_cond, 106 .preinit = iop3xx_pci_preinit_cond,
diff --git a/arch/arm/mach-iop32x/n2100.c b/arch/arm/mach-iop32x/n2100.c
index 6b6d5591244..adf257a18f1 100644
--- a/arch/arm/mach-iop32x/n2100.c
+++ b/arch/arm/mach-iop32x/n2100.c
@@ -114,7 +114,6 @@ n2100_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
114} 114}
115 115
116static struct hw_pci n2100_pci __initdata = { 116static struct hw_pci n2100_pci __initdata = {
117 .swizzle = pci_std_swizzle,
118 .nr_controllers = 1, 117 .nr_controllers = 1,
119 .setup = iop3xx_pci_setup, 118 .setup = iop3xx_pci_setup,
120 .preinit = iop3xx_pci_preinit, 119 .preinit = iop3xx_pci_preinit,
diff --git a/arch/arm/mach-iop33x/iq80331.c b/arch/arm/mach-iop33x/iq80331.c
index abce934f381..3298a8af912 100644
--- a/arch/arm/mach-iop33x/iq80331.c
+++ b/arch/arm/mach-iop33x/iq80331.c
@@ -84,7 +84,6 @@ iq80331_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
84} 84}
85 85
86static struct hw_pci iq80331_pci __initdata = { 86static struct hw_pci iq80331_pci __initdata = {
87 .swizzle = pci_std_swizzle,
88 .nr_controllers = 1, 87 .nr_controllers = 1,
89 .setup = iop3xx_pci_setup, 88 .setup = iop3xx_pci_setup,
90 .preinit = iop3xx_pci_preinit_cond, 89 .preinit = iop3xx_pci_preinit_cond,
diff --git a/arch/arm/mach-iop33x/iq80332.c b/arch/arm/mach-iop33x/iq80332.c
index 7513559e25b..87b0e9dd74a 100644
--- a/arch/arm/mach-iop33x/iq80332.c
+++ b/arch/arm/mach-iop33x/iq80332.c
@@ -84,7 +84,6 @@ iq80332_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
84} 84}
85 85
86static struct hw_pci iq80332_pci __initdata = { 86static struct hw_pci iq80332_pci __initdata = {
87 .swizzle = pci_std_swizzle,
88 .nr_controllers = 1, 87 .nr_controllers = 1,
89 .setup = iop3xx_pci_setup, 88 .setup = iop3xx_pci_setup,
90 .preinit = iop3xx_pci_preinit_cond, 89 .preinit = iop3xx_pci_preinit_cond,
diff --git a/arch/arm/mach-ixp4xx/avila-pci.c b/arch/arm/mach-ixp4xx/avila-pci.c
index 8fea0a3c524..89d1f35fff0 100644
--- a/arch/arm/mach-ixp4xx/avila-pci.c
+++ b/arch/arm/mach-ixp4xx/avila-pci.c
@@ -66,7 +66,6 @@ static int __init avila_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
66struct hw_pci avila_pci __initdata = { 66struct hw_pci avila_pci __initdata = {
67 .nr_controllers = 1, 67 .nr_controllers = 1,
68 .preinit = avila_pci_preinit, 68 .preinit = avila_pci_preinit,
69 .swizzle = pci_std_swizzle,
70 .setup = ixp4xx_setup, 69 .setup = ixp4xx_setup,
71 .scan = ixp4xx_scan_bus, 70 .scan = ixp4xx_scan_bus,
72 .map_irq = avila_map_irq, 71 .map_irq = avila_map_irq,
diff --git a/arch/arm/mach-ixp4xx/coyote-pci.c b/arch/arm/mach-ixp4xx/coyote-pci.c
index 71f5c9c60fc..d876a4f13ea 100644
--- a/arch/arm/mach-ixp4xx/coyote-pci.c
+++ b/arch/arm/mach-ixp4xx/coyote-pci.c
@@ -49,7 +49,6 @@ static int __init coyote_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
49struct hw_pci coyote_pci __initdata = { 49struct hw_pci coyote_pci __initdata = {
50 .nr_controllers = 1, 50 .nr_controllers = 1,
51 .preinit = coyote_pci_preinit, 51 .preinit = coyote_pci_preinit,
52 .swizzle = pci_std_swizzle,
53 .setup = ixp4xx_setup, 52 .setup = ixp4xx_setup,
54 .scan = ixp4xx_scan_bus, 53 .scan = ixp4xx_scan_bus,
55 .map_irq = coyote_map_irq, 54 .map_irq = coyote_map_irq,
diff --git a/arch/arm/mach-ixp4xx/dsmg600-pci.c b/arch/arm/mach-ixp4xx/dsmg600-pci.c
index 0532510b5e8..66485979337 100644
--- a/arch/arm/mach-ixp4xx/dsmg600-pci.c
+++ b/arch/arm/mach-ixp4xx/dsmg600-pci.c
@@ -63,7 +63,6 @@ static int __init dsmg600_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
63struct hw_pci __initdata dsmg600_pci = { 63struct hw_pci __initdata dsmg600_pci = {
64 .nr_controllers = 1, 64 .nr_controllers = 1,
65 .preinit = dsmg600_pci_preinit, 65 .preinit = dsmg600_pci_preinit,
66 .swizzle = pci_std_swizzle,
67 .setup = ixp4xx_setup, 66 .setup = ixp4xx_setup,
68 .scan = ixp4xx_scan_bus, 67 .scan = ixp4xx_scan_bus,
69 .map_irq = dsmg600_map_irq, 68 .map_irq = dsmg600_map_irq,
diff --git a/arch/arm/mach-ixp4xx/fsg-pci.c b/arch/arm/mach-ixp4xx/fsg-pci.c
index d2ac803328f..528e4af678c 100644
--- a/arch/arm/mach-ixp4xx/fsg-pci.c
+++ b/arch/arm/mach-ixp4xx/fsg-pci.c
@@ -60,7 +60,6 @@ static int __init fsg_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
60struct hw_pci fsg_pci __initdata = { 60struct hw_pci fsg_pci __initdata = {
61 .nr_controllers = 1, 61 .nr_controllers = 1,
62 .preinit = fsg_pci_preinit, 62 .preinit = fsg_pci_preinit,
63 .swizzle = pci_std_swizzle,
64 .setup = ixp4xx_setup, 63 .setup = ixp4xx_setup,
65 .scan = ixp4xx_scan_bus, 64 .scan = ixp4xx_scan_bus,
66 .map_irq = fsg_map_irq, 65 .map_irq = fsg_map_irq,
diff --git a/arch/arm/mach-ixp4xx/gateway7001-pci.c b/arch/arm/mach-ixp4xx/gateway7001-pci.c
index 76581fb467c..1d1134b3475 100644
--- a/arch/arm/mach-ixp4xx/gateway7001-pci.c
+++ b/arch/arm/mach-ixp4xx/gateway7001-pci.c
@@ -48,7 +48,6 @@ static int __init gateway7001_map_irq(const struct pci_dev *dev, u8 slot,
48struct hw_pci gateway7001_pci __initdata = { 48struct hw_pci gateway7001_pci __initdata = {
49 .nr_controllers = 1, 49 .nr_controllers = 1,
50 .preinit = gateway7001_pci_preinit, 50 .preinit = gateway7001_pci_preinit,
51 .swizzle = pci_std_swizzle,
52 .setup = ixp4xx_setup, 51 .setup = ixp4xx_setup,
53 .scan = ixp4xx_scan_bus, 52 .scan = ixp4xx_scan_bus,
54 .map_irq = gateway7001_map_irq, 53 .map_irq = gateway7001_map_irq,
diff --git a/arch/arm/mach-ixp4xx/goramo_mlr.c b/arch/arm/mach-ixp4xx/goramo_mlr.c
index 46bb924962e..c97a1a82e0f 100644
--- a/arch/arm/mach-ixp4xx/goramo_mlr.c
+++ b/arch/arm/mach-ixp4xx/goramo_mlr.c
@@ -475,7 +475,6 @@ static struct hw_pci gmlr_hw_pci __initdata = {
475 .nr_controllers = 1, 475 .nr_controllers = 1,
476 .preinit = gmlr_pci_preinit, 476 .preinit = gmlr_pci_preinit,
477 .postinit = gmlr_pci_postinit, 477 .postinit = gmlr_pci_postinit,
478 .swizzle = pci_std_swizzle,
479 .setup = ixp4xx_setup, 478 .setup = ixp4xx_setup,
480 .scan = ixp4xx_scan_bus, 479 .scan = ixp4xx_scan_bus,
481 .map_irq = gmlr_map_irq, 480 .map_irq = gmlr_map_irq,
diff --git a/arch/arm/mach-ixp4xx/gtwx5715-pci.c b/arch/arm/mach-ixp4xx/gtwx5715-pci.c
index d68fc068c38..4bd8770fee8 100644
--- a/arch/arm/mach-ixp4xx/gtwx5715-pci.c
+++ b/arch/arm/mach-ixp4xx/gtwx5715-pci.c
@@ -68,7 +68,6 @@ static int __init gtwx5715_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
68struct hw_pci gtwx5715_pci __initdata = { 68struct hw_pci gtwx5715_pci __initdata = {
69 .nr_controllers = 1, 69 .nr_controllers = 1,
70 .preinit = gtwx5715_pci_preinit, 70 .preinit = gtwx5715_pci_preinit,
71 .swizzle = pci_std_swizzle,
72 .setup = ixp4xx_setup, 71 .setup = ixp4xx_setup,
73 .scan = ixp4xx_scan_bus, 72 .scan = ixp4xx_scan_bus,
74 .map_irq = gtwx5715_map_irq, 73 .map_irq = gtwx5715_map_irq,
diff --git a/arch/arm/mach-ixp4xx/ixdp425-pci.c b/arch/arm/mach-ixp4xx/ixdp425-pci.c
index fffd8c5e40b..3e1a229aee0 100644
--- a/arch/arm/mach-ixp4xx/ixdp425-pci.c
+++ b/arch/arm/mach-ixp4xx/ixdp425-pci.c
@@ -61,7 +61,6 @@ static int __init ixdp425_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
61struct hw_pci ixdp425_pci __initdata = { 61struct hw_pci ixdp425_pci __initdata = {
62 .nr_controllers = 1, 62 .nr_controllers = 1,
63 .preinit = ixdp425_pci_preinit, 63 .preinit = ixdp425_pci_preinit,
64 .swizzle = pci_std_swizzle,
65 .setup = ixp4xx_setup, 64 .setup = ixp4xx_setup,
66 .scan = ixp4xx_scan_bus, 65 .scan = ixp4xx_scan_bus,
67 .map_irq = ixdp425_map_irq, 66 .map_irq = ixdp425_map_irq,
diff --git a/arch/arm/mach-ixp4xx/ixdpg425-pci.c b/arch/arm/mach-ixp4xx/ixdpg425-pci.c
index 34efe75015e..5c70e9235ce 100644
--- a/arch/arm/mach-ixp4xx/ixdpg425-pci.c
+++ b/arch/arm/mach-ixp4xx/ixdpg425-pci.c
@@ -43,7 +43,6 @@ static int __init ixdpg425_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
43struct hw_pci ixdpg425_pci __initdata = { 43struct hw_pci ixdpg425_pci __initdata = {
44 .nr_controllers = 1, 44 .nr_controllers = 1,
45 .preinit = ixdpg425_pci_preinit, 45 .preinit = ixdpg425_pci_preinit,
46 .swizzle = pci_std_swizzle,
47 .setup = ixp4xx_setup, 46 .setup = ixp4xx_setup,
48 .scan = ixp4xx_scan_bus, 47 .scan = ixp4xx_scan_bus,
49 .map_irq = ixdpg425_map_irq, 48 .map_irq = ixdpg425_map_irq,
diff --git a/arch/arm/mach-ixp4xx/miccpt-pci.c b/arch/arm/mach-ixp4xx/miccpt-pci.c
index ca0bae7fca9..8d4ba71518d 100644
--- a/arch/arm/mach-ixp4xx/miccpt-pci.c
+++ b/arch/arm/mach-ixp4xx/miccpt-pci.c
@@ -62,7 +62,6 @@ static int __init miccpt_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
62struct hw_pci miccpt_pci __initdata = { 62struct hw_pci miccpt_pci __initdata = {
63 .nr_controllers = 1, 63 .nr_controllers = 1,
64 .preinit = miccpt_pci_preinit, 64 .preinit = miccpt_pci_preinit,
65 .swizzle = pci_std_swizzle,
66 .setup = ixp4xx_setup, 65 .setup = ixp4xx_setup,
67 .scan = ixp4xx_scan_bus, 66 .scan = ixp4xx_scan_bus,
68 .map_irq = miccpt_map_irq, 67 .map_irq = miccpt_map_irq,
diff --git a/arch/arm/mach-ixp4xx/nas100d-pci.c b/arch/arm/mach-ixp4xx/nas100d-pci.c
index 5434ccf553e..ba1ad203f30 100644
--- a/arch/arm/mach-ixp4xx/nas100d-pci.c
+++ b/arch/arm/mach-ixp4xx/nas100d-pci.c
@@ -59,7 +59,6 @@ static int __init nas100d_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
59struct hw_pci __initdata nas100d_pci = { 59struct hw_pci __initdata nas100d_pci = {
60 .nr_controllers = 1, 60 .nr_controllers = 1,
61 .preinit = nas100d_pci_preinit, 61 .preinit = nas100d_pci_preinit,
62 .swizzle = pci_std_swizzle,
63 .setup = ixp4xx_setup, 62 .setup = ixp4xx_setup,
64 .scan = ixp4xx_scan_bus, 63 .scan = ixp4xx_scan_bus,
65 .map_irq = nas100d_map_irq, 64 .map_irq = nas100d_map_irq,
diff --git a/arch/arm/mach-ixp4xx/nslu2-pci.c b/arch/arm/mach-ixp4xx/nslu2-pci.c
index b57160535e4..ffc060f2fae 100644
--- a/arch/arm/mach-ixp4xx/nslu2-pci.c
+++ b/arch/arm/mach-ixp4xx/nslu2-pci.c
@@ -55,7 +55,6 @@ static int __init nslu2_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
55struct hw_pci __initdata nslu2_pci = { 55struct hw_pci __initdata nslu2_pci = {
56 .nr_controllers = 1, 56 .nr_controllers = 1,
57 .preinit = nslu2_pci_preinit, 57 .preinit = nslu2_pci_preinit,
58 .swizzle = pci_std_swizzle,
59 .setup = ixp4xx_setup, 58 .setup = ixp4xx_setup,
60 .scan = ixp4xx_scan_bus, 59 .scan = ixp4xx_scan_bus,
61 .map_irq = nslu2_map_irq, 60 .map_irq = nslu2_map_irq,
diff --git a/arch/arm/mach-ixp4xx/vulcan-pci.c b/arch/arm/mach-ixp4xx/vulcan-pci.c
index 0bc3f34c282..b9b1c42b7ef 100644
--- a/arch/arm/mach-ixp4xx/vulcan-pci.c
+++ b/arch/arm/mach-ixp4xx/vulcan-pci.c
@@ -57,7 +57,6 @@ static int __init vulcan_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
57struct hw_pci vulcan_pci __initdata = { 57struct hw_pci vulcan_pci __initdata = {
58 .nr_controllers = 1, 58 .nr_controllers = 1,
59 .preinit = vulcan_pci_preinit, 59 .preinit = vulcan_pci_preinit,
60 .swizzle = pci_std_swizzle,
61 .setup = ixp4xx_setup, 60 .setup = ixp4xx_setup,
62 .scan = ixp4xx_scan_bus, 61 .scan = ixp4xx_scan_bus,
63 .map_irq = vulcan_map_irq, 62 .map_irq = vulcan_map_irq,
diff --git a/arch/arm/mach-ixp4xx/wg302v2-pci.c b/arch/arm/mach-ixp4xx/wg302v2-pci.c
index f27dfcfe811..f39a242746b 100644
--- a/arch/arm/mach-ixp4xx/wg302v2-pci.c
+++ b/arch/arm/mach-ixp4xx/wg302v2-pci.c
@@ -47,7 +47,6 @@ static int __init wg302v2_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
47struct hw_pci wg302v2_pci __initdata = { 47struct hw_pci wg302v2_pci __initdata = {
48 .nr_controllers = 1, 48 .nr_controllers = 1,
49 .preinit = wg302v2_pci_preinit, 49 .preinit = wg302v2_pci_preinit,
50 .swizzle = pci_std_swizzle,
51 .setup = ixp4xx_setup, 50 .setup = ixp4xx_setup,
52 .scan = ixp4xx_scan_bus, 51 .scan = ixp4xx_scan_bus,
53 .map_irq = wg302v2_map_irq, 52 .map_irq = wg302v2_map_irq,
diff --git a/arch/arm/mach-kirkwood/pcie.c b/arch/arm/mach-kirkwood/pcie.c
index f56a0118c1b..b1034b02867 100644
--- a/arch/arm/mach-kirkwood/pcie.c
+++ b/arch/arm/mach-kirkwood/pcie.c
@@ -254,7 +254,6 @@ static int __init kirkwood_pcie_map_irq(const struct pci_dev *dev, u8 slot,
254} 254}
255 255
256static struct hw_pci kirkwood_pci __initdata = { 256static struct hw_pci kirkwood_pci __initdata = {
257 .swizzle = pci_std_swizzle,
258 .setup = kirkwood_pcie_setup, 257 .setup = kirkwood_pcie_setup,
259 .scan = kirkwood_pcie_scan_bus, 258 .scan = kirkwood_pcie_scan_bus,
260 .map_irq = kirkwood_pcie_map_irq, 259 .map_irq = kirkwood_pcie_map_irq,
diff --git a/arch/arm/mach-ks8695/pci.c b/arch/arm/mach-ks8695/pci.c
index acc70143581..f2235e80171 100644
--- a/arch/arm/mach-ks8695/pci.c
+++ b/arch/arm/mach-ks8695/pci.c
@@ -306,7 +306,6 @@ static struct hw_pci ks8695_pci __initdata = {
306 .setup = ks8695_pci_setup, 306 .setup = ks8695_pci_setup,
307 .scan = ks8695_pci_scan_bus, 307 .scan = ks8695_pci_scan_bus,
308 .postinit = NULL, 308 .postinit = NULL,
309 .swizzle = pci_std_swizzle,
310 .map_irq = NULL, 309 .map_irq = NULL,
311}; 310};
312 311
diff --git a/arch/arm/mach-mv78xx0/pcie.c b/arch/arm/mach-mv78xx0/pcie.c
index df3e38055a2..53f2fb5607f 100644
--- a/arch/arm/mach-mv78xx0/pcie.c
+++ b/arch/arm/mach-mv78xx0/pcie.c
@@ -271,7 +271,6 @@ static int __init mv78xx0_pcie_map_irq(const struct pci_dev *dev, u8 slot,
271static struct hw_pci mv78xx0_pci __initdata = { 271static struct hw_pci mv78xx0_pci __initdata = {
272 .nr_controllers = 8, 272 .nr_controllers = 8,
273 .preinit = mv78xx0_pcie_preinit, 273 .preinit = mv78xx0_pcie_preinit,
274 .swizzle = pci_std_swizzle,
275 .setup = mv78xx0_pcie_setup, 274 .setup = mv78xx0_pcie_setup,
276 .scan = mv78xx0_pcie_scan_bus, 275 .scan = mv78xx0_pcie_scan_bus,
277 .map_irq = mv78xx0_pcie_map_irq, 276 .map_irq = mv78xx0_pcie_map_irq,
diff --git a/arch/arm/mach-orion5x/db88f5281-setup.c b/arch/arm/mach-orion5x/db88f5281-setup.c
index e52108c9aae..49a3fd63031 100644
--- a/arch/arm/mach-orion5x/db88f5281-setup.c
+++ b/arch/arm/mach-orion5x/db88f5281-setup.c
@@ -265,7 +265,6 @@ static int __init db88f5281_pci_map_irq(const struct pci_dev *dev, u8 slot,
265static struct hw_pci db88f5281_pci __initdata = { 265static struct hw_pci db88f5281_pci __initdata = {
266 .nr_controllers = 2, 266 .nr_controllers = 2,
267 .preinit = db88f5281_pci_preinit, 267 .preinit = db88f5281_pci_preinit,
268 .swizzle = pci_std_swizzle,
269 .setup = orion5x_pci_sys_setup, 268 .setup = orion5x_pci_sys_setup,
270 .scan = orion5x_pci_sys_scan_bus, 269 .scan = orion5x_pci_sys_scan_bus,
271 .map_irq = db88f5281_pci_map_irq, 270 .map_irq = db88f5281_pci_map_irq,
diff --git a/arch/arm/mach-orion5x/dns323-setup.c b/arch/arm/mach-orion5x/dns323-setup.c
index c3ed15b8ea2..8c06ccac44c 100644
--- a/arch/arm/mach-orion5x/dns323-setup.c
+++ b/arch/arm/mach-orion5x/dns323-setup.c
@@ -86,7 +86,6 @@ static int __init dns323_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
86 86
87static struct hw_pci dns323_pci __initdata = { 87static struct hw_pci dns323_pci __initdata = {
88 .nr_controllers = 2, 88 .nr_controllers = 2,
89 .swizzle = pci_std_swizzle,
90 .setup = orion5x_pci_sys_setup, 89 .setup = orion5x_pci_sys_setup,
91 .scan = orion5x_pci_sys_scan_bus, 90 .scan = orion5x_pci_sys_scan_bus,
92 .map_irq = dns323_pci_map_irq, 91 .map_irq = dns323_pci_map_irq,
diff --git a/arch/arm/mach-orion5x/kurobox_pro-setup.c b/arch/arm/mach-orion5x/kurobox_pro-setup.c
index 47587b83284..1e458efafb9 100644
--- a/arch/arm/mach-orion5x/kurobox_pro-setup.c
+++ b/arch/arm/mach-orion5x/kurobox_pro-setup.c
@@ -138,7 +138,6 @@ static int __init kurobox_pro_pci_map_irq(const struct pci_dev *dev, u8 slot,
138 138
139static struct hw_pci kurobox_pro_pci __initdata = { 139static struct hw_pci kurobox_pro_pci __initdata = {
140 .nr_controllers = 2, 140 .nr_controllers = 2,
141 .swizzle = pci_std_swizzle,
142 .setup = orion5x_pci_sys_setup, 141 .setup = orion5x_pci_sys_setup,
143 .scan = orion5x_pci_sys_scan_bus, 142 .scan = orion5x_pci_sys_scan_bus,
144 .map_irq = kurobox_pro_pci_map_irq, 143 .map_irq = kurobox_pro_pci_map_irq,
diff --git a/arch/arm/mach-orion5x/mss2-setup.c b/arch/arm/mach-orion5x/mss2-setup.c
index 65faaa34de6..1c16d045333 100644
--- a/arch/arm/mach-orion5x/mss2-setup.c
+++ b/arch/arm/mach-orion5x/mss2-setup.c
@@ -89,7 +89,6 @@ static int __init mss2_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
89 89
90static struct hw_pci mss2_pci __initdata = { 90static struct hw_pci mss2_pci __initdata = {
91 .nr_controllers = 2, 91 .nr_controllers = 2,
92 .swizzle = pci_std_swizzle,
93 .setup = orion5x_pci_sys_setup, 92 .setup = orion5x_pci_sys_setup,
94 .scan = orion5x_pci_sys_scan_bus, 93 .scan = orion5x_pci_sys_scan_bus,
95 .map_irq = mss2_pci_map_irq, 94 .map_irq = mss2_pci_map_irq,
diff --git a/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c b/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c
index 292038fc59f..78a6a11d821 100644
--- a/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c
+++ b/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c
@@ -149,7 +149,6 @@ rd88f5181l_fxo_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
149 149
150static struct hw_pci rd88f5181l_fxo_pci __initdata = { 150static struct hw_pci rd88f5181l_fxo_pci __initdata = {
151 .nr_controllers = 2, 151 .nr_controllers = 2,
152 .swizzle = pci_std_swizzle,
153 .setup = orion5x_pci_sys_setup, 152 .setup = orion5x_pci_sys_setup,
154 .scan = orion5x_pci_sys_scan_bus, 153 .scan = orion5x_pci_sys_scan_bus,
155 .map_irq = rd88f5181l_fxo_pci_map_irq, 154 .map_irq = rd88f5181l_fxo_pci_map_irq,
diff --git a/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c b/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c
index c44eabaabc1..2f5dc54cd4c 100644
--- a/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c
+++ b/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c
@@ -161,7 +161,6 @@ rd88f5181l_ge_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
161 161
162static struct hw_pci rd88f5181l_ge_pci __initdata = { 162static struct hw_pci rd88f5181l_ge_pci __initdata = {
163 .nr_controllers = 2, 163 .nr_controllers = 2,
164 .swizzle = pci_std_swizzle,
165 .setup = orion5x_pci_sys_setup, 164 .setup = orion5x_pci_sys_setup,
166 .scan = orion5x_pci_sys_scan_bus, 165 .scan = orion5x_pci_sys_scan_bus,
167 .map_irq = rd88f5181l_ge_pci_map_irq, 166 .map_irq = rd88f5181l_ge_pci_map_irq,
diff --git a/arch/arm/mach-orion5x/rd88f5182-setup.c b/arch/arm/mach-orion5x/rd88f5182-setup.c
index e3ce6171147..399130fac0b 100644
--- a/arch/arm/mach-orion5x/rd88f5182-setup.c
+++ b/arch/arm/mach-orion5x/rd88f5182-setup.c
@@ -200,7 +200,6 @@ static int __init rd88f5182_pci_map_irq(const struct pci_dev *dev, u8 slot,
200static struct hw_pci rd88f5182_pci __initdata = { 200static struct hw_pci rd88f5182_pci __initdata = {
201 .nr_controllers = 2, 201 .nr_controllers = 2,
202 .preinit = rd88f5182_pci_preinit, 202 .preinit = rd88f5182_pci_preinit,
203 .swizzle = pci_std_swizzle,
204 .setup = orion5x_pci_sys_setup, 203 .setup = orion5x_pci_sys_setup,
205 .scan = orion5x_pci_sys_scan_bus, 204 .scan = orion5x_pci_sys_scan_bus,
206 .map_irq = rd88f5182_pci_map_irq, 205 .map_irq = rd88f5182_pci_map_irq,
diff --git a/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c b/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c
index 2c5fab00d20..e91bf0ba4e8 100644
--- a/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c
+++ b/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c
@@ -102,7 +102,6 @@ static void __init rd88f6183ap_ge_init(void)
102 102
103static struct hw_pci rd88f6183ap_ge_pci __initdata = { 103static struct hw_pci rd88f6183ap_ge_pci __initdata = {
104 .nr_controllers = 2, 104 .nr_controllers = 2,
105 .swizzle = pci_std_swizzle,
106 .setup = orion5x_pci_sys_setup, 105 .setup = orion5x_pci_sys_setup,
107 .scan = orion5x_pci_sys_scan_bus, 106 .scan = orion5x_pci_sys_scan_bus,
108 .map_irq = orion5x_pci_map_irq, 107 .map_irq = orion5x_pci_map_irq,
diff --git a/arch/arm/mach-orion5x/terastation_pro2-setup.c b/arch/arm/mach-orion5x/terastation_pro2-setup.c
index 632a861ef82..90e571dc4de 100644
--- a/arch/arm/mach-orion5x/terastation_pro2-setup.c
+++ b/arch/arm/mach-orion5x/terastation_pro2-setup.c
@@ -122,7 +122,6 @@ static int __init tsp2_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
122static struct hw_pci tsp2_pci __initdata = { 122static struct hw_pci tsp2_pci __initdata = {
123 .nr_controllers = 2, 123 .nr_controllers = 2,
124 .preinit = tsp2_pci_preinit, 124 .preinit = tsp2_pci_preinit,
125 .swizzle = pci_std_swizzle,
126 .setup = orion5x_pci_sys_setup, 125 .setup = orion5x_pci_sys_setup,
127 .scan = orion5x_pci_sys_scan_bus, 126 .scan = orion5x_pci_sys_scan_bus,
128 .map_irq = tsp2_pci_map_irq, 127 .map_irq = tsp2_pci_map_irq,
diff --git a/arch/arm/mach-orion5x/ts209-setup.c b/arch/arm/mach-orion5x/ts209-setup.c
index 5d640874558..b184f680e0d 100644
--- a/arch/arm/mach-orion5x/ts209-setup.c
+++ b/arch/arm/mach-orion5x/ts209-setup.c
@@ -170,7 +170,6 @@ static int __init qnap_ts209_pci_map_irq(const struct pci_dev *dev, u8 slot,
170static struct hw_pci qnap_ts209_pci __initdata = { 170static struct hw_pci qnap_ts209_pci __initdata = {
171 .nr_controllers = 2, 171 .nr_controllers = 2,
172 .preinit = qnap_ts209_pci_preinit, 172 .preinit = qnap_ts209_pci_preinit,
173 .swizzle = pci_std_swizzle,
174 .setup = orion5x_pci_sys_setup, 173 .setup = orion5x_pci_sys_setup,
175 .scan = orion5x_pci_sys_scan_bus, 174 .scan = orion5x_pci_sys_scan_bus,
176 .map_irq = qnap_ts209_pci_map_irq, 175 .map_irq = qnap_ts209_pci_map_irq,
diff --git a/arch/arm/mach-orion5x/ts409-setup.c b/arch/arm/mach-orion5x/ts409-setup.c
index 4e6ff759cd3..a5c2e64c4ec 100644
--- a/arch/arm/mach-orion5x/ts409-setup.c
+++ b/arch/arm/mach-orion5x/ts409-setup.c
@@ -140,7 +140,6 @@ static int __init qnap_ts409_pci_map_irq(const struct pci_dev *dev, u8 slot,
140 140
141static struct hw_pci qnap_ts409_pci __initdata = { 141static struct hw_pci qnap_ts409_pci __initdata = {
142 .nr_controllers = 2, 142 .nr_controllers = 2,
143 .swizzle = pci_std_swizzle,
144 .setup = orion5x_pci_sys_setup, 143 .setup = orion5x_pci_sys_setup,
145 .scan = orion5x_pci_sys_scan_bus, 144 .scan = orion5x_pci_sys_scan_bus,
146 .map_irq = qnap_ts409_pci_map_irq, 145 .map_irq = qnap_ts409_pci_map_irq,
diff --git a/arch/arm/mach-orion5x/wnr854t-setup.c b/arch/arm/mach-orion5x/wnr854t-setup.c
index 078c03f7cd5..754c12b6abf 100644
--- a/arch/arm/mach-orion5x/wnr854t-setup.c
+++ b/arch/arm/mach-orion5x/wnr854t-setup.c
@@ -155,7 +155,6 @@ static int __init wnr854t_pci_map_irq(const struct pci_dev *dev, u8 slot,
155 155
156static struct hw_pci wnr854t_pci __initdata = { 156static struct hw_pci wnr854t_pci __initdata = {
157 .nr_controllers = 2, 157 .nr_controllers = 2,
158 .swizzle = pci_std_swizzle,
159 .setup = orion5x_pci_sys_setup, 158 .setup = orion5x_pci_sys_setup,
160 .scan = orion5x_pci_sys_scan_bus, 159 .scan = orion5x_pci_sys_scan_bus,
161 .map_irq = wnr854t_pci_map_irq, 160 .map_irq = wnr854t_pci_map_irq,
diff --git a/arch/arm/mach-orion5x/wrt350n-v2-setup.c b/arch/arm/mach-orion5x/wrt350n-v2-setup.c
index 46a9778171c..45c21251eb1 100644
--- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c
+++ b/arch/arm/mach-orion5x/wrt350n-v2-setup.c
@@ -243,7 +243,6 @@ static int __init wrt350n_v2_pci_map_irq(const struct pci_dev *dev, u8 slot,
243 243
244static struct hw_pci wrt350n_v2_pci __initdata = { 244static struct hw_pci wrt350n_v2_pci __initdata = {
245 .nr_controllers = 2, 245 .nr_controllers = 2,
246 .swizzle = pci_std_swizzle,
247 .setup = orion5x_pci_sys_setup, 246 .setup = orion5x_pci_sys_setup,
248 .scan = orion5x_pci_sys_scan_bus, 247 .scan = orion5x_pci_sys_scan_bus,
249 .map_irq = wrt350n_v2_pci_map_irq, 248 .map_irq = wrt350n_v2_pci_map_irq,
diff --git a/arch/arm/mach-pxa/cm-x2xx-pci.c b/arch/arm/mach-pxa/cm-x2xx-pci.c
index ebd9259f5ac..f83f04a1a46 100644
--- a/arch/arm/mach-pxa/cm-x2xx-pci.c
+++ b/arch/arm/mach-pxa/cm-x2xx-pci.c
@@ -181,7 +181,6 @@ static void cmx2xx_pci_preinit(void)
181} 181}
182 182
183static struct hw_pci cmx2xx_pci __initdata = { 183static struct hw_pci cmx2xx_pci __initdata = {
184 .swizzle = pci_std_swizzle,
185 .map_irq = cmx2xx_pci_map_irq, 184 .map_irq = cmx2xx_pci_map_irq,
186 .nr_controllers = 1, 185 .nr_controllers = 1,
187 .setup = it8152_pci_setup, 186 .setup = it8152_pci_setup,
diff --git a/arch/arm/mach-shark/pci.c b/arch/arm/mach-shark/pci.c
index 7cb79a092f3..f7fa9374e00 100644
--- a/arch/arm/mach-shark/pci.c
+++ b/arch/arm/mach-shark/pci.c
@@ -29,7 +29,6 @@ extern void __init via82c505_preinit(void);
29 29
30static struct hw_pci shark_pci __initdata = { 30static struct hw_pci shark_pci __initdata = {
31 .setup = via82c505_setup, 31 .setup = via82c505_setup,
32 .swizzle = pci_std_swizzle,
33 .map_irq = shark_map_irq, 32 .map_irq = shark_map_irq,
34 .nr_controllers = 1, 33 .nr_controllers = 1,
35 .scan = via82c505_scan_bus, 34 .scan = via82c505_scan_bus,
diff --git a/arch/arm/mach-tegra/pcie.c b/arch/arm/mach-tegra/pcie.c
index 54a816ff384..0e09137506e 100644
--- a/arch/arm/mach-tegra/pcie.c
+++ b/arch/arm/mach-tegra/pcie.c
@@ -475,7 +475,6 @@ static struct hw_pci tegra_pcie_hw __initdata = {
475 .nr_controllers = 2, 475 .nr_controllers = 2,
476 .setup = tegra_pcie_setup, 476 .setup = tegra_pcie_setup,
477 .scan = tegra_pcie_scan_bus, 477 .scan = tegra_pcie_scan_bus,
478 .swizzle = pci_std_swizzle,
479 .map_irq = tegra_pcie_map_irq, 478 .map_irq = tegra_pcie_map_irq,
480}; 479};
481 480
diff --git a/arch/arm/mach-versatile/pci.c b/arch/arm/mach-versatile/pci.c
index 24dd4b1490b..80a93ff0d12 100644
--- a/arch/arm/mach-versatile/pci.c
+++ b/arch/arm/mach-versatile/pci.c
@@ -345,7 +345,6 @@ static int __init versatile_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
345} 345}
346 346
347static struct hw_pci versatile_pci __initdata = { 347static struct hw_pci versatile_pci __initdata = {
348 .swizzle = pci_std_swizzle,
349 .map_irq = versatile_map_irq, 348 .map_irq = versatile_map_irq,
350 .nr_controllers = 1, 349 .nr_controllers = 1,
351 .setup = pci_versatile_setup, 350 .setup = pci_versatile_setup,