aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/alpha/kernel/sys_alcor.c2
-rw-r--r--arch/alpha/kernel/sys_cabriolet.c6
-rw-r--r--arch/alpha/kernel/sys_dp264.c8
-rw-r--r--arch/alpha/kernel/sys_eb64p.c2
-rw-r--r--arch/alpha/kernel/sys_eiger.c2
-rw-r--r--arch/alpha/kernel/sys_marvel.c2
-rw-r--r--arch/alpha/kernel/sys_miata.c2
-rw-r--r--arch/alpha/kernel/sys_mikasa.c2
-rw-r--r--arch/alpha/kernel/sys_nautilus.c2
-rw-r--r--arch/alpha/kernel/sys_noritake.c2
-rw-r--r--arch/alpha/kernel/sys_rawhide.c2
-rw-r--r--arch/alpha/kernel/sys_ruffian.c2
-rw-r--r--arch/alpha/kernel/sys_rx164.c2
-rw-r--r--arch/alpha/kernel/sys_sable.c4
-rw-r--r--arch/alpha/kernel/sys_sio.c4
-rw-r--r--arch/alpha/kernel/sys_sx164.c2
-rw-r--r--arch/alpha/kernel/sys_takara.c4
-rw-r--r--arch/alpha/kernel/sys_titan.c2
-rw-r--r--arch/alpha/kernel/sys_wildfire.c2
-rw-r--r--arch/arm/common/it8152.c2
-rw-r--r--arch/arm/include/asm/hardware/it8152.h2
-rw-r--r--arch/arm/include/asm/mach/pci.h4
-rw-r--r--arch/arm/kernel/bios32.c2
-rw-r--r--arch/arm/mach-cns3xxx/pcie.c2
-rw-r--r--arch/arm/mach-dove/pcie.c2
-rw-r--r--arch/arm/mach-footbridge/cats-pci.c2
-rw-r--r--arch/arm/mach-footbridge/ebsa285-pci.c2
-rw-r--r--arch/arm/mach-footbridge/netwinder-pci.c2
-rw-r--r--arch/arm/mach-footbridge/personal-pci.c3
-rw-r--r--arch/arm/mach-integrator/pci.c2
-rw-r--r--arch/arm/mach-iop13xx/iq81340mc.c2
-rw-r--r--arch/arm/mach-iop13xx/pci.c2
-rw-r--r--arch/arm/mach-iop32x/em7210.c2
-rw-r--r--arch/arm/mach-iop32x/glantank.c2
-rw-r--r--arch/arm/mach-iop32x/iq31244.c4
-rw-r--r--arch/arm/mach-iop32x/iq80321.c2
-rw-r--r--arch/arm/mach-iop32x/n2100.c2
-rw-r--r--arch/arm/mach-iop33x/iq80331.c2
-rw-r--r--arch/arm/mach-iop33x/iq80332.c2
-rw-r--r--arch/arm/mach-ixp2000/enp2611.c3
-rw-r--r--arch/arm/mach-ixp2000/ixdp2400.c3
-rw-r--r--arch/arm/mach-ixp2000/ixdp2800.c3
-rw-r--r--arch/arm/mach-ixp2000/ixdp2x01.c3
-rw-r--r--arch/arm/mach-ixp23xx/ixdp2351.c2
-rw-r--r--arch/arm/mach-ixp23xx/roadrunner.c3
-rw-r--r--arch/arm/mach-ixp4xx/avila-pci.c2
-rw-r--r--arch/arm/mach-ixp4xx/coyote-pci.c2
-rw-r--r--arch/arm/mach-ixp4xx/dsmg600-pci.c2
-rw-r--r--arch/arm/mach-ixp4xx/fsg-pci.c2
-rw-r--r--arch/arm/mach-ixp4xx/gateway7001-pci.c3
-rw-r--r--arch/arm/mach-ixp4xx/goramo_mlr.c2
-rw-r--r--arch/arm/mach-ixp4xx/gtwx5715-pci.c2
-rw-r--r--arch/arm/mach-ixp4xx/ixdp425-pci.c2
-rw-r--r--arch/arm/mach-ixp4xx/ixdpg425-pci.c2
-rw-r--r--arch/arm/mach-ixp4xx/nas100d-pci.c2
-rw-r--r--arch/arm/mach-ixp4xx/nslu2-pci.c2
-rw-r--r--arch/arm/mach-ixp4xx/vulcan-pci.c2
-rw-r--r--arch/arm/mach-ixp4xx/wg302v2-pci.c2
-rw-r--r--arch/arm/mach-kirkwood/pcie.c3
-rw-r--r--arch/arm/mach-ks8695/board-dsm320.c2
-rw-r--r--arch/arm/mach-ks8695/board-micrel.c2
-rw-r--r--arch/arm/mach-ks8695/include/mach/devices.h2
-rw-r--r--arch/arm/mach-mv78xx0/pcie.c3
-rw-r--r--arch/arm/mach-orion5x/common.h2
-rw-r--r--arch/arm/mach-orion5x/db88f5281-setup.c3
-rw-r--r--arch/arm/mach-orion5x/dns323-setup.c4
-rw-r--r--arch/arm/mach-orion5x/kurobox_pro-setup.c3
-rw-r--r--arch/arm/mach-orion5x/mss2-setup.c2
-rw-r--r--arch/arm/mach-orion5x/pci.c2
-rw-r--r--arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c2
-rw-r--r--arch/arm/mach-orion5x/rd88f5181l-ge-setup.c2
-rw-r--r--arch/arm/mach-orion5x/rd88f5182-setup.c3
-rw-r--r--arch/arm/mach-orion5x/terastation_pro2-setup.c2
-rw-r--r--arch/arm/mach-orion5x/ts209-setup.c3
-rw-r--r--arch/arm/mach-orion5x/ts409-setup.c3
-rw-r--r--arch/arm/mach-orion5x/wnr854t-setup.c3
-rw-r--r--arch/arm/mach-orion5x/wrt350n-v2-setup.c3
-rw-r--r--arch/arm/mach-pxa/cm-x2xx-pci.c2
-rw-r--r--arch/arm/mach-sa1100/pci-nanoengine.c3
-rw-r--r--arch/arm/mach-shark/pci.c2
-rw-r--r--arch/arm/mach-tegra/pcie.c2
-rw-r--r--arch/arm/mach-versatile/pci.c2
-rw-r--r--arch/sh/drivers/pci/fixups-cayman.c2
-rw-r--r--arch/sh/drivers/pci/fixups-dreamcast.c2
-rw-r--r--arch/sh/drivers/pci/fixups-landisk.c2
-rw-r--r--arch/sh/drivers/pci/fixups-r7780rp.c2
-rw-r--r--arch/sh/drivers/pci/fixups-rts7751r2d.c2
-rw-r--r--arch/sh/drivers/pci/fixups-sdk7780.c2
-rw-r--r--arch/sh/drivers/pci/fixups-se7751.c2
-rw-r--r--arch/sh/drivers/pci/fixups-sh03.c2
-rw-r--r--arch/sh/drivers/pci/fixups-snapgear.c2
-rw-r--r--arch/sh/drivers/pci/fixups-titan.c2
-rw-r--r--arch/sh/drivers/pci/pcie-sh7786.c2
-rw-r--r--arch/sh/include/asm/pci.h2
-rw-r--r--arch/sparc/include/asm/leon_pci.h2
-rw-r--r--arch/sparc/kernel/leon_pci_grpci2.c2
-rw-r--r--arch/tile/kernel/pci.c2
-rw-r--r--arch/unicore32/kernel/pci.c2
-rw-r--r--arch/x86/Kconfig2
-rw-r--r--arch/x86/pci/acpi.c7
-rw-r--r--arch/x86/pci/ce4100.c2
-rw-r--r--arch/x86/pci/common.c14
-rw-r--r--arch/x86/pci/direct.c6
-rw-r--r--arch/x86/pci/numaq_32.c2
-rw-r--r--arch/x86/pci/olpc.c4
-rw-r--r--arch/x86/pci/pcbios.c2
-rw-r--r--arch/x86/pci/visws.c2
107 files changed, 152 insertions, 124 deletions
diff --git a/arch/alpha/kernel/sys_alcor.c b/arch/alpha/kernel/sys_alcor.c
index 0e1439904cdb..8606d77e5163 100644
--- a/arch/alpha/kernel/sys_alcor.c
+++ b/arch/alpha/kernel/sys_alcor.c
@@ -183,7 +183,7 @@ alcor_init_irq(void)
183 */ 183 */
184 184
185static int __init 185static int __init
186alcor_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 186alcor_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
187{ 187{
188 static char irq_tab[7][5] __initdata = { 188 static char irq_tab[7][5] __initdata = {
189 /*INT INTA INTB INTC INTD */ 189 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_cabriolet.c b/arch/alpha/kernel/sys_cabriolet.c
index c8c112d51584..1029619fb6c0 100644
--- a/arch/alpha/kernel/sys_cabriolet.c
+++ b/arch/alpha/kernel/sys_cabriolet.c
@@ -175,7 +175,7 @@ pc164_init_irq(void)
175 */ 175 */
176 176
177static inline int __init 177static inline int __init
178eb66p_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 178eb66p_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
179{ 179{
180 static char irq_tab[5][5] __initdata = { 180 static char irq_tab[5][5] __initdata = {
181 /*INT INTA INTB INTC INTD */ 181 /*INT INTA INTB INTC INTD */
@@ -205,7 +205,7 @@ eb66p_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
205 */ 205 */
206 206
207static inline int __init 207static inline int __init
208cabriolet_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 208cabriolet_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
209{ 209{
210 static char irq_tab[5][5] __initdata = { 210 static char irq_tab[5][5] __initdata = {
211 /*INT INTA INTB INTC INTD */ 211 /*INT INTA INTB INTC INTD */
@@ -289,7 +289,7 @@ cia_cab_init_pci(void)
289 */ 289 */
290 290
291static inline int __init 291static inline int __init
292alphapc164_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 292alphapc164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
293{ 293{
294 static char irq_tab[7][5] __initdata = { 294 static char irq_tab[7][5] __initdata = {
295 /*INT INTA INTB INTC INTD */ 295 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_dp264.c b/arch/alpha/kernel/sys_dp264.c
index f8856829c22a..bb7f0c7cb17a 100644
--- a/arch/alpha/kernel/sys_dp264.c
+++ b/arch/alpha/kernel/sys_dp264.c
@@ -382,7 +382,7 @@ isa_irq_fixup(struct pci_dev *dev, int irq)
382} 382}
383 383
384static int __init 384static int __init
385dp264_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 385dp264_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
386{ 386{
387 static char irq_tab[6][5] __initdata = { 387 static char irq_tab[6][5] __initdata = {
388 /*INT INTA INTB INTC INTD */ 388 /*INT INTA INTB INTC INTD */
@@ -404,7 +404,7 @@ dp264_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
404} 404}
405 405
406static int __init 406static int __init
407monet_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 407monet_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
408{ 408{
409 static char irq_tab[13][5] __initdata = { 409 static char irq_tab[13][5] __initdata = {
410 /*INT INTA INTB INTC INTD */ 410 /*INT INTA INTB INTC INTD */
@@ -466,7 +466,7 @@ monet_swizzle(struct pci_dev *dev, u8 *pinp)
466} 466}
467 467
468static int __init 468static int __init
469webbrick_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 469webbrick_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
470{ 470{
471 static char irq_tab[13][5] __initdata = { 471 static char irq_tab[13][5] __initdata = {
472 /*INT INTA INTB INTC INTD */ 472 /*INT INTA INTB INTC INTD */
@@ -488,7 +488,7 @@ webbrick_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
488} 488}
489 489
490static int __init 490static int __init
491clipper_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 491clipper_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
492{ 492{
493 static char irq_tab[7][5] __initdata = { 493 static char irq_tab[7][5] __initdata = {
494 /*INT INTA INTB INTC INTD */ 494 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_eb64p.c b/arch/alpha/kernel/sys_eb64p.c
index a7a23b40eec5..3c6c13cd8b19 100644
--- a/arch/alpha/kernel/sys_eb64p.c
+++ b/arch/alpha/kernel/sys_eb64p.c
@@ -169,7 +169,7 @@ eb64p_init_irq(void)
169 */ 169 */
170 170
171static int __init 171static int __init
172eb64p_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 172eb64p_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
173{ 173{
174 static char irq_tab[5][5] __initdata = { 174 static char irq_tab[5][5] __initdata = {
175 /*INT INTA INTB INTC INTD */ 175 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_eiger.c b/arch/alpha/kernel/sys_eiger.c
index a60cd5b2621e..35f480db7719 100644
--- a/arch/alpha/kernel/sys_eiger.c
+++ b/arch/alpha/kernel/sys_eiger.c
@@ -144,7 +144,7 @@ eiger_init_irq(void)
144} 144}
145 145
146static int __init 146static int __init
147eiger_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 147eiger_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
148{ 148{
149 u8 irq_orig; 149 u8 irq_orig;
150 150
diff --git a/arch/alpha/kernel/sys_marvel.c b/arch/alpha/kernel/sys_marvel.c
index 388b99d1779d..95cfc83ece8f 100644
--- a/arch/alpha/kernel/sys_marvel.c
+++ b/arch/alpha/kernel/sys_marvel.c
@@ -318,7 +318,7 @@ marvel_init_irq(void)
318} 318}
319 319
320static int 320static int
321marvel_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 321marvel_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
322{ 322{
323 struct pci_controller *hose = dev->sysdata; 323 struct pci_controller *hose = dev->sysdata;
324 struct io7_port *io7_port = hose->sysdata; 324 struct io7_port *io7_port = hose->sysdata;
diff --git a/arch/alpha/kernel/sys_miata.c b/arch/alpha/kernel/sys_miata.c
index 61ccd95579ec..258da684670b 100644
--- a/arch/alpha/kernel/sys_miata.c
+++ b/arch/alpha/kernel/sys_miata.c
@@ -151,7 +151,7 @@ miata_init_irq(void)
151 */ 151 */
152 152
153static int __init 153static int __init
154miata_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 154miata_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
155{ 155{
156 static char irq_tab[18][5] __initdata = { 156 static char irq_tab[18][5] __initdata = {
157 /*INT INTA INTB INTC INTD */ 157 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_mikasa.c b/arch/alpha/kernel/sys_mikasa.c
index 0e6e4697a025..c0fd7284dec3 100644
--- a/arch/alpha/kernel/sys_mikasa.c
+++ b/arch/alpha/kernel/sys_mikasa.c
@@ -146,7 +146,7 @@ mikasa_init_irq(void)
146 */ 146 */
147 147
148static int __init 148static int __init
149mikasa_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 149mikasa_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
150{ 150{
151 static char irq_tab[8][5] __initdata = { 151 static char irq_tab[8][5] __initdata = {
152 /*INT INTA INTB INTC INTD */ 152 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_nautilus.c b/arch/alpha/kernel/sys_nautilus.c
index 99c0f46f6b9c..4112200307c7 100644
--- a/arch/alpha/kernel/sys_nautilus.c
+++ b/arch/alpha/kernel/sys_nautilus.c
@@ -65,7 +65,7 @@ nautilus_init_irq(void)
65} 65}
66 66
67static int __init 67static int __init
68nautilus_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 68nautilus_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
69{ 69{
70 /* Preserve the IRQ set up by the console. */ 70 /* Preserve the IRQ set up by the console. */
71 71
diff --git a/arch/alpha/kernel/sys_noritake.c b/arch/alpha/kernel/sys_noritake.c
index a00ac7087167..21725283cdd7 100644
--- a/arch/alpha/kernel/sys_noritake.c
+++ b/arch/alpha/kernel/sys_noritake.c
@@ -194,7 +194,7 @@ noritake_init_irq(void)
194 */ 194 */
195 195
196static int __init 196static int __init
197noritake_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 197noritake_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
198{ 198{
199 static char irq_tab[15][5] __initdata = { 199 static char irq_tab[15][5] __initdata = {
200 /*INT INTA INTB INTC INTD */ 200 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_rawhide.c b/arch/alpha/kernel/sys_rawhide.c
index 7f52161f3d88..a125d6bea7e1 100644
--- a/arch/alpha/kernel/sys_rawhide.c
+++ b/arch/alpha/kernel/sys_rawhide.c
@@ -223,7 +223,7 @@ rawhide_init_irq(void)
223 */ 223 */
224 224
225static int __init 225static int __init
226rawhide_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 226rawhide_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
227{ 227{
228 static char irq_tab[5][5] __initdata = { 228 static char irq_tab[5][5] __initdata = {
229 /*INT INTA INTB INTC INTD */ 229 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_ruffian.c b/arch/alpha/kernel/sys_ruffian.c
index f33648e4e8cf..2581cbec6fc2 100644
--- a/arch/alpha/kernel/sys_ruffian.c
+++ b/arch/alpha/kernel/sys_ruffian.c
@@ -119,7 +119,7 @@ ruffian_kill_arch (int mode)
119 */ 119 */
120 120
121static int __init 121static int __init
122ruffian_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 122ruffian_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
123{ 123{
124 static char irq_tab[11][5] __initdata = { 124 static char irq_tab[11][5] __initdata = {
125 /*INT INTA INTB INTC INTD */ 125 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_rx164.c b/arch/alpha/kernel/sys_rx164.c
index 216d94d9c0c1..b172b27555a7 100644
--- a/arch/alpha/kernel/sys_rx164.c
+++ b/arch/alpha/kernel/sys_rx164.c
@@ -144,7 +144,7 @@ rx164_init_irq(void)
144 */ 144 */
145 145
146static int __init 146static int __init
147rx164_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 147rx164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
148{ 148{
149#if 0 149#if 0
150 static char irq_tab_pass1[6][5] __initdata = { 150 static char irq_tab_pass1[6][5] __initdata = {
diff --git a/arch/alpha/kernel/sys_sable.c b/arch/alpha/kernel/sys_sable.c
index da714e427c5f..98d1dbffe98f 100644
--- a/arch/alpha/kernel/sys_sable.c
+++ b/arch/alpha/kernel/sys_sable.c
@@ -194,7 +194,7 @@ sable_init_irq(void)
194 */ 194 */
195 195
196static int __init 196static int __init
197sable_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 197sable_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
198{ 198{
199 static char irq_tab[9][5] __initdata = { 199 static char irq_tab[9][5] __initdata = {
200 /*INT INTA INTB INTC INTD */ 200 /*INT INTA INTB INTC INTD */
@@ -376,7 +376,7 @@ lynx_init_irq(void)
376 */ 376 */
377 377
378static int __init 378static int __init
379lynx_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 379lynx_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
380{ 380{
381 static char irq_tab[19][5] __initdata = { 381 static char irq_tab[19][5] __initdata = {
382 /*INT INTA INTB INTC INTD */ 382 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_sio.c b/arch/alpha/kernel/sys_sio.c
index 85b4aea01ef8..47bec1e97d1c 100644
--- a/arch/alpha/kernel/sys_sio.c
+++ b/arch/alpha/kernel/sys_sio.c
@@ -146,7 +146,7 @@ sio_fixup_irq_levels(unsigned int level_bits)
146} 146}
147 147
148static inline int __init 148static inline int __init
149noname_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 149noname_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
150{ 150{
151 /* 151 /*
152 * The Noname board has 5 PCI slots with each of the 4 152 * The Noname board has 5 PCI slots with each of the 4
@@ -185,7 +185,7 @@ noname_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
185} 185}
186 186
187static inline int __init 187static inline int __init
188p2k_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 188p2k_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
189{ 189{
190 static char irq_tab[][5] __initdata = { 190 static char irq_tab[][5] __initdata = {
191 /*INT A B C D */ 191 /*INT A B C D */
diff --git a/arch/alpha/kernel/sys_sx164.c b/arch/alpha/kernel/sys_sx164.c
index 41d4ad4c7c44..73e1c317afcb 100644
--- a/arch/alpha/kernel/sys_sx164.c
+++ b/arch/alpha/kernel/sys_sx164.c
@@ -95,7 +95,7 @@ sx164_init_irq(void)
95 */ 95 */
96 96
97static int __init 97static int __init
98sx164_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 98sx164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
99{ 99{
100 static char irq_tab[5][5] __initdata = { 100 static char irq_tab[5][5] __initdata = {
101 /*INT INTA INTB INTC INTD */ 101 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_takara.c b/arch/alpha/kernel/sys_takara.c
index a31f8cd9bd6b..2ae99ad6975e 100644
--- a/arch/alpha/kernel/sys_takara.c
+++ b/arch/alpha/kernel/sys_takara.c
@@ -157,7 +157,7 @@ takara_init_irq(void)
157 */ 157 */
158 158
159static int __init 159static int __init
160takara_map_irq_srm(struct pci_dev *dev, u8 slot, u8 pin) 160takara_map_irq_srm(const struct pci_dev *dev, u8 slot, u8 pin)
161{ 161{
162 static char irq_tab[15][5] __initdata = { 162 static char irq_tab[15][5] __initdata = {
163 { 16+3, 16+3, 16+3, 16+3, 16+3}, /* slot 6 == device 3 */ 163 { 16+3, 16+3, 16+3, 16+3, 16+3}, /* slot 6 == device 3 */
@@ -188,7 +188,7 @@ takara_map_irq_srm(struct pci_dev *dev, u8 slot, u8 pin)
188} 188}
189 189
190static int __init 190static int __init
191takara_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 191takara_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
192{ 192{
193 static char irq_tab[15][5] __initdata = { 193 static char irq_tab[15][5] __initdata = {
194 { 16+3, 16+3, 16+3, 16+3, 16+3}, /* slot 6 == device 3 */ 194 { 16+3, 16+3, 16+3, 16+3, 16+3}, /* slot 6 == device 3 */
diff --git a/arch/alpha/kernel/sys_titan.c b/arch/alpha/kernel/sys_titan.c
index 6994407e242a..f47b30a2a117 100644
--- a/arch/alpha/kernel/sys_titan.c
+++ b/arch/alpha/kernel/sys_titan.c
@@ -305,7 +305,7 @@ titan_late_init(void)
305} 305}
306 306
307static int __devinit 307static int __devinit
308titan_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 308titan_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
309{ 309{
310 u8 intline; 310 u8 intline;
311 int irq; 311 int irq;
diff --git a/arch/alpha/kernel/sys_wildfire.c b/arch/alpha/kernel/sys_wildfire.c
index d92cdc715c65..17c85a65e7b0 100644
--- a/arch/alpha/kernel/sys_wildfire.c
+++ b/arch/alpha/kernel/sys_wildfire.c
@@ -290,7 +290,7 @@ wildfire_device_interrupt(unsigned long vector)
290 */ 290 */
291 291
292static int __init 292static int __init
293wildfire_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 293wildfire_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
294{ 294{
295 static char irq_tab[8][5] __initdata = { 295 static char irq_tab[8][5] __initdata = {
296 /*INT INTA INTB INTC INTD */ 296 /*INT INTA INTB INTC INTD */
diff --git a/arch/arm/common/it8152.c b/arch/arm/common/it8152.c
index 14ad62e16dd1..a7934ba9e1df 100644
--- a/arch/arm/common/it8152.c
+++ b/arch/arm/common/it8152.c
@@ -144,7 +144,7 @@ void it8152_irq_demux(unsigned int irq, struct irq_desc *desc)
144} 144}
145 145
146/* mapping for on-chip devices */ 146/* mapping for on-chip devices */
147int __init it8152_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 147int __init it8152_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
148{ 148{
149 if ((dev->vendor == PCI_VENDOR_ID_ITE) && 149 if ((dev->vendor == PCI_VENDOR_ID_ITE) &&
150 (dev->device == PCI_DEVICE_ID_ITE_8152)) { 150 (dev->device == PCI_DEVICE_ID_ITE_8152)) {
diff --git a/arch/arm/include/asm/hardware/it8152.h b/arch/arm/include/asm/hardware/it8152.h
index b2f95c72287c..b3fea38d55c6 100644
--- a/arch/arm/include/asm/hardware/it8152.h
+++ b/arch/arm/include/asm/hardware/it8152.h
@@ -105,7 +105,7 @@ struct pci_sys_data;
105 105
106extern void it8152_irq_demux(unsigned int irq, struct irq_desc *desc); 106extern void it8152_irq_demux(unsigned int irq, struct irq_desc *desc);
107extern void it8152_init_irq(void); 107extern void it8152_init_irq(void);
108extern int it8152_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin); 108extern int it8152_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin);
109extern int it8152_pci_setup(int nr, struct pci_sys_data *sys); 109extern int it8152_pci_setup(int nr, struct pci_sys_data *sys);
110extern struct pci_bus *it8152_pci_scan_bus(int nr, struct pci_sys_data *sys); 110extern struct pci_bus *it8152_pci_scan_bus(int nr, struct pci_sys_data *sys);
111 111
diff --git a/arch/arm/include/asm/mach/pci.h b/arch/arm/include/asm/mach/pci.h
index 16330bd0657c..186efd4e05c9 100644
--- a/arch/arm/include/asm/mach/pci.h
+++ b/arch/arm/include/asm/mach/pci.h
@@ -25,7 +25,7 @@ struct hw_pci {
25 void (*preinit)(void); 25 void (*preinit)(void);
26 void (*postinit)(void); 26 void (*postinit)(void);
27 u8 (*swizzle)(struct pci_dev *dev, u8 *pin); 27 u8 (*swizzle)(struct pci_dev *dev, u8 *pin);
28 int (*map_irq)(struct pci_dev *dev, u8 slot, u8 pin); 28 int (*map_irq)(const struct pci_dev *dev, u8 slot, u8 pin);
29}; 29};
30 30
31/* 31/*
@@ -44,7 +44,7 @@ struct pci_sys_data {
44 /* Bridge swizzling */ 44 /* Bridge swizzling */
45 u8 (*swizzle)(struct pci_dev *, u8 *); 45 u8 (*swizzle)(struct pci_dev *, u8 *);
46 /* IRQ mapping */ 46 /* IRQ mapping */
47 int (*map_irq)(struct pci_dev *, u8, u8); 47 int (*map_irq)(const struct pci_dev *, u8, u8);
48 struct hw_pci *hw; 48 struct hw_pci *hw;
49 void *private_data; /* platform controller private data */ 49 void *private_data; /* platform controller private data */
50}; 50};
diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c
index e4ee050aad7d..d6df359408f0 100644
--- a/arch/arm/kernel/bios32.c
+++ b/arch/arm/kernel/bios32.c
@@ -476,7 +476,7 @@ static u8 __devinit pcibios_swizzle(struct pci_dev *dev, u8 *pin)
476/* 476/*
477 * Map a slot/pin to an IRQ. 477 * Map a slot/pin to an IRQ.
478 */ 478 */
479static int pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 479static int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
480{ 480{
481 struct pci_sys_data *sys = dev->sysdata; 481 struct pci_sys_data *sys = dev->sysdata;
482 int irq = -1; 482 int irq = -1;
diff --git a/arch/arm/mach-cns3xxx/pcie.c b/arch/arm/mach-cns3xxx/pcie.c
index a4ec080908b8..06fd25d70aec 100644
--- a/arch/arm/mach-cns3xxx/pcie.c
+++ b/arch/arm/mach-cns3xxx/pcie.c
@@ -172,7 +172,7 @@ static struct pci_bus *cns3xxx_pci_scan_bus(int nr, struct pci_sys_data *sys)
172 return pci_scan_bus(sys->busnr, &cns3xxx_pcie_ops, sys); 172 return pci_scan_bus(sys->busnr, &cns3xxx_pcie_ops, sys);
173} 173}
174 174
175static int cns3xxx_pcie_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 175static int cns3xxx_pcie_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
176{ 176{
177 struct cns3xxx_pcie *cnspci = pdev_to_cnspci(dev); 177 struct cns3xxx_pcie *cnspci = pdev_to_cnspci(dev);
178 int irq = cnspci->irqs[slot]; 178 int irq = cnspci->irqs[slot];
diff --git a/arch/arm/mach-dove/pcie.c b/arch/arm/mach-dove/pcie.c
index c2f1c4767f21..aa2b3a09a51d 100644
--- a/arch/arm/mach-dove/pcie.c
+++ b/arch/arm/mach-dove/pcie.c
@@ -193,7 +193,7 @@ dove_pcie_scan_bus(int nr, struct pci_sys_data *sys)
193 return bus; 193 return bus;
194} 194}
195 195
196static int __init dove_pcie_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 196static int __init dove_pcie_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
197{ 197{
198 struct pcie_port *pp = bus_to_port(dev->bus->number); 198 struct pcie_port *pp = bus_to_port(dev->bus->number);
199 199
diff --git a/arch/arm/mach-footbridge/cats-pci.c b/arch/arm/mach-footbridge/cats-pci.c
index ae3e1c8c7583..32321f66dec4 100644
--- a/arch/arm/mach-footbridge/cats-pci.c
+++ b/arch/arm/mach-footbridge/cats-pci.c
@@ -16,7 +16,7 @@
16/* cats host-specific stuff */ 16/* cats host-specific stuff */
17static int irqmap_cats[] __initdata = { IRQ_PCI, IRQ_IN0, IRQ_IN1, IRQ_IN3 }; 17static int irqmap_cats[] __initdata = { IRQ_PCI, IRQ_IN0, IRQ_IN1, IRQ_IN3 };
18 18
19static int __init cats_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 19static int __init cats_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
20{ 20{
21 if (dev->irq >= 255) 21 if (dev->irq >= 255)
22 return -1; /* not a valid interrupt. */ 22 return -1; /* not a valid interrupt. */
diff --git a/arch/arm/mach-footbridge/ebsa285-pci.c b/arch/arm/mach-footbridge/ebsa285-pci.c
index e5ab5bddbc8c..511c673ffa9d 100644
--- a/arch/arm/mach-footbridge/ebsa285-pci.c
+++ b/arch/arm/mach-footbridge/ebsa285-pci.c
@@ -15,7 +15,7 @@
15 15
16static int irqmap_ebsa285[] __initdata = { IRQ_IN3, IRQ_IN1, IRQ_IN0, IRQ_PCI }; 16static int irqmap_ebsa285[] __initdata = { IRQ_IN3, IRQ_IN1, IRQ_IN0, IRQ_PCI };
17 17
18static int __init ebsa285_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 18static int __init ebsa285_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
19{ 19{
20 if (dev->vendor == PCI_VENDOR_ID_CONTAQ && 20 if (dev->vendor == PCI_VENDOR_ID_CONTAQ &&
21 dev->device == PCI_DEVICE_ID_CONTAQ_82C693) 21 dev->device == PCI_DEVICE_ID_CONTAQ_82C693)
diff --git a/arch/arm/mach-footbridge/netwinder-pci.c b/arch/arm/mach-footbridge/netwinder-pci.c
index e263d6d54a0f..62187610e17e 100644
--- a/arch/arm/mach-footbridge/netwinder-pci.c
+++ b/arch/arm/mach-footbridge/netwinder-pci.c
@@ -17,7 +17,7 @@
17 * We now use the slot ID instead of the device identifiers to select 17 * We now use the slot ID instead of the device identifiers to select
18 * which interrupt is routed where. 18 * which interrupt is routed where.
19 */ 19 */
20static int __init netwinder_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 20static int __init netwinder_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
21{ 21{
22 switch (slot) { 22 switch (slot) {
23 case 0: /* host bridge */ 23 case 0: /* host bridge */
diff --git a/arch/arm/mach-footbridge/personal-pci.c b/arch/arm/mach-footbridge/personal-pci.c
index d5fca95afdad..aeb651d914a6 100644
--- a/arch/arm/mach-footbridge/personal-pci.c
+++ b/arch/arm/mach-footbridge/personal-pci.c
@@ -18,7 +18,8 @@ static int irqmap_personal_server[] __initdata = {
18 IRQ_DOORBELLHOST, IRQ_DMA1, IRQ_DMA2, IRQ_PCI 18 IRQ_DOORBELLHOST, IRQ_DMA1, IRQ_DMA2, IRQ_PCI
19}; 19};
20 20
21static int __init personal_server_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 21static int __init personal_server_map_irq(const struct pci_dev *dev, u8 slot,
22 u8 pin)
22{ 23{
23 unsigned char line; 24 unsigned char line;
24 25
diff --git a/arch/arm/mach-integrator/pci.c b/arch/arm/mach-integrator/pci.c
index 2fdb95433f0a..520b6bf81bb1 100644
--- a/arch/arm/mach-integrator/pci.c
+++ b/arch/arm/mach-integrator/pci.c
@@ -95,7 +95,7 @@ static int irq_tab[4] __initdata = {
95 * map the specified device/slot/pin to an IRQ. This works out such 95 * map the specified device/slot/pin to an IRQ. This works out such
96 * that slot 9 pin 1 is INT0, pin 2 is INT1, and slot 10 pin 1 is INT1. 96 * that slot 9 pin 1 is INT0, pin 2 is INT1, and slot 10 pin 1 is INT1.
97 */ 97 */
98static int __init integrator_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 98static int __init integrator_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
99{ 99{
100 int intnr = ((slot - 9) + (pin - 1)) & 3; 100 int intnr = ((slot - 9) + (pin - 1)) & 3;
101 101
diff --git a/arch/arm/mach-iop13xx/iq81340mc.c b/arch/arm/mach-iop13xx/iq81340mc.c
index 9b5a63f5d07d..23dfaffc586c 100644
--- a/arch/arm/mach-iop13xx/iq81340mc.c
+++ b/arch/arm/mach-iop13xx/iq81340mc.c
@@ -30,7 +30,7 @@
30extern int init_atu; /* Flag to select which ATU(s) to initialize / disable */ 30extern int init_atu; /* Flag to select which ATU(s) to initialize / disable */
31 31
32static int __init 32static int __init
33iq81340mc_pcix_map_irq(struct pci_dev *dev, u8 idsel, u8 pin) 33iq81340mc_pcix_map_irq(const struct pci_dev *dev, u8 idsel, u8 pin)
34{ 34{
35 switch (idsel) { 35 switch (idsel) {
36 case 1: 36 case 1:
diff --git a/arch/arm/mach-iop13xx/pci.c b/arch/arm/mach-iop13xx/pci.c
index 0690b1d7fd3e..251c40897dad 100644
--- a/arch/arm/mach-iop13xx/pci.c
+++ b/arch/arm/mach-iop13xx/pci.c
@@ -388,7 +388,7 @@ static int iop13xx_atue_pci_status(int clear)
388} 388}
389 389
390static int 390static int
391iop13xx_pcie_map_irq(struct pci_dev *dev, u8 idsel, u8 pin) 391iop13xx_pcie_map_irq(const struct pci_dev *dev, u8 idsel, u8 pin)
392{ 392{
393 WARN_ON(idsel != 0); 393 WARN_ON(idsel != 0);
394 394
diff --git a/arch/arm/mach-iop32x/em7210.c b/arch/arm/mach-iop32x/em7210.c
index 779f924af302..6cbffbfc2bba 100644
--- a/arch/arm/mach-iop32x/em7210.c
+++ b/arch/arm/mach-iop32x/em7210.c
@@ -81,7 +81,7 @@ void __init em7210_map_io(void)
81#define INTD IRQ_IOP32X_XINT3 81#define INTD IRQ_IOP32X_XINT3
82 82
83static int __init 83static int __init
84em7210_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 84em7210_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
85{ 85{
86 static int pci_irq_table[][4] = { 86 static int pci_irq_table[][4] = {
87 /* 87 /*
diff --git a/arch/arm/mach-iop32x/glantank.c b/arch/arm/mach-iop32x/glantank.c
index c6b6f9c5650d..ceef5d4dce1a 100644
--- a/arch/arm/mach-iop32x/glantank.c
+++ b/arch/arm/mach-iop32x/glantank.c
@@ -77,7 +77,7 @@ void __init glantank_map_io(void)
77#define INTD IRQ_IOP32X_XINT3 77#define INTD IRQ_IOP32X_XINT3
78 78
79static int __init 79static int __init
80glantank_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 80glantank_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
81{ 81{
82 static int pci_irq_table[][4] = { 82 static int pci_irq_table[][4] = {
83 /* 83 /*
diff --git a/arch/arm/mach-iop32x/iq31244.c b/arch/arm/mach-iop32x/iq31244.c
index fde962c057f0..3a62514dae7c 100644
--- a/arch/arm/mach-iop32x/iq31244.c
+++ b/arch/arm/mach-iop32x/iq31244.c
@@ -103,7 +103,7 @@ void __init iq31244_map_io(void)
103 * EP80219/IQ31244 PCI. 103 * EP80219/IQ31244 PCI.
104 */ 104 */
105static int __init 105static int __init
106ep80219_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 106ep80219_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
107{ 107{
108 int irq; 108 int irq;
109 109
@@ -139,7 +139,7 @@ static struct hw_pci ep80219_pci __initdata = {
139}; 139};
140 140
141static int __init 141static int __init
142iq31244_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 142iq31244_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
143{ 143{
144 int irq; 144 int irq;
145 145
diff --git a/arch/arm/mach-iop32x/iq80321.c b/arch/arm/mach-iop32x/iq80321.c
index 3a95950e8737..35b7e6914d3b 100644
--- a/arch/arm/mach-iop32x/iq80321.c
+++ b/arch/arm/mach-iop32x/iq80321.c
@@ -71,7 +71,7 @@ void __init iq80321_map_io(void)
71 * IQ80321 PCI. 71 * IQ80321 PCI.
72 */ 72 */
73static int __init 73static int __init
74iq80321_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 74iq80321_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
75{ 75{
76 int irq; 76 int irq;
77 77
diff --git a/arch/arm/mach-iop32x/n2100.c b/arch/arm/mach-iop32x/n2100.c
index 626aa375915d..1a374eab6007 100644
--- a/arch/arm/mach-iop32x/n2100.c
+++ b/arch/arm/mach-iop32x/n2100.c
@@ -78,7 +78,7 @@ void __init n2100_map_io(void)
78 * N2100 PCI. 78 * N2100 PCI.
79 */ 79 */
80static int __init 80static int __init
81n2100_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 81n2100_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
82{ 82{
83 int irq; 83 int irq;
84 84
diff --git a/arch/arm/mach-iop33x/iq80331.c b/arch/arm/mach-iop33x/iq80331.c
index c565f8d1e3a4..637c0272d5e0 100644
--- a/arch/arm/mach-iop33x/iq80331.c
+++ b/arch/arm/mach-iop33x/iq80331.c
@@ -54,7 +54,7 @@ static struct sys_timer iq80331_timer = {
54 * IQ80331 PCI. 54 * IQ80331 PCI.
55 */ 55 */
56static int __init 56static int __init
57iq80331_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 57iq80331_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
58{ 58{
59 int irq; 59 int irq;
60 60
diff --git a/arch/arm/mach-iop33x/iq80332.c b/arch/arm/mach-iop33x/iq80332.c
index 36a9efb254c2..90a0436d7255 100644
--- a/arch/arm/mach-iop33x/iq80332.c
+++ b/arch/arm/mach-iop33x/iq80332.c
@@ -54,7 +54,7 @@ static struct sys_timer iq80332_timer = {
54 * IQ80332 PCI. 54 * IQ80332 PCI.
55 */ 55 */
56static int __init 56static int __init
57iq80332_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 57iq80332_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
58{ 58{
59 int irq; 59 int irq;
60 60
diff --git a/arch/arm/mach-ixp2000/enp2611.c b/arch/arm/mach-ixp2000/enp2611.c
index 88663ab1d2ad..62c60ade5274 100644
--- a/arch/arm/mach-ixp2000/enp2611.c
+++ b/arch/arm/mach-ixp2000/enp2611.c
@@ -148,7 +148,8 @@ static struct pci_bus * __init enp2611_pci_scan_bus(int nr,
148 return pci_scan_bus(sys->busnr, &enp2611_pci_ops, sys); 148 return pci_scan_bus(sys->busnr, &enp2611_pci_ops, sys);
149} 149}
150 150
151static int __init enp2611_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 151static int __init enp2611_pci_map_irq(const struct pci_dev *dev, u8 slot,
152 u8 pin)
152{ 153{
153 int irq; 154 int irq;
154 155
diff --git a/arch/arm/mach-ixp2000/ixdp2400.c b/arch/arm/mach-ixp2000/ixdp2400.c
index dfffc1e817fa..5bad1a8419b7 100644
--- a/arch/arm/mach-ixp2000/ixdp2400.c
+++ b/arch/arm/mach-ixp2000/ixdp2400.c
@@ -78,7 +78,8 @@ int ixdp2400_pci_setup(int nr, struct pci_sys_data *sys)
78 return 1; 78 return 1;
79} 79}
80 80
81static int __init ixdp2400_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 81static int __init ixdp2400_pci_map_irq(const struct pci_dev *dev, u8 slot,
82 u8 pin)
82{ 83{
83 if (ixdp2x00_master_npu()) { 84 if (ixdp2x00_master_npu()) {
84 85
diff --git a/arch/arm/mach-ixp2000/ixdp2800.c b/arch/arm/mach-ixp2000/ixdp2800.c
index cd4c9bcff2b5..3d3cef876467 100644
--- a/arch/arm/mach-ixp2000/ixdp2800.c
+++ b/arch/arm/mach-ixp2000/ixdp2800.c
@@ -161,7 +161,8 @@ static int __init ixdp2800_pci_setup(int nr, struct pci_sys_data *sys)
161 return 1; 161 return 1;
162} 162}
163 163
164static int __init ixdp2800_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 164static int __init ixdp2800_pci_map_irq(const struct pci_dev *dev, u8 slot,
165 u8 pin)
165{ 166{
166 if (ixdp2x00_master_npu()) { 167 if (ixdp2x00_master_npu()) {
167 168
diff --git a/arch/arm/mach-ixp2000/ixdp2x01.c b/arch/arm/mach-ixp2000/ixdp2x01.c
index 84835b209557..be2a254f1374 100644
--- a/arch/arm/mach-ixp2000/ixdp2x01.c
+++ b/arch/arm/mach-ixp2000/ixdp2x01.c
@@ -252,7 +252,8 @@ void __init ixdp2x01_pci_preinit(void)
252 252
253#define DEVPIN(dev, pin) ((pin) | ((dev) << 3)) 253#define DEVPIN(dev, pin) ((pin) | ((dev) << 3))
254 254
255static int __init ixdp2x01_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 255static int __init ixdp2x01_pci_map_irq(const struct pci_dev *dev, u8 slot,
256 u8 pin)
256{ 257{
257 u8 bus = dev->bus->number; 258 u8 bus = dev->bus->number;
258 u32 devpin = DEVPIN(PCI_SLOT(dev->devfn), pin); 259 u32 devpin = DEVPIN(PCI_SLOT(dev->devfn), pin);
diff --git a/arch/arm/mach-ixp23xx/ixdp2351.c b/arch/arm/mach-ixp23xx/ixdp2351.c
index 8dcba17c81e7..ec028e35f401 100644
--- a/arch/arm/mach-ixp23xx/ixdp2351.c
+++ b/arch/arm/mach-ixp23xx/ixdp2351.c
@@ -168,7 +168,7 @@ void __init ixdp2351_init_irq(void)
168 */ 168 */
169#define DEVPIN(dev, pin) ((pin) | ((dev) << 3)) 169#define DEVPIN(dev, pin) ((pin) | ((dev) << 3))
170 170
171static int __init ixdp2351_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 171static int __init ixdp2351_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
172{ 172{
173 u8 bus = dev->bus->number; 173 u8 bus = dev->bus->number;
174 u32 devpin = DEVPIN(PCI_SLOT(dev->devfn), pin); 174 u32 devpin = DEVPIN(PCI_SLOT(dev->devfn), pin);
diff --git a/arch/arm/mach-ixp23xx/roadrunner.c b/arch/arm/mach-ixp23xx/roadrunner.c
index 8fe0c6273262..844551d2368b 100644
--- a/arch/arm/mach-ixp23xx/roadrunner.c
+++ b/arch/arm/mach-ixp23xx/roadrunner.c
@@ -56,7 +56,8 @@
56#define INTC_PIN IXP23XX_GPIO_PIN_11 56#define INTC_PIN IXP23XX_GPIO_PIN_11
57#define INTD_PIN IXP23XX_GPIO_PIN_12 57#define INTD_PIN IXP23XX_GPIO_PIN_12
58 58
59static int __init roadrunner_map_irq(struct pci_dev *dev, u8 idsel, u8 pin) 59static int __init roadrunner_map_irq(const struct pci_dev *dev, u8 idsel,
60 u8 pin)
60{ 61{
61 static int pci_card_slot_irq[] = {INTB, INTC, INTD, INTA}; 62 static int pci_card_slot_irq[] = {INTB, INTC, INTD, INTA};
62 static int pmc_card_slot_irq[] = {INTA, INTB, INTC, INTD}; 63 static int pmc_card_slot_irq[] = {INTA, INTB, INTC, INTD};
diff --git a/arch/arm/mach-ixp4xx/avila-pci.c b/arch/arm/mach-ixp4xx/avila-pci.c
index 162043ff29ff..8fea0a3c5246 100644
--- a/arch/arm/mach-ixp4xx/avila-pci.c
+++ b/arch/arm/mach-ixp4xx/avila-pci.c
@@ -46,7 +46,7 @@ void __init avila_pci_preinit(void)
46 ixp4xx_pci_preinit(); 46 ixp4xx_pci_preinit();
47} 47}
48 48
49static int __init avila_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 49static int __init avila_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
50{ 50{
51 static int pci_irq_table[IRQ_LINES] = { 51 static int pci_irq_table[IRQ_LINES] = {
52 IXP4XX_GPIO_IRQ(INTA), 52 IXP4XX_GPIO_IRQ(INTA),
diff --git a/arch/arm/mach-ixp4xx/coyote-pci.c b/arch/arm/mach-ixp4xx/coyote-pci.c
index 37fda7d6e83d..71f5c9c60fc3 100644
--- a/arch/arm/mach-ixp4xx/coyote-pci.c
+++ b/arch/arm/mach-ixp4xx/coyote-pci.c
@@ -37,7 +37,7 @@ void __init coyote_pci_preinit(void)
37 ixp4xx_pci_preinit(); 37 ixp4xx_pci_preinit();
38} 38}
39 39
40static int __init coyote_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 40static int __init coyote_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
41{ 41{
42 if (slot == SLOT0_DEVID) 42 if (slot == SLOT0_DEVID)
43 return IXP4XX_GPIO_IRQ(SLOT0_INTA); 43 return IXP4XX_GPIO_IRQ(SLOT0_INTA);
diff --git a/arch/arm/mach-ixp4xx/dsmg600-pci.c b/arch/arm/mach-ixp4xx/dsmg600-pci.c
index c7612010b3fc..0532510b5e8c 100644
--- a/arch/arm/mach-ixp4xx/dsmg600-pci.c
+++ b/arch/arm/mach-ixp4xx/dsmg600-pci.c
@@ -44,7 +44,7 @@ void __init dsmg600_pci_preinit(void)
44 ixp4xx_pci_preinit(); 44 ixp4xx_pci_preinit();
45} 45}
46 46
47static int __init dsmg600_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 47static int __init dsmg600_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
48{ 48{
49 static int pci_irq_table[MAX_DEV][IRQ_LINES] = { 49 static int pci_irq_table[MAX_DEV][IRQ_LINES] = {
50 { IXP4XX_GPIO_IRQ(INTE), -1, -1 }, 50 { IXP4XX_GPIO_IRQ(INTE), -1, -1 },
diff --git a/arch/arm/mach-ixp4xx/fsg-pci.c b/arch/arm/mach-ixp4xx/fsg-pci.c
index 44ccde9d4879..d2ac803328f7 100644
--- a/arch/arm/mach-ixp4xx/fsg-pci.c
+++ b/arch/arm/mach-ixp4xx/fsg-pci.c
@@ -38,7 +38,7 @@ void __init fsg_pci_preinit(void)
38 ixp4xx_pci_preinit(); 38 ixp4xx_pci_preinit();
39} 39}
40 40
41static int __init fsg_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 41static int __init fsg_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
42{ 42{
43 static int pci_irq_table[IRQ_LINES] = { 43 static int pci_irq_table[IRQ_LINES] = {
44 IXP4XX_GPIO_IRQ(INTC), 44 IXP4XX_GPIO_IRQ(INTC),
diff --git a/arch/arm/mach-ixp4xx/gateway7001-pci.c b/arch/arm/mach-ixp4xx/gateway7001-pci.c
index fc1124168874..76581fb467c4 100644
--- a/arch/arm/mach-ixp4xx/gateway7001-pci.c
+++ b/arch/arm/mach-ixp4xx/gateway7001-pci.c
@@ -35,7 +35,8 @@ void __init gateway7001_pci_preinit(void)
35 ixp4xx_pci_preinit(); 35 ixp4xx_pci_preinit();
36} 36}
37 37
38static int __init gateway7001_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 38static int __init gateway7001_map_irq(const struct pci_dev *dev, u8 slot,
39 u8 pin)
39{ 40{
40 if (slot == 1) 41 if (slot == 1)
41 return IRQ_IXP4XX_GPIO11; 42 return IRQ_IXP4XX_GPIO11;
diff --git a/arch/arm/mach-ixp4xx/goramo_mlr.c b/arch/arm/mach-ixp4xx/goramo_mlr.c
index 5f00ad224fe0..7548d9a2efe2 100644
--- a/arch/arm/mach-ixp4xx/goramo_mlr.c
+++ b/arch/arm/mach-ixp4xx/goramo_mlr.c
@@ -462,7 +462,7 @@ static void __init gmlr_pci_postinit(void)
462 } 462 }
463} 463}
464 464
465static int __init gmlr_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 465static int __init gmlr_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
466{ 466{
467 switch(slot) { 467 switch(slot) {
468 case SLOT_ETHA: return IXP4XX_GPIO_IRQ(GPIO_IRQ_ETHA); 468 case SLOT_ETHA: return IXP4XX_GPIO_IRQ(GPIO_IRQ_ETHA);
diff --git a/arch/arm/mach-ixp4xx/gtwx5715-pci.c b/arch/arm/mach-ixp4xx/gtwx5715-pci.c
index 38cc0725dbd8..d68fc068c38d 100644
--- a/arch/arm/mach-ixp4xx/gtwx5715-pci.c
+++ b/arch/arm/mach-ixp4xx/gtwx5715-pci.c
@@ -49,7 +49,7 @@ void __init gtwx5715_pci_preinit(void)
49} 49}
50 50
51 51
52static int __init gtwx5715_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 52static int __init gtwx5715_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
53{ 53{
54 int rc = -1; 54 int rc = -1;
55 55
diff --git a/arch/arm/mach-ixp4xx/ixdp425-pci.c b/arch/arm/mach-ixp4xx/ixdp425-pci.c
index 58f400417eaf..fffd8c5e40bf 100644
--- a/arch/arm/mach-ixp4xx/ixdp425-pci.c
+++ b/arch/arm/mach-ixp4xx/ixdp425-pci.c
@@ -43,7 +43,7 @@ void __init ixdp425_pci_preinit(void)
43 ixp4xx_pci_preinit(); 43 ixp4xx_pci_preinit();
44} 44}
45 45
46static int __init ixdp425_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 46static int __init ixdp425_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
47{ 47{
48 static int pci_irq_table[IRQ_LINES] = { 48 static int pci_irq_table[IRQ_LINES] = {
49 IXP4XX_GPIO_IRQ(INTA), 49 IXP4XX_GPIO_IRQ(INTA),
diff --git a/arch/arm/mach-ixp4xx/ixdpg425-pci.c b/arch/arm/mach-ixp4xx/ixdpg425-pci.c
index e64f6d041488..34efe75015ec 100644
--- a/arch/arm/mach-ixp4xx/ixdpg425-pci.c
+++ b/arch/arm/mach-ixp4xx/ixdpg425-pci.c
@@ -31,7 +31,7 @@ void __init ixdpg425_pci_preinit(void)
31 ixp4xx_pci_preinit(); 31 ixp4xx_pci_preinit();
32} 32}
33 33
34static int __init ixdpg425_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 34static int __init ixdpg425_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
35{ 35{
36 if (slot == 12 || slot == 13) 36 if (slot == 12 || slot == 13)
37 return IRQ_IXP4XX_GPIO7; 37 return IRQ_IXP4XX_GPIO7;
diff --git a/arch/arm/mach-ixp4xx/nas100d-pci.c b/arch/arm/mach-ixp4xx/nas100d-pci.c
index 428d1202b799..5434ccf553eb 100644
--- a/arch/arm/mach-ixp4xx/nas100d-pci.c
+++ b/arch/arm/mach-ixp4xx/nas100d-pci.c
@@ -41,7 +41,7 @@ void __init nas100d_pci_preinit(void)
41 ixp4xx_pci_preinit(); 41 ixp4xx_pci_preinit();
42} 42}
43 43
44static int __init nas100d_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 44static int __init nas100d_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
45{ 45{
46 static int pci_irq_table[MAX_DEV][IRQ_LINES] = { 46 static int pci_irq_table[MAX_DEV][IRQ_LINES] = {
47 { IXP4XX_GPIO_IRQ(INTA), -1, -1 }, 47 { IXP4XX_GPIO_IRQ(INTA), -1, -1 },
diff --git a/arch/arm/mach-ixp4xx/nslu2-pci.c b/arch/arm/mach-ixp4xx/nslu2-pci.c
index 2e85f76b950d..b57160535e47 100644
--- a/arch/arm/mach-ixp4xx/nslu2-pci.c
+++ b/arch/arm/mach-ixp4xx/nslu2-pci.c
@@ -38,7 +38,7 @@ void __init nslu2_pci_preinit(void)
38 ixp4xx_pci_preinit(); 38 ixp4xx_pci_preinit();
39} 39}
40 40
41static int __init nslu2_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 41static int __init nslu2_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
42{ 42{
43 static int pci_irq_table[IRQ_LINES] = { 43 static int pci_irq_table[IRQ_LINES] = {
44 IXP4XX_GPIO_IRQ(INTA), 44 IXP4XX_GPIO_IRQ(INTA),
diff --git a/arch/arm/mach-ixp4xx/vulcan-pci.c b/arch/arm/mach-ixp4xx/vulcan-pci.c
index 03bdec5140a7..0bc3f34c282f 100644
--- a/arch/arm/mach-ixp4xx/vulcan-pci.c
+++ b/arch/arm/mach-ixp4xx/vulcan-pci.c
@@ -43,7 +43,7 @@ void __init vulcan_pci_preinit(void)
43 ixp4xx_pci_preinit(); 43 ixp4xx_pci_preinit();
44} 44}
45 45
46static int __init vulcan_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 46static int __init vulcan_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
47{ 47{
48 if (slot == 1) 48 if (slot == 1)
49 return IXP4XX_GPIO_IRQ(INTA); 49 return IXP4XX_GPIO_IRQ(INTA);
diff --git a/arch/arm/mach-ixp4xx/wg302v2-pci.c b/arch/arm/mach-ixp4xx/wg302v2-pci.c
index 17f3cf59a31b..f27dfcfe811b 100644
--- a/arch/arm/mach-ixp4xx/wg302v2-pci.c
+++ b/arch/arm/mach-ixp4xx/wg302v2-pci.c
@@ -35,7 +35,7 @@ void __init wg302v2_pci_preinit(void)
35 ixp4xx_pci_preinit(); 35 ixp4xx_pci_preinit();
36} 36}
37 37
38static int __init wg302v2_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 38static int __init wg302v2_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
39{ 39{
40 if (slot == 1) 40 if (slot == 1)
41 return IRQ_IXP4XX_GPIO8; 41 return IRQ_IXP4XX_GPIO8;
diff --git a/arch/arm/mach-kirkwood/pcie.c b/arch/arm/mach-kirkwood/pcie.c
index bfeb9c900cec..74b992d810ea 100644
--- a/arch/arm/mach-kirkwood/pcie.c
+++ b/arch/arm/mach-kirkwood/pcie.c
@@ -245,7 +245,8 @@ kirkwood_pcie_scan_bus(int nr, struct pci_sys_data *sys)
245 return bus; 245 return bus;
246} 246}
247 247
248static int __init kirkwood_pcie_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 248static int __init kirkwood_pcie_map_irq(const struct pci_dev *dev, u8 slot,
249 u8 pin)
249{ 250{
250 struct pcie_port *pp = bus_to_port(dev->bus); 251 struct pcie_port *pp = bus_to_port(dev->bus);
251 252
diff --git a/arch/arm/mach-ks8695/board-dsm320.c b/arch/arm/mach-ks8695/board-dsm320.c
index ada92b6bed24..1338cb3e9827 100644
--- a/arch/arm/mach-ks8695/board-dsm320.c
+++ b/arch/arm/mach-ks8695/board-dsm320.c
@@ -34,7 +34,7 @@
34#include "generic.h" 34#include "generic.h"
35 35
36#ifdef CONFIG_PCI 36#ifdef CONFIG_PCI
37static int dsm320_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 37static int dsm320_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
38{ 38{
39 switch (slot) { 39 switch (slot) {
40 case 0: 40 case 0:
diff --git a/arch/arm/mach-ks8695/board-micrel.c b/arch/arm/mach-ks8695/board-micrel.c
index c7ad09bd6ea2..e2e3cba8dcdb 100644
--- a/arch/arm/mach-ks8695/board-micrel.c
+++ b/arch/arm/mach-ks8695/board-micrel.c
@@ -24,7 +24,7 @@
24#include "generic.h" 24#include "generic.h"
25 25
26#ifdef CONFIG_PCI 26#ifdef CONFIG_PCI
27static int micrel_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 27static int micrel_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
28{ 28{
29 return KS8695_IRQ_EXTERN0; 29 return KS8695_IRQ_EXTERN0;
30} 30}
diff --git a/arch/arm/mach-ks8695/include/mach/devices.h b/arch/arm/mach-ks8695/include/mach/devices.h
index 2744fecb429c..85a3c9aa7d13 100644
--- a/arch/arm/mach-ks8695/include/mach/devices.h
+++ b/arch/arm/mach-ks8695/include/mach/devices.h
@@ -30,7 +30,7 @@ extern void __init ks8695_init_leds(u8 cpu_led, u8 timer_led);
30 30
31struct ks8695_pci_cfg { 31struct ks8695_pci_cfg {
32 short mode; 32 short mode;
33 int (*map_irq)(struct pci_dev *, u8, u8); 33 int (*map_irq)(const struct pci_dev *, u8, u8);
34}; 34};
35extern __init void ks8695_init_pci(struct ks8695_pci_cfg *); 35extern __init void ks8695_init_pci(struct ks8695_pci_cfg *);
36 36
diff --git a/arch/arm/mach-mv78xx0/pcie.c b/arch/arm/mach-mv78xx0/pcie.c
index d6336afe9948..c51af1cac300 100644
--- a/arch/arm/mach-mv78xx0/pcie.c
+++ b/arch/arm/mach-mv78xx0/pcie.c
@@ -260,7 +260,8 @@ mv78xx0_pcie_scan_bus(int nr, struct pci_sys_data *sys)
260 return bus; 260 return bus;
261} 261}
262 262
263static int __init mv78xx0_pcie_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 263static int __init mv78xx0_pcie_map_irq(const struct pci_dev *dev, u8 slot,
264 u8 pin)
264{ 265{
265 struct pcie_port *pp = bus_to_port(dev->bus->number); 266 struct pcie_port *pp = bus_to_port(dev->bus->number);
266 267
diff --git a/arch/arm/mach-orion5x/common.h b/arch/arm/mach-orion5x/common.h
index f2b2b35e8646..3e5499dda49a 100644
--- a/arch/arm/mach-orion5x/common.h
+++ b/arch/arm/mach-orion5x/common.h
@@ -51,7 +51,7 @@ void orion5x_pci_disable(void);
51void orion5x_pci_set_cardbus_mode(void); 51void orion5x_pci_set_cardbus_mode(void);
52int orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys); 52int orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys);
53struct pci_bus *orion5x_pci_sys_scan_bus(int nr, struct pci_sys_data *sys); 53struct pci_bus *orion5x_pci_sys_scan_bus(int nr, struct pci_sys_data *sys);
54int orion5x_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin); 54int orion5x_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin);
55 55
56struct machine_desc; 56struct machine_desc;
57struct meminfo; 57struct meminfo;
diff --git a/arch/arm/mach-orion5x/db88f5281-setup.c b/arch/arm/mach-orion5x/db88f5281-setup.c
index f95d3cb01cbf..a3e3e9e5e328 100644
--- a/arch/arm/mach-orion5x/db88f5281-setup.c
+++ b/arch/arm/mach-orion5x/db88f5281-setup.c
@@ -237,7 +237,8 @@ void __init db88f5281_pci_preinit(void)
237 } 237 }
238} 238}
239 239
240static int __init db88f5281_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 240static int __init db88f5281_pci_map_irq(const struct pci_dev *dev, u8 slot,
241 u8 pin)
241{ 242{
242 int irq; 243 int irq;
243 244
diff --git a/arch/arm/mach-orion5x/dns323-setup.c b/arch/arm/mach-orion5x/dns323-setup.c
index 855e0e77d563..a6eddae82a0b 100644
--- a/arch/arm/mach-orion5x/dns323-setup.c
+++ b/arch/arm/mach-orion5x/dns323-setup.c
@@ -70,14 +70,14 @@ enum {
70 * PCI setup 70 * PCI setup
71 */ 71 */
72 72
73static int __init dns323_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 73static int __init dns323_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
74{ 74{
75 int irq; 75 int irq;
76 76
77 /* 77 /*
78 * Check for devices with hard-wired IRQs. 78 * Check for devices with hard-wired IRQs.
79 */ 79 */
80 irq = orion5x_pci_map_irq(dev, slot, pin); 80 irq = orion5x_pci_map_irq(const dev, slot, pin);
81 if (irq != -1) 81 if (irq != -1)
82 return irq; 82 return irq;
83 83
diff --git a/arch/arm/mach-orion5x/kurobox_pro-setup.c b/arch/arm/mach-orion5x/kurobox_pro-setup.c
index c0eb6462633f..00381249d766 100644
--- a/arch/arm/mach-orion5x/kurobox_pro-setup.c
+++ b/arch/arm/mach-orion5x/kurobox_pro-setup.c
@@ -119,7 +119,8 @@ static struct platform_device kurobox_pro_nor_flash = {
119 * PCI 119 * PCI
120 ****************************************************************************/ 120 ****************************************************************************/
121 121
122static int __init kurobox_pro_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 122static int __init kurobox_pro_pci_map_irq(const struct pci_dev *dev, u8 slot,
123 u8 pin)
123{ 124{
124 int irq; 125 int irq;
125 126
diff --git a/arch/arm/mach-orion5x/mss2-setup.c b/arch/arm/mach-orion5x/mss2-setup.c
index 59263b73d1e4..ef3bb8e9a4c2 100644
--- a/arch/arm/mach-orion5x/mss2-setup.c
+++ b/arch/arm/mach-orion5x/mss2-setup.c
@@ -73,7 +73,7 @@ static struct platform_device mss2_nor_flash = {
73/**************************************************************************** 73/****************************************************************************
74 * PCI setup 74 * PCI setup
75 ****************************************************************************/ 75 ****************************************************************************/
76static int __init mss2_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 76static int __init mss2_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
77{ 77{
78 int irq; 78 int irq;
79 79
diff --git a/arch/arm/mach-orion5x/pci.c b/arch/arm/mach-orion5x/pci.c
index f64965d4f8e8..28b8760ab9fa 100644
--- a/arch/arm/mach-orion5x/pci.c
+++ b/arch/arm/mach-orion5x/pci.c
@@ -589,7 +589,7 @@ struct pci_bus __init *orion5x_pci_sys_scan_bus(int nr, struct pci_sys_data *sys
589 return bus; 589 return bus;
590} 590}
591 591
592int __init orion5x_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 592int __init orion5x_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
593{ 593{
594 int bus = dev->bus->number; 594 int bus = dev->bus->number;
595 595
diff --git a/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c b/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c
index 9eec7c2375e9..291d22bf44c9 100644
--- a/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c
+++ b/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c
@@ -131,7 +131,7 @@ static void __init rd88f5181l_fxo_init(void)
131} 131}
132 132
133static int __init 133static int __init
134rd88f5181l_fxo_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 134rd88f5181l_fxo_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
135{ 135{
136 int irq; 136 int irq;
137 137
diff --git a/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c b/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c
index 0cc90bbfd326..3f02362e1632 100644
--- a/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c
+++ b/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c
@@ -140,7 +140,7 @@ static void __init rd88f5181l_ge_init(void)
140} 140}
141 141
142static int __init 142static int __init
143rd88f5181l_ge_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 143rd88f5181l_ge_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
144{ 144{
145 int irq; 145 int irq;
146 146
diff --git a/arch/arm/mach-orion5x/rd88f5182-setup.c b/arch/arm/mach-orion5x/rd88f5182-setup.c
index 48da39b9bdb0..27fd38e658bd 100644
--- a/arch/arm/mach-orion5x/rd88f5182-setup.c
+++ b/arch/arm/mach-orion5x/rd88f5182-setup.c
@@ -172,7 +172,8 @@ void __init rd88f5182_pci_preinit(void)
172 } 172 }
173} 173}
174 174
175static int __init rd88f5182_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 175static int __init rd88f5182_pci_map_irq(const struct pci_dev *dev, u8 slot,
176 u8 pin)
176{ 177{
177 int irq; 178 int irq;
178 179
diff --git a/arch/arm/mach-orion5x/terastation_pro2-setup.c b/arch/arm/mach-orion5x/terastation_pro2-setup.c
index 29ce826c3c21..a34e4fac72b0 100644
--- a/arch/arm/mach-orion5x/terastation_pro2-setup.c
+++ b/arch/arm/mach-orion5x/terastation_pro2-setup.c
@@ -100,7 +100,7 @@ void __init tsp2_pci_preinit(void)
100 } 100 }
101} 101}
102 102
103static int __init tsp2_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 103static int __init tsp2_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
104{ 104{
105 int irq; 105 int irq;
106 106
diff --git a/arch/arm/mach-orion5x/ts209-setup.c b/arch/arm/mach-orion5x/ts209-setup.c
index 47162fd5f044..c9831614e355 100644
--- a/arch/arm/mach-orion5x/ts209-setup.c
+++ b/arch/arm/mach-orion5x/ts209-setup.c
@@ -143,7 +143,8 @@ void __init qnap_ts209_pci_preinit(void)
143 } 143 }
144} 144}
145 145
146static int __init qnap_ts209_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 146static int __init qnap_ts209_pci_map_irq(const struct pci_dev *dev, u8 slot,
147 u8 pin)
147{ 148{
148 int irq; 149 int irq;
149 150
diff --git a/arch/arm/mach-orion5x/ts409-setup.c b/arch/arm/mach-orion5x/ts409-setup.c
index 5aacc7ac5cf4..cc33b2222bad 100644
--- a/arch/arm/mach-orion5x/ts409-setup.c
+++ b/arch/arm/mach-orion5x/ts409-setup.c
@@ -121,7 +121,8 @@ static struct platform_device qnap_ts409_nor_flash = {
121 * PCI 121 * PCI
122 ****************************************************************************/ 122 ****************************************************************************/
123 123
124static int __init qnap_ts409_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 124static int __init qnap_ts409_pci_map_irq(const struct pci_dev *dev, u8 slot,
125 u8 pin)
125{ 126{
126 int irq; 127 int irq;
127 128
diff --git a/arch/arm/mach-orion5x/wnr854t-setup.c b/arch/arm/mach-orion5x/wnr854t-setup.c
index 444a1c7fdfd6..2653595f901c 100644
--- a/arch/arm/mach-orion5x/wnr854t-setup.c
+++ b/arch/arm/mach-orion5x/wnr854t-setup.c
@@ -133,7 +133,8 @@ static void __init wnr854t_init(void)
133 platform_device_register(&wnr854t_nor_flash); 133 platform_device_register(&wnr854t_nor_flash);
134} 134}
135 135
136static int __init wnr854t_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 136static int __init wnr854t_pci_map_irq(const struct pci_dev *dev, u8 slot,
137 u8 pin)
137{ 138{
138 int irq; 139 int irq;
139 140
diff --git a/arch/arm/mach-orion5x/wrt350n-v2-setup.c b/arch/arm/mach-orion5x/wrt350n-v2-setup.c
index d1952be0ae1c..251ef1543e53 100644
--- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c
+++ b/arch/arm/mach-orion5x/wrt350n-v2-setup.c
@@ -221,7 +221,8 @@ static void __init wrt350n_v2_init(void)
221 platform_device_register(&wrt350n_v2_button_device); 221 platform_device_register(&wrt350n_v2_button_device);
222} 222}
223 223
224static int __init wrt350n_v2_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 224static int __init wrt350n_v2_pci_map_irq(const struct pci_dev *dev, u8 slot,
225 u8 pin)
225{ 226{
226 int irq; 227 int irq;
227 228
diff --git a/arch/arm/mach-pxa/cm-x2xx-pci.c b/arch/arm/mach-pxa/cm-x2xx-pci.c
index 4eb7660a279d..6bf479d9b5ac 100644
--- a/arch/arm/mach-pxa/cm-x2xx-pci.c
+++ b/arch/arm/mach-pxa/cm-x2xx-pci.c
@@ -77,7 +77,7 @@ void cmx2xx_pci_resume(void) {}
77#endif 77#endif
78 78
79/* PCI IRQ mapping*/ 79/* PCI IRQ mapping*/
80static int __init cmx2xx_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 80static int __init cmx2xx_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
81{ 81{
82 int irq; 82 int irq;
83 83
diff --git a/arch/arm/mach-sa1100/pci-nanoengine.c b/arch/arm/mach-sa1100/pci-nanoengine.c
index 5fc074fe3eee..964c6c3cd7a6 100644
--- a/arch/arm/mach-sa1100/pci-nanoengine.c
+++ b/arch/arm/mach-sa1100/pci-nanoengine.c
@@ -122,7 +122,8 @@ static struct pci_ops pci_nano_ops = {
122 .write = nanoengine_write_config, 122 .write = nanoengine_write_config,
123}; 123};
124 124
125static int __init pci_nanoengine_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 125static int __init pci_nanoengine_map_irq(const struct pci_dev *dev, u8 slot,
126 u8 pin)
126{ 127{
127 return NANOENGINE_IRQ_GPIO_PCI; 128 return NANOENGINE_IRQ_GPIO_PCI;
128} 129}
diff --git a/arch/arm/mach-shark/pci.c b/arch/arm/mach-shark/pci.c
index 92d7227de0ac..7cb79a092f31 100644
--- a/arch/arm/mach-shark/pci.c
+++ b/arch/arm/mach-shark/pci.c
@@ -14,7 +14,7 @@
14#include <asm/mach/pci.h> 14#include <asm/mach/pci.h>
15#include <asm/mach-types.h> 15#include <asm/mach-types.h>
16 16
17static int __init shark_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 17static int __init shark_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
18{ 18{
19 if (dev->bus->number == 0) 19 if (dev->bus->number == 0)
20 if (dev->devfn == 0) 20 if (dev->devfn == 0)
diff --git a/arch/arm/mach-tegra/pcie.c b/arch/arm/mach-tegra/pcie.c
index 031cd0a7d71d..f1f699d86c32 100644
--- a/arch/arm/mach-tegra/pcie.c
+++ b/arch/arm/mach-tegra/pcie.c
@@ -449,7 +449,7 @@ static int tegra_pcie_setup(int nr, struct pci_sys_data *sys)
449 return 1; 449 return 1;
450} 450}
451 451
452static int tegra_pcie_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 452static int tegra_pcie_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
453{ 453{
454 return INT_PCIE_INTR; 454 return INT_PCIE_INTR;
455} 455}
diff --git a/arch/arm/mach-versatile/pci.c b/arch/arm/mach-versatile/pci.c
index 7848a177b1f0..c898deb3ada0 100644
--- a/arch/arm/mach-versatile/pci.c
+++ b/arch/arm/mach-versatile/pci.c
@@ -328,7 +328,7 @@ void __init pci_versatile_preinit(void)
328/* 328/*
329 * map the specified device/slot/pin to an IRQ. Different backplanes may need to modify this. 329 * map the specified device/slot/pin to an IRQ. Different backplanes may need to modify this.
330 */ 330 */
331static int __init versatile_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 331static int __init versatile_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
332{ 332{
333 int irq; 333 int irq;
334 int devslot = PCI_SLOT(dev->devfn); 334 int devslot = PCI_SLOT(dev->devfn);
diff --git a/arch/sh/drivers/pci/fixups-cayman.c b/arch/sh/drivers/pci/fixups-cayman.c
index b68b61d22c6c..edc2fb7a5bb2 100644
--- a/arch/sh/drivers/pci/fixups-cayman.c
+++ b/arch/sh/drivers/pci/fixups-cayman.c
@@ -5,7 +5,7 @@
5#include <cpu/irq.h> 5#include <cpu/irq.h>
6#include "pci-sh5.h" 6#include "pci-sh5.h"
7 7
8int __init pcibios_map_platform_irq(struct pci_dev *dev, u8 slot, u8 pin) 8int __init pcibios_map_platform_irq(const struct pci_dev *dev, u8 slot, u8 pin)
9{ 9{
10 int result = -1; 10 int result = -1;
11 11
diff --git a/arch/sh/drivers/pci/fixups-dreamcast.c b/arch/sh/drivers/pci/fixups-dreamcast.c
index 942ef4f155f5..edeea8960c30 100644
--- a/arch/sh/drivers/pci/fixups-dreamcast.c
+++ b/arch/sh/drivers/pci/fixups-dreamcast.c
@@ -64,7 +64,7 @@ static void __init gapspci_fixup_resources(struct pci_dev *dev)
64} 64}
65DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, gapspci_fixup_resources); 65DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, gapspci_fixup_resources);
66 66
67int __init pcibios_map_platform_irq(struct pci_dev *dev, u8 slot, u8 pin) 67int __init pcibios_map_platform_irq(const struct pci_dev *dev, u8 slot, u8 pin)
68{ 68{
69 /* 69 /*
70 * The interrupt routing semantics here are quite trivial. 70 * The interrupt routing semantics here are quite trivial.
diff --git a/arch/sh/drivers/pci/fixups-landisk.c b/arch/sh/drivers/pci/fixups-landisk.c
index 95c6e2d94a0a..ecb1d1060638 100644
--- a/arch/sh/drivers/pci/fixups-landisk.c
+++ b/arch/sh/drivers/pci/fixups-landisk.c
@@ -19,7 +19,7 @@
19#define PCIMCR_MRSET_OFF 0xBFFFFFFF 19#define PCIMCR_MRSET_OFF 0xBFFFFFFF
20#define PCIMCR_RFSH_OFF 0xFFFFFFFB 20#define PCIMCR_RFSH_OFF 0xFFFFFFFB
21 21
22int pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin) 22int pcibios_map_platform_irq(const struct pci_dev *pdev, u8 slot, u8 pin)
23{ 23{
24 /* 24 /*
25 * slot0: pin1-4 = irq5,6,7,8 25 * slot0: pin1-4 = irq5,6,7,8
diff --git a/arch/sh/drivers/pci/fixups-r7780rp.c b/arch/sh/drivers/pci/fixups-r7780rp.c
index 08b2d8658a00..f9370dce0b70 100644
--- a/arch/sh/drivers/pci/fixups-r7780rp.c
+++ b/arch/sh/drivers/pci/fixups-r7780rp.c
@@ -18,7 +18,7 @@ static char irq_tab[] __initdata = {
18 65, 66, 67, 68, 18 65, 66, 67, 68,
19}; 19};
20 20
21int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin) 21int __init pcibios_map_platform_irq(const struct pci_dev *pdev, u8 slot, u8 pin)
22{ 22{
23 return irq_tab[slot]; 23 return irq_tab[slot];
24} 24}
diff --git a/arch/sh/drivers/pci/fixups-rts7751r2d.c b/arch/sh/drivers/pci/fixups-rts7751r2d.c
index e248516118a9..eaddb56c45c6 100644
--- a/arch/sh/drivers/pci/fixups-rts7751r2d.c
+++ b/arch/sh/drivers/pci/fixups-rts7751r2d.c
@@ -31,7 +31,7 @@ static char lboxre2_irq_tab[] __initdata = {
31 IRQ_ETH0, IRQ_ETH1, IRQ_INTA, IRQ_INTD, 31 IRQ_ETH0, IRQ_ETH1, IRQ_INTA, IRQ_INTD,
32}; 32};
33 33
34int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin) 34int __init pcibios_map_platform_irq(const struct pci_dev *pdev, u8 slot, u8 pin)
35{ 35{
36 if (mach_is_lboxre2()) 36 if (mach_is_lboxre2())
37 return lboxre2_irq_tab[slot]; 37 return lboxre2_irq_tab[slot];
diff --git a/arch/sh/drivers/pci/fixups-sdk7780.c b/arch/sh/drivers/pci/fixups-sdk7780.c
index 0930f988ac29..0b8472501b88 100644
--- a/arch/sh/drivers/pci/fixups-sdk7780.c
+++ b/arch/sh/drivers/pci/fixups-sdk7780.c
@@ -27,7 +27,7 @@ static char sdk7780_irq_tab[4][16] __initdata = {
27 { 68, 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, 27 { 68, 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
28}; 28};
29 29
30int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin) 30int __init pcibios_map_platform_irq(const struct pci_dev *pdev, u8 slot, u8 pin)
31{ 31{
32 return sdk7780_irq_tab[pin-1][slot]; 32 return sdk7780_irq_tab[pin-1][slot];
33} 33}
diff --git a/arch/sh/drivers/pci/fixups-se7751.c b/arch/sh/drivers/pci/fixups-se7751.c
index fd3e6b02f289..2ec146c3fa44 100644
--- a/arch/sh/drivers/pci/fixups-se7751.c
+++ b/arch/sh/drivers/pci/fixups-se7751.c
@@ -6,7 +6,7 @@
6#include <linux/io.h> 6#include <linux/io.h>
7#include "pci-sh4.h" 7#include "pci-sh4.h"
8 8
9int __init pcibios_map_platform_irq(struct pci_dev *, u8 slot, u8 pin) 9int __init pcibios_map_platform_irq(const struct pci_dev *, u8 slot, u8 pin)
10{ 10{
11 switch (slot) { 11 switch (slot) {
12 case 0: return 13; 12 case 0: return 13;
diff --git a/arch/sh/drivers/pci/fixups-sh03.c b/arch/sh/drivers/pci/fixups-sh03.c
index 2e8a18b7ee53..1615e5906168 100644
--- a/arch/sh/drivers/pci/fixups-sh03.c
+++ b/arch/sh/drivers/pci/fixups-sh03.c
@@ -3,7 +3,7 @@
3#include <linux/types.h> 3#include <linux/types.h>
4#include <linux/pci.h> 4#include <linux/pci.h>
5 5
6int __init pcibios_map_platform_irq(struct pci_dev *dev, u8 slot, u8 pin) 6int __init pcibios_map_platform_irq(const struct pci_dev *dev, u8 slot, u8 pin)
7{ 7{
8 int irq; 8 int irq;
9 9
diff --git a/arch/sh/drivers/pci/fixups-snapgear.c b/arch/sh/drivers/pci/fixups-snapgear.c
index 5a39ecc1adb8..4a093c648d12 100644
--- a/arch/sh/drivers/pci/fixups-snapgear.c
+++ b/arch/sh/drivers/pci/fixups-snapgear.c
@@ -18,7 +18,7 @@
18#include <linux/pci.h> 18#include <linux/pci.h>
19#include "pci-sh4.h" 19#include "pci-sh4.h"
20 20
21int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin) 21int __init pcibios_map_platform_irq(const struct pci_dev *pdev, u8 slot, u8 pin)
22{ 22{
23 int irq = -1; 23 int irq = -1;
24 24
diff --git a/arch/sh/drivers/pci/fixups-titan.c b/arch/sh/drivers/pci/fixups-titan.c
index 3a79fa8254a6..bd1addb1b8be 100644
--- a/arch/sh/drivers/pci/fixups-titan.c
+++ b/arch/sh/drivers/pci/fixups-titan.c
@@ -27,7 +27,7 @@ static char titan_irq_tab[] __initdata = {
27 TITAN_IRQ_USB, 27 TITAN_IRQ_USB,
28}; 28};
29 29
30int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin) 30int __init pcibios_map_platform_irq(const struct pci_dev *pdev, u8 slot, u8 pin)
31{ 31{
32 int irq = titan_irq_tab[slot]; 32 int irq = titan_irq_tab[slot];
33 33
diff --git a/arch/sh/drivers/pci/pcie-sh7786.c b/arch/sh/drivers/pci/pcie-sh7786.c
index 4418f9070ed1..4df27c4fbf99 100644
--- a/arch/sh/drivers/pci/pcie-sh7786.c
+++ b/arch/sh/drivers/pci/pcie-sh7786.c
@@ -466,7 +466,7 @@ static int __init pcie_init(struct sh7786_pcie_port *port)
466 return 0; 466 return 0;
467} 467}
468 468
469int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin) 469int __init pcibios_map_platform_irq(const struct pci_dev *pdev, u8 slot, u8 pin)
470{ 470{
471 return 71; 471 return 71;
472} 472}
diff --git a/arch/sh/include/asm/pci.h b/arch/sh/include/asm/pci.h
index f0efe97f1750..cb21e2399dc1 100644
--- a/arch/sh/include/asm/pci.h
+++ b/arch/sh/include/asm/pci.h
@@ -112,7 +112,7 @@ static inline void pci_dma_burst_advice(struct pci_dev *pdev,
112#endif 112#endif
113 113
114/* Board-specific fixup routines. */ 114/* Board-specific fixup routines. */
115int pcibios_map_platform_irq(struct pci_dev *dev, u8 slot, u8 pin); 115int pcibios_map_platform_irq(const struct pci_dev *dev, u8 slot, u8 pin);
116 116
117extern void pcibios_resource_to_bus(struct pci_dev *dev, 117extern void pcibios_resource_to_bus(struct pci_dev *dev,
118 struct pci_bus_region *region, struct resource *res); 118 struct pci_bus_region *region, struct resource *res);
diff --git a/arch/sparc/include/asm/leon_pci.h b/arch/sparc/include/asm/leon_pci.h
index 42b4b31a82fe..f48527ebdd8f 100644
--- a/arch/sparc/include/asm/leon_pci.h
+++ b/arch/sparc/include/asm/leon_pci.h
@@ -12,7 +12,7 @@ struct leon_pci_info {
12 struct pci_ops *ops; 12 struct pci_ops *ops;
13 struct resource io_space; 13 struct resource io_space;
14 struct resource mem_space; 14 struct resource mem_space;
15 int (*map_irq)(struct pci_dev *dev, u8 slot, u8 pin); 15 int (*map_irq)(const struct pci_dev *dev, u8 slot, u8 pin);
16}; 16};
17 17
18extern void leon_pci_init(struct platform_device *ofdev, 18extern void leon_pci_init(struct platform_device *ofdev,
diff --git a/arch/sparc/kernel/leon_pci_grpci2.c b/arch/sparc/kernel/leon_pci_grpci2.c
index 44dc093ee33a..fad1bd07cb56 100644
--- a/arch/sparc/kernel/leon_pci_grpci2.c
+++ b/arch/sparc/kernel/leon_pci_grpci2.c
@@ -215,7 +215,7 @@ struct grpci2_priv {
215DEFINE_SPINLOCK(grpci2_dev_lock); 215DEFINE_SPINLOCK(grpci2_dev_lock);
216struct grpci2_priv *grpci2priv; 216struct grpci2_priv *grpci2priv;
217 217
218int grpci2_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 218int grpci2_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
219{ 219{
220 struct grpci2_priv *priv = dev->bus->sysdata; 220 struct grpci2_priv *priv = dev->bus->sysdata;
221 int irq_group; 221 int irq_group;
diff --git a/arch/tile/kernel/pci.c b/arch/tile/kernel/pci.c
index 6d4cb5d7a9fd..2a8014cb1ff5 100644
--- a/arch/tile/kernel/pci.c
+++ b/arch/tile/kernel/pci.c
@@ -228,7 +228,7 @@ err_cont:
228 * (pin - 1) converts from the PCI standard's [1:4] convention to 228 * (pin - 1) converts from the PCI standard's [1:4] convention to
229 * a normal [0:3] range. 229 * a normal [0:3] range.
230 */ 230 */
231static int tile_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 231static int tile_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
232{ 232{
233 struct pci_controller *controller = 233 struct pci_controller *controller =
234 (struct pci_controller *)dev->sysdata; 234 (struct pci_controller *)dev->sysdata;
diff --git a/arch/unicore32/kernel/pci.c b/arch/unicore32/kernel/pci.c
index 100eab842e66..4892fbb54ebf 100644
--- a/arch/unicore32/kernel/pci.c
+++ b/arch/unicore32/kernel/pci.c
@@ -102,7 +102,7 @@ void pci_puv3_preinit(void)
102 writel(readl(PCIBRI_CMD) | PCIBRI_CMD_IO | PCIBRI_CMD_MEM, PCIBRI_CMD); 102 writel(readl(PCIBRI_CMD) | PCIBRI_CMD_IO | PCIBRI_CMD_MEM, PCIBRI_CMD);
103} 103}
104 104
105static int __init pci_puv3_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 105static int __init pci_puv3_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
106{ 106{
107 if (dev->bus->number == 0) { 107 if (dev->bus->number == 0) {
108#ifdef CONFIG_ARCH_FPGA /* 4 pci slots */ 108#ifdef CONFIG_ARCH_FPGA /* 4 pci slots */
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 153aa6f78299..7cf916fc1ce7 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1905,7 +1905,7 @@ config PCI_BIOS
1905# x86-64 doesn't support PCI BIOS access from long mode so always go direct. 1905# x86-64 doesn't support PCI BIOS access from long mode so always go direct.
1906config PCI_DIRECT 1906config PCI_DIRECT
1907 def_bool y 1907 def_bool y
1908 depends on PCI && (X86_64 || (PCI_GODIRECT || PCI_GOANY || PCI_GOOLPC)) 1908 depends on PCI && (X86_64 || (PCI_GODIRECT || PCI_GOANY || PCI_GOOLPC || PCI_GOMMCONFIG))
1909 1909
1910config PCI_MMCONFIG 1910config PCI_MMCONFIG
1911 def_bool y 1911 def_bool y
diff --git a/arch/x86/pci/acpi.c b/arch/x86/pci/acpi.c
index 68c3c1395202..ae3cb23cd89b 100644
--- a/arch/x86/pci/acpi.c
+++ b/arch/x86/pci/acpi.c
@@ -246,10 +246,9 @@ static void add_resources(struct pci_root_info *info)
246 246
247 conflict = insert_resource_conflict(root, res); 247 conflict = insert_resource_conflict(root, res);
248 if (conflict) 248 if (conflict)
249 dev_err(&info->bridge->dev, 249 dev_info(&info->bridge->dev,
250 "address space collision: host bridge window %pR " 250 "ignoring host bridge window %pR (conflicts with %s %pR)\n",
251 "conflicts with %s %pR\n", 251 res, conflict->name, conflict);
252 res, conflict->name, conflict);
253 else 252 else
254 pci_bus_add_resource(info->bus, res, 0); 253 pci_bus_add_resource(info->bus, res, 0);
255 } 254 }
diff --git a/arch/x86/pci/ce4100.c b/arch/x86/pci/ce4100.c
index 67858be4b52b..99176094500b 100644
--- a/arch/x86/pci/ce4100.c
+++ b/arch/x86/pci/ce4100.c
@@ -257,6 +257,7 @@ static int ce4100_conf_read(unsigned int seg, unsigned int bus,
257{ 257{
258 int i; 258 int i;
259 259
260 WARN_ON(seg);
260 if (bus == 1) { 261 if (bus == 1) {
261 for (i = 0; i < ARRAY_SIZE(bus1_fixups); i++) { 262 for (i = 0; i < ARRAY_SIZE(bus1_fixups); i++) {
262 if (bus1_fixups[i].dev_func == devfn && 263 if (bus1_fixups[i].dev_func == devfn &&
@@ -282,6 +283,7 @@ static int ce4100_conf_write(unsigned int seg, unsigned int bus,
282{ 283{
283 int i; 284 int i;
284 285
286 WARN_ON(seg);
285 if (bus == 1) { 287 if (bus == 1) {
286 for (i = 0; i < ARRAY_SIZE(bus1_fixups); i++) { 288 for (i = 0; i < ARRAY_SIZE(bus1_fixups); i++) {
287 if (bus1_fixups[i].dev_func == devfn && 289 if (bus1_fixups[i].dev_func == devfn &&
diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c
index 5fe75026ecc2..92df322e0b57 100644
--- a/arch/x86/pci/common.c
+++ b/arch/x86/pci/common.c
@@ -247,13 +247,6 @@ static const struct dmi_system_id __devinitconst pciprobe_dmi_table[] = {
247 }, 247 },
248#endif /* __i386__ */ 248#endif /* __i386__ */
249 { 249 {
250 .callback = find_sort_method,
251 .ident = "Dell System",
252 .matches = {
253 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
254 },
255 },
256 {
257 .callback = set_bf_sort, 250 .callback = set_bf_sort,
258 .ident = "Dell PowerEdge 1950", 251 .ident = "Dell PowerEdge 1950",
259 .matches = { 252 .matches = {
@@ -294,6 +287,13 @@ static const struct dmi_system_id __devinitconst pciprobe_dmi_table[] = {
294 }, 287 },
295 }, 288 },
296 { 289 {
290 .callback = find_sort_method,
291 .ident = "Dell System",
292 .matches = {
293 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
294 },
295 },
296 {
297 .callback = set_bf_sort, 297 .callback = set_bf_sort,
298 .ident = "HP ProLiant BL20p G3", 298 .ident = "HP ProLiant BL20p G3",
299 .matches = { 299 .matches = {
diff --git a/arch/x86/pci/direct.c b/arch/x86/pci/direct.c
index e6fd8473fb7b..4f2c70439d7f 100644
--- a/arch/x86/pci/direct.c
+++ b/arch/x86/pci/direct.c
@@ -22,7 +22,7 @@ static int pci_conf1_read(unsigned int seg, unsigned int bus,
22{ 22{
23 unsigned long flags; 23 unsigned long flags;
24 24
25 if ((bus > 255) || (devfn > 255) || (reg > 4095)) { 25 if (seg || (bus > 255) || (devfn > 255) || (reg > 4095)) {
26 *value = -1; 26 *value = -1;
27 return -EINVAL; 27 return -EINVAL;
28 } 28 }
@@ -53,7 +53,7 @@ static int pci_conf1_write(unsigned int seg, unsigned int bus,
53{ 53{
54 unsigned long flags; 54 unsigned long flags;
55 55
56 if ((bus > 255) || (devfn > 255) || (reg > 4095)) 56 if (seg || (bus > 255) || (devfn > 255) || (reg > 4095))
57 return -EINVAL; 57 return -EINVAL;
58 58
59 raw_spin_lock_irqsave(&pci_config_lock, flags); 59 raw_spin_lock_irqsave(&pci_config_lock, flags);
@@ -97,6 +97,7 @@ static int pci_conf2_read(unsigned int seg, unsigned int bus,
97 unsigned long flags; 97 unsigned long flags;
98 int dev, fn; 98 int dev, fn;
99 99
100 WARN_ON(seg);
100 if ((bus > 255) || (devfn > 255) || (reg > 255)) { 101 if ((bus > 255) || (devfn > 255) || (reg > 255)) {
101 *value = -1; 102 *value = -1;
102 return -EINVAL; 103 return -EINVAL;
@@ -138,6 +139,7 @@ static int pci_conf2_write(unsigned int seg, unsigned int bus,
138 unsigned long flags; 139 unsigned long flags;
139 int dev, fn; 140 int dev, fn;
140 141
142 WARN_ON(seg);
141 if ((bus > 255) || (devfn > 255) || (reg > 255)) 143 if ((bus > 255) || (devfn > 255) || (reg > 255))
142 return -EINVAL; 144 return -EINVAL;
143 145
diff --git a/arch/x86/pci/numaq_32.c b/arch/x86/pci/numaq_32.c
index 5c9e2458df4e..512a88c41501 100644
--- a/arch/x86/pci/numaq_32.c
+++ b/arch/x86/pci/numaq_32.c
@@ -34,6 +34,7 @@ static int pci_conf1_mq_read(unsigned int seg, unsigned int bus,
34 unsigned long flags; 34 unsigned long flags;
35 void *adr __iomem = XQUAD_PORT_ADDR(0xcfc, BUS2QUAD(bus)); 35 void *adr __iomem = XQUAD_PORT_ADDR(0xcfc, BUS2QUAD(bus));
36 36
37 WARN_ON(seg);
37 if (!value || (bus >= MAX_MP_BUSSES) || (devfn > 255) || (reg > 255)) 38 if (!value || (bus >= MAX_MP_BUSSES) || (devfn > 255) || (reg > 255))
38 return -EINVAL; 39 return -EINVAL;
39 40
@@ -73,6 +74,7 @@ static int pci_conf1_mq_write(unsigned int seg, unsigned int bus,
73 unsigned long flags; 74 unsigned long flags;
74 void *adr __iomem = XQUAD_PORT_ADDR(0xcfc, BUS2QUAD(bus)); 75 void *adr __iomem = XQUAD_PORT_ADDR(0xcfc, BUS2QUAD(bus));
75 76
77 WARN_ON(seg);
76 if ((bus >= MAX_MP_BUSSES) || (devfn > 255) || (reg > 255)) 78 if ((bus >= MAX_MP_BUSSES) || (devfn > 255) || (reg > 255))
77 return -EINVAL; 79 return -EINVAL;
78 80
diff --git a/arch/x86/pci/olpc.c b/arch/x86/pci/olpc.c
index 13700ec8e2e4..5262603b04d9 100644
--- a/arch/x86/pci/olpc.c
+++ b/arch/x86/pci/olpc.c
@@ -206,6 +206,8 @@ static int pci_olpc_read(unsigned int seg, unsigned int bus,
206{ 206{
207 uint32_t *addr; 207 uint32_t *addr;
208 208
209 WARN_ON(seg);
210
209 /* Use the hardware mechanism for non-simulated devices */ 211 /* Use the hardware mechanism for non-simulated devices */
210 if (!is_simulated(bus, devfn)) 212 if (!is_simulated(bus, devfn))
211 return pci_direct_conf1.read(seg, bus, devfn, reg, len, value); 213 return pci_direct_conf1.read(seg, bus, devfn, reg, len, value);
@@ -264,6 +266,8 @@ static int pci_olpc_read(unsigned int seg, unsigned int bus,
264static int pci_olpc_write(unsigned int seg, unsigned int bus, 266static int pci_olpc_write(unsigned int seg, unsigned int bus,
265 unsigned int devfn, int reg, int len, uint32_t value) 267 unsigned int devfn, int reg, int len, uint32_t value)
266{ 268{
269 WARN_ON(seg);
270
267 /* Use the hardware mechanism for non-simulated devices */ 271 /* Use the hardware mechanism for non-simulated devices */
268 if (!is_simulated(bus, devfn)) 272 if (!is_simulated(bus, devfn))
269 return pci_direct_conf1.write(seg, bus, devfn, reg, len, value); 273 return pci_direct_conf1.write(seg, bus, devfn, reg, len, value);
diff --git a/arch/x86/pci/pcbios.c b/arch/x86/pci/pcbios.c
index a5f7d0d63de0..f68553551467 100644
--- a/arch/x86/pci/pcbios.c
+++ b/arch/x86/pci/pcbios.c
@@ -181,6 +181,7 @@ static int pci_bios_read(unsigned int seg, unsigned int bus,
181 unsigned long flags; 181 unsigned long flags;
182 unsigned long bx = (bus << 8) | devfn; 182 unsigned long bx = (bus << 8) | devfn;
183 183
184 WARN_ON(seg);
184 if (!value || (bus > 255) || (devfn > 255) || (reg > 255)) 185 if (!value || (bus > 255) || (devfn > 255) || (reg > 255))
185 return -EINVAL; 186 return -EINVAL;
186 187
@@ -247,6 +248,7 @@ static int pci_bios_write(unsigned int seg, unsigned int bus,
247 unsigned long flags; 248 unsigned long flags;
248 unsigned long bx = (bus << 8) | devfn; 249 unsigned long bx = (bus << 8) | devfn;
249 250
251 WARN_ON(seg);
250 if ((bus > 255) || (devfn > 255) || (reg > 255)) 252 if ((bus > 255) || (devfn > 255) || (reg > 255))
251 return -EINVAL; 253 return -EINVAL;
252 254
diff --git a/arch/x86/pci/visws.c b/arch/x86/pci/visws.c
index 03008f72eb04..6f2f8eeed171 100644
--- a/arch/x86/pci/visws.c
+++ b/arch/x86/pci/visws.c
@@ -24,7 +24,7 @@ static void pci_visws_disable_irq(struct pci_dev *dev) { }
24 24
25unsigned int pci_bus0, pci_bus1; 25unsigned int pci_bus0, pci_bus1;
26 26
27static int __init visws_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 27static int __init visws_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
28{ 28{
29 int irq, bus = dev->bus->number; 29 int irq, bus = dev->bus->number;
30 30