aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManuel Lauss <manuel.lauss@gmail.com>2017-09-12 14:36:28 -0400
committerRalf Baechle <ralf@linux-mips.org>2017-09-21 10:41:20 -0400
commit8eba3651f1dad49c83bb7f8d672301dac4c6add6 (patch)
tree9a1016416c28c82c3471aac4b437bcb1c15c29db
parentc22c8043105591a8b74142cf837604087cdba40b (diff)
MIPS: PCI: fix pcibios_map_irq section mismatch
Drop the __init from pcibios_map_irq() to make this section mis- match go away: WARNING: vmlinux.o(.text+0x56acd4): Section mismatch in reference from the function pcibios_scanbus() to the function .init.text:pcibios_map_irq() The function pcibios_scanbus() references the function __init pcibios_map_irq(). This is often because pcibios_scanbus lacks a __init annotation or the annotation of pcibios_map_irq is wrong. Run-Tested only on Alchemy. Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/17267/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r--arch/mips/pci/fixup-capcella.c2
-rw-r--r--arch/mips/pci/fixup-cobalt.c2
-rw-r--r--arch/mips/pci/fixup-emma2rh.c2
-rw-r--r--arch/mips/pci/fixup-fuloong2e.c2
-rw-r--r--arch/mips/pci/fixup-ip32.c2
-rw-r--r--arch/mips/pci/fixup-lantiq.c2
-rw-r--r--arch/mips/pci/fixup-lemote2f.c2
-rw-r--r--arch/mips/pci/fixup-loongson3.c2
-rw-r--r--arch/mips/pci/fixup-malta.c2
-rw-r--r--arch/mips/pci/fixup-mpc30x.c2
-rw-r--r--arch/mips/pci/fixup-pmcmsp.c2
-rw-r--r--arch/mips/pci/fixup-sni.c2
-rw-r--r--arch/mips/pci/fixup-tb0219.c2
-rw-r--r--arch/mips/pci/fixup-tb0226.c2
-rw-r--r--arch/mips/pci/fixup-tb0287.c2
-rw-r--r--arch/mips/pci/pci-alchemy.c2
-rw-r--r--arch/mips/pci/pci-bcm47xx.c2
-rw-r--r--arch/mips/pci/pci-lasat.c2
-rw-r--r--arch/mips/pci/pci-mt7620.c2
-rw-r--r--arch/mips/pci/pci-octeon.c4
-rw-r--r--arch/mips/pci/pci-rt2880.c2
-rw-r--r--arch/mips/pci/pci-rt3883.c2
-rw-r--r--arch/mips/pci/pci-xlp.c2
-rw-r--r--arch/mips/pci/pci-xlr.c2
24 files changed, 25 insertions, 25 deletions
diff --git a/arch/mips/pci/fixup-capcella.c b/arch/mips/pci/fixup-capcella.c
index 1c02f5737367..35a671595a37 100644
--- a/arch/mips/pci/fixup-capcella.c
+++ b/arch/mips/pci/fixup-capcella.c
@@ -38,7 +38,7 @@ static char irq_tab_capcella[][5] __initdata = {
38 [14] = { -1, INTA, INTB, INTC, INTD } 38 [14] = { -1, INTA, INTB, INTC, INTD }
39}; 39};
40 40
41int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 41int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
42{ 42{
43 return irq_tab_capcella[slot][pin]; 43 return irq_tab_capcella[slot][pin];
44} 44}
diff --git a/arch/mips/pci/fixup-cobalt.c b/arch/mips/pci/fixup-cobalt.c
index b3ab59318d91..62810d3fe99b 100644
--- a/arch/mips/pci/fixup-cobalt.c
+++ b/arch/mips/pci/fixup-cobalt.c
@@ -174,7 +174,7 @@ static char irq_tab_raq2[] __initdata = {
174 [COBALT_PCICONF_ETH1] = ETH1_IRQ 174 [COBALT_PCICONF_ETH1] = ETH1_IRQ
175}; 175};
176 176
177int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 177int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
178{ 178{
179 if (cobalt_board_id <= COBALT_BRD_ID_QUBE1) 179 if (cobalt_board_id <= COBALT_BRD_ID_QUBE1)
180 return irq_tab_qube1[slot]; 180 return irq_tab_qube1[slot];
diff --git a/arch/mips/pci/fixup-emma2rh.c b/arch/mips/pci/fixup-emma2rh.c
index 19caf775c206..4832ac9f118a 100644
--- a/arch/mips/pci/fixup-emma2rh.c
+++ b/arch/mips/pci/fixup-emma2rh.c
@@ -85,7 +85,7 @@ static void emma2rh_pci_host_fixup(struct pci_dev *dev)
85DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_EMMA2RH, 85DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_EMMA2RH,
86 emma2rh_pci_host_fixup); 86 emma2rh_pci_host_fixup);
87 87
88int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 88int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
89{ 89{
90 return irq_map[slot][pin]; 90 return irq_map[slot][pin];
91} 91}
diff --git a/arch/mips/pci/fixup-fuloong2e.c b/arch/mips/pci/fixup-fuloong2e.c
index 50da773faede..b47c2771dc99 100644
--- a/arch/mips/pci/fixup-fuloong2e.c
+++ b/arch/mips/pci/fixup-fuloong2e.c
@@ -19,7 +19,7 @@
19/* South bridge slot number is set by the pci probe process */ 19/* South bridge slot number is set by the pci probe process */
20static u8 sb_slot = 5; 20static u8 sb_slot = 5;
21 21
22int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 22int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
23{ 23{
24 int irq = 0; 24 int irq = 0;
25 25
diff --git a/arch/mips/pci/fixup-ip32.c b/arch/mips/pci/fixup-ip32.c
index 133685e215ee..ea29f5450be3 100644
--- a/arch/mips/pci/fixup-ip32.c
+++ b/arch/mips/pci/fixup-ip32.c
@@ -39,7 +39,7 @@ static char irq_tab_mace[][5] __initdata = {
39 * irqs. I suppose a device without a pin A will thank us for doing it 39 * irqs. I suppose a device without a pin A will thank us for doing it
40 * right if there exists such a broken piece of crap. 40 * right if there exists such a broken piece of crap.
41 */ 41 */
42int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 42int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
43{ 43{
44 return irq_tab_mace[slot][pin]; 44 return irq_tab_mace[slot][pin];
45} 45}
diff --git a/arch/mips/pci/fixup-lantiq.c b/arch/mips/pci/fixup-lantiq.c
index 2b5427d3f35c..81530a13b349 100644
--- a/arch/mips/pci/fixup-lantiq.c
+++ b/arch/mips/pci/fixup-lantiq.c
@@ -23,7 +23,7 @@ int pcibios_plat_dev_init(struct pci_dev *dev)
23 return 0; 23 return 0;
24} 24}
25 25
26int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 26int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
27{ 27{
28 return of_irq_parse_and_map_pci(dev, slot, pin); 28 return of_irq_parse_and_map_pci(dev, slot, pin);
29} 29}
diff --git a/arch/mips/pci/fixup-lemote2f.c b/arch/mips/pci/fixup-lemote2f.c
index 95ab9a1bd010..7e5991e0e323 100644
--- a/arch/mips/pci/fixup-lemote2f.c
+++ b/arch/mips/pci/fixup-lemote2f.c
@@ -51,7 +51,7 @@ static char irq_tab[][5] __initdata = {
51 {0, 0, 0, 0, 0}, /* 27: Unused */ 51 {0, 0, 0, 0, 0}, /* 27: Unused */
52}; 52};
53 53
54int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 54int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
55{ 55{
56 int virq; 56 int virq;
57 57
diff --git a/arch/mips/pci/fixup-loongson3.c b/arch/mips/pci/fixup-loongson3.c
index 2b6d5e196f99..8a741c2c6685 100644
--- a/arch/mips/pci/fixup-loongson3.c
+++ b/arch/mips/pci/fixup-loongson3.c
@@ -32,7 +32,7 @@ static void print_fixup_info(const struct pci_dev *pdev)
32 pdev->vendor, pdev->device, pdev->irq); 32 pdev->vendor, pdev->device, pdev->irq);
33} 33}
34 34
35int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 35int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
36{ 36{
37 print_fixup_info(dev); 37 print_fixup_info(dev);
38 return dev->irq; 38 return dev->irq;
diff --git a/arch/mips/pci/fixup-malta.c b/arch/mips/pci/fixup-malta.c
index 40e920c653cc..1f5f25e39590 100644
--- a/arch/mips/pci/fixup-malta.c
+++ b/arch/mips/pci/fixup-malta.c
@@ -38,7 +38,7 @@ static char irq_tab[][5] __initdata = {
38 {0, PCID, PCIA, PCIB, PCIC } /* 21: PCI Slot 4 */ 38 {0, PCID, PCIA, PCIB, PCIC } /* 21: PCI Slot 4 */
39}; 39};
40 40
41int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 41int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
42{ 42{
43 int virq; 43 int virq;
44 virq = irq_tab[slot][pin]; 44 virq = irq_tab[slot][pin];
diff --git a/arch/mips/pci/fixup-mpc30x.c b/arch/mips/pci/fixup-mpc30x.c
index 8e4f8288eca2..5da62c76e271 100644
--- a/arch/mips/pci/fixup-mpc30x.c
+++ b/arch/mips/pci/fixup-mpc30x.c
@@ -34,7 +34,7 @@ static const int irq_tab_mpc30x[] __initconst = {
34 [29] = MQ200_IRQ, 34 [29] = MQ200_IRQ,
35}; 35};
36 36
37int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 37int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
38{ 38{
39 if (slot == 30) 39 if (slot == 30)
40 return internal_func_irqs[PCI_FUNC(dev->devfn)]; 40 return internal_func_irqs[PCI_FUNC(dev->devfn)];
diff --git a/arch/mips/pci/fixup-pmcmsp.c b/arch/mips/pci/fixup-pmcmsp.c
index fab405c21c2f..f2b7b1e4395b 100644
--- a/arch/mips/pci/fixup-pmcmsp.c
+++ b/arch/mips/pci/fixup-pmcmsp.c
@@ -202,7 +202,7 @@ int pcibios_plat_dev_init(struct pci_dev *dev)
202 * RETURNS: IRQ number 202 * RETURNS: IRQ number
203 * 203 *
204 ****************************************************************************/ 204 ****************************************************************************/
205int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 205int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
206{ 206{
207#if !defined(CONFIG_PMC_MSP7120_GW) && !defined(CONFIG_PMC_MSP7120_EVAL) 207#if !defined(CONFIG_PMC_MSP7120_GW) && !defined(CONFIG_PMC_MSP7120_EVAL)
208 printk(KERN_WARNING "PCI: unknown board, no PCI IRQs assigned.\n"); 208 printk(KERN_WARNING "PCI: unknown board, no PCI IRQs assigned.\n");
diff --git a/arch/mips/pci/fixup-sni.c b/arch/mips/pci/fixup-sni.c
index f67ebeeb4200..309e1c562959 100644
--- a/arch/mips/pci/fixup-sni.c
+++ b/arch/mips/pci/fixup-sni.c
@@ -130,7 +130,7 @@ static inline int is_rm300_revd(void)
130 return (csmsr & 0xa0) == 0x20; 130 return (csmsr & 0xa0) == 0x20;
131} 131}
132 132
133int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 133int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
134{ 134{
135 switch (sni_brd_type) { 135 switch (sni_brd_type) {
136 case SNI_BRD_PCI_TOWER_CPLUS: 136 case SNI_BRD_PCI_TOWER_CPLUS:
diff --git a/arch/mips/pci/fixup-tb0219.c b/arch/mips/pci/fixup-tb0219.c
index d0b0083fbd27..cc581535f257 100644
--- a/arch/mips/pci/fixup-tb0219.c
+++ b/arch/mips/pci/fixup-tb0219.c
@@ -23,7 +23,7 @@
23 23
24#include <asm/vr41xx/tb0219.h> 24#include <asm/vr41xx/tb0219.h>
25 25
26int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 26int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
27{ 27{
28 int irq = -1; 28 int irq = -1;
29 29
diff --git a/arch/mips/pci/fixup-tb0226.c b/arch/mips/pci/fixup-tb0226.c
index 4196ccf3ea3d..b827b5cad5fd 100644
--- a/arch/mips/pci/fixup-tb0226.c
+++ b/arch/mips/pci/fixup-tb0226.c
@@ -23,7 +23,7 @@
23#include <asm/vr41xx/giu.h> 23#include <asm/vr41xx/giu.h>
24#include <asm/vr41xx/tb0226.h> 24#include <asm/vr41xx/tb0226.h>
25 25
26int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 26int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
27{ 27{
28 int irq = -1; 28 int irq = -1;
29 29
diff --git a/arch/mips/pci/fixup-tb0287.c b/arch/mips/pci/fixup-tb0287.c
index 8c5039ed75d7..98f26285f2e3 100644
--- a/arch/mips/pci/fixup-tb0287.c
+++ b/arch/mips/pci/fixup-tb0287.c
@@ -22,7 +22,7 @@
22 22
23#include <asm/vr41xx/tb0287.h> 23#include <asm/vr41xx/tb0287.h>
24 24
25int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 25int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
26{ 26{
27 unsigned char bus; 27 unsigned char bus;
28 int irq = -1; 28 int irq = -1;
diff --git a/arch/mips/pci/pci-alchemy.c b/arch/mips/pci/pci-alchemy.c
index e99ca7702d8a..f15ec98de2de 100644
--- a/arch/mips/pci/pci-alchemy.c
+++ b/arch/mips/pci/pci-alchemy.c
@@ -522,7 +522,7 @@ static int __init alchemy_pci_init(void)
522arch_initcall(alchemy_pci_init); 522arch_initcall(alchemy_pci_init);
523 523
524 524
525int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 525int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
526{ 526{
527 struct alchemy_pci_context *ctx = dev->sysdata; 527 struct alchemy_pci_context *ctx = dev->sysdata;
528 if (ctx && ctx->board_map_irq) 528 if (ctx && ctx->board_map_irq)
diff --git a/arch/mips/pci/pci-bcm47xx.c b/arch/mips/pci/pci-bcm47xx.c
index 76f16eaed0ad..230d7dd273e2 100644
--- a/arch/mips/pci/pci-bcm47xx.c
+++ b/arch/mips/pci/pci-bcm47xx.c
@@ -28,7 +28,7 @@
28#include <linux/bcma/bcma.h> 28#include <linux/bcma/bcma.h>
29#include <bcm47xx.h> 29#include <bcm47xx.h>
30 30
31int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 31int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
32{ 32{
33 return 0; 33 return 0;
34} 34}
diff --git a/arch/mips/pci/pci-lasat.c b/arch/mips/pci/pci-lasat.c
index 40d2797d2bc4..47f4ee6bbb3b 100644
--- a/arch/mips/pci/pci-lasat.c
+++ b/arch/mips/pci/pci-lasat.c
@@ -61,7 +61,7 @@ arch_initcall(lasat_pci_setup);
61#define LASAT_IRQ_PCIC (LASAT_IRQ_BASE + 7) 61#define LASAT_IRQ_PCIC (LASAT_IRQ_BASE + 7)
62#define LASAT_IRQ_PCID (LASAT_IRQ_BASE + 8) 62#define LASAT_IRQ_PCID (LASAT_IRQ_BASE + 8)
63 63
64int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 64int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
65{ 65{
66 switch (slot) { 66 switch (slot) {
67 case 1: 67 case 1:
diff --git a/arch/mips/pci/pci-mt7620.c b/arch/mips/pci/pci-mt7620.c
index 4e633c1e7ff3..90fba9bf98da 100644
--- a/arch/mips/pci/pci-mt7620.c
+++ b/arch/mips/pci/pci-mt7620.c
@@ -361,7 +361,7 @@ static int mt7620_pci_probe(struct platform_device *pdev)
361 return 0; 361 return 0;
362} 362}
363 363
364int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 364int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
365{ 365{
366 u16 cmd; 366 u16 cmd;
367 u32 val; 367 u32 val;
diff --git a/arch/mips/pci/pci-octeon.c b/arch/mips/pci/pci-octeon.c
index 9ee01936862e..771f5de6362d 100644
--- a/arch/mips/pci/pci-octeon.c
+++ b/arch/mips/pci/pci-octeon.c
@@ -59,7 +59,7 @@ union octeon_pci_address {
59 } s; 59 } s;
60}; 60};
61 61
62int __initconst (*octeon_pcibios_map_irq)(const struct pci_dev *dev, 62int (*octeon_pcibios_map_irq)(const struct pci_dev *dev,
63 u8 slot, u8 pin); 63 u8 slot, u8 pin);
64enum octeon_dma_bar_type octeon_dma_bar_type = OCTEON_DMA_BAR_TYPE_INVALID; 64enum octeon_dma_bar_type octeon_dma_bar_type = OCTEON_DMA_BAR_TYPE_INVALID;
65 65
@@ -74,7 +74,7 @@ enum octeon_dma_bar_type octeon_dma_bar_type = OCTEON_DMA_BAR_TYPE_INVALID;
74 * as it goes through each bridge. 74 * as it goes through each bridge.
75 * Returns Interrupt number for the device 75 * Returns Interrupt number for the device
76 */ 76 */
77int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 77int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
78{ 78{
79 if (octeon_pcibios_map_irq) 79 if (octeon_pcibios_map_irq)
80 return octeon_pcibios_map_irq(dev, slot, pin); 80 return octeon_pcibios_map_irq(dev, slot, pin);
diff --git a/arch/mips/pci/pci-rt2880.c b/arch/mips/pci/pci-rt2880.c
index d6360fe73d05..711cdccdf65b 100644
--- a/arch/mips/pci/pci-rt2880.c
+++ b/arch/mips/pci/pci-rt2880.c
@@ -181,7 +181,7 @@ static inline void rt2880_pci_write_u32(unsigned long reg, u32 val)
181 spin_unlock_irqrestore(&rt2880_pci_lock, flags); 181 spin_unlock_irqrestore(&rt2880_pci_lock, flags);
182} 182}
183 183
184int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 184int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
185{ 185{
186 u16 cmd; 186 u16 cmd;
187 int irq = -1; 187 int irq = -1;
diff --git a/arch/mips/pci/pci-rt3883.c b/arch/mips/pci/pci-rt3883.c
index 04f8ea953297..958899ffe99c 100644
--- a/arch/mips/pci/pci-rt3883.c
+++ b/arch/mips/pci/pci-rt3883.c
@@ -564,7 +564,7 @@ err_put_intc_node:
564 return err; 564 return err;
565} 565}
566 566
567int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 567int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
568{ 568{
569 return of_irq_parse_and_map_pci(dev, slot, pin); 569 return of_irq_parse_and_map_pci(dev, slot, pin);
570} 570}
diff --git a/arch/mips/pci/pci-xlp.c b/arch/mips/pci/pci-xlp.c
index 7babf01600cb..9eff9137f78e 100644
--- a/arch/mips/pci/pci-xlp.c
+++ b/arch/mips/pci/pci-xlp.c
@@ -205,7 +205,7 @@ int xlp_socdev_to_node(const struct pci_dev *lnkdev)
205 return PCI_SLOT(lnkdev->devfn) / 8; 205 return PCI_SLOT(lnkdev->devfn) / 8;
206} 206}
207 207
208int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 208int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
209{ 209{
210 struct pci_dev *lnkdev; 210 struct pci_dev *lnkdev;
211 int lnkfunc, node; 211 int lnkfunc, node;
diff --git a/arch/mips/pci/pci-xlr.c b/arch/mips/pci/pci-xlr.c
index 26d2dabef281..2a1c81a129ba 100644
--- a/arch/mips/pci/pci-xlr.c
+++ b/arch/mips/pci/pci-xlr.c
@@ -315,7 +315,7 @@ static void xls_pcie_ack_b(struct irq_data *d)
315 } 315 }
316} 316}
317 317
318int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 318int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
319{ 319{
320 return get_irq_vector(dev); 320 return get_irq_vector(dev);
321} 321}