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>
This commit is contained in:
parent
c22c804310
commit
8eba3651f1
24 changed files with 25 additions and 25 deletions
|
@ -38,7 +38,7 @@ static char irq_tab_capcella[][5] __initdata = {
|
|||
[14] = { -1, INTA, INTB, INTC, INTD }
|
||||
};
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
return irq_tab_capcella[slot][pin];
|
||||
}
|
||||
|
|
|
@ -174,7 +174,7 @@ static char irq_tab_raq2[] __initdata = {
|
|||
[COBALT_PCICONF_ETH1] = ETH1_IRQ
|
||||
};
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
if (cobalt_board_id <= COBALT_BRD_ID_QUBE1)
|
||||
return irq_tab_qube1[slot];
|
||||
|
|
|
@ -85,7 +85,7 @@ static void emma2rh_pci_host_fixup(struct pci_dev *dev)
|
|||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_EMMA2RH,
|
||||
emma2rh_pci_host_fixup);
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
return irq_map[slot][pin];
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
/* South bridge slot number is set by the pci probe process */
|
||||
static u8 sb_slot = 5;
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
int irq = 0;
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ static char irq_tab_mace[][5] __initdata = {
|
|||
* irqs. I suppose a device without a pin A will thank us for doing it
|
||||
* right if there exists such a broken piece of crap.
|
||||
*/
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
return irq_tab_mace[slot][pin];
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ int pcibios_plat_dev_init(struct pci_dev *dev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
return of_irq_parse_and_map_pci(dev, slot, pin);
|
||||
}
|
||||
|
|
|
@ -51,7 +51,7 @@ static char irq_tab[][5] __initdata = {
|
|||
{0, 0, 0, 0, 0}, /* 27: Unused */
|
||||
};
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
int virq;
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ static void print_fixup_info(const struct pci_dev *pdev)
|
|||
pdev->vendor, pdev->device, pdev->irq);
|
||||
}
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
print_fixup_info(dev);
|
||||
return dev->irq;
|
||||
|
|
|
@ -38,7 +38,7 @@ static char irq_tab[][5] __initdata = {
|
|||
{0, PCID, PCIA, PCIB, PCIC } /* 21: PCI Slot 4 */
|
||||
};
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
int virq;
|
||||
virq = irq_tab[slot][pin];
|
||||
|
|
|
@ -34,7 +34,7 @@ static const int irq_tab_mpc30x[] __initconst = {
|
|||
[29] = MQ200_IRQ,
|
||||
};
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
if (slot == 30)
|
||||
return internal_func_irqs[PCI_FUNC(dev->devfn)];
|
||||
|
|
|
@ -202,7 +202,7 @@ int pcibios_plat_dev_init(struct pci_dev *dev)
|
|||
* RETURNS: IRQ number
|
||||
*
|
||||
****************************************************************************/
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
#if !defined(CONFIG_PMC_MSP7120_GW) && !defined(CONFIG_PMC_MSP7120_EVAL)
|
||||
printk(KERN_WARNING "PCI: unknown board, no PCI IRQs assigned.\n");
|
||||
|
|
|
@ -130,7 +130,7 @@ static inline int is_rm300_revd(void)
|
|||
return (csmsr & 0xa0) == 0x20;
|
||||
}
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
switch (sni_brd_type) {
|
||||
case SNI_BRD_PCI_TOWER_CPLUS:
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
#include <asm/vr41xx/tb0219.h>
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
int irq = -1;
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
#include <asm/vr41xx/giu.h>
|
||||
#include <asm/vr41xx/tb0226.h>
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
int irq = -1;
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
#include <asm/vr41xx/tb0287.h>
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
unsigned char bus;
|
||||
int irq = -1;
|
||||
|
|
|
@ -522,7 +522,7 @@ static int __init alchemy_pci_init(void)
|
|||
arch_initcall(alchemy_pci_init);
|
||||
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
struct alchemy_pci_context *ctx = dev->sysdata;
|
||||
if (ctx && ctx->board_map_irq)
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
#include <linux/bcma/bcma.h>
|
||||
#include <bcm47xx.h>
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ arch_initcall(lasat_pci_setup);
|
|||
#define LASAT_IRQ_PCIC (LASAT_IRQ_BASE + 7)
|
||||
#define LASAT_IRQ_PCID (LASAT_IRQ_BASE + 8)
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
switch (slot) {
|
||||
case 1:
|
||||
|
|
|
@ -361,7 +361,7 @@ static int mt7620_pci_probe(struct platform_device *pdev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
u16 cmd;
|
||||
u32 val;
|
||||
|
|
|
@ -59,7 +59,7 @@ union octeon_pci_address {
|
|||
} s;
|
||||
};
|
||||
|
||||
int __initconst (*octeon_pcibios_map_irq)(const struct pci_dev *dev,
|
||||
int (*octeon_pcibios_map_irq)(const struct pci_dev *dev,
|
||||
u8 slot, u8 pin);
|
||||
enum octeon_dma_bar_type octeon_dma_bar_type = OCTEON_DMA_BAR_TYPE_INVALID;
|
||||
|
||||
|
@ -74,7 +74,7 @@ enum octeon_dma_bar_type octeon_dma_bar_type = OCTEON_DMA_BAR_TYPE_INVALID;
|
|||
* as it goes through each bridge.
|
||||
* Returns Interrupt number for the device
|
||||
*/
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
if (octeon_pcibios_map_irq)
|
||||
return octeon_pcibios_map_irq(dev, slot, pin);
|
||||
|
|
|
@ -181,7 +181,7 @@ static inline void rt2880_pci_write_u32(unsigned long reg, u32 val)
|
|||
spin_unlock_irqrestore(&rt2880_pci_lock, flags);
|
||||
}
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
u16 cmd;
|
||||
int irq = -1;
|
||||
|
|
|
@ -564,7 +564,7 @@ err_put_intc_node:
|
|||
return err;
|
||||
}
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
return of_irq_parse_and_map_pci(dev, slot, pin);
|
||||
}
|
||||
|
|
|
@ -205,7 +205,7 @@ int xlp_socdev_to_node(const struct pci_dev *lnkdev)
|
|||
return PCI_SLOT(lnkdev->devfn) / 8;
|
||||
}
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
struct pci_dev *lnkdev;
|
||||
int lnkfunc, node;
|
||||
|
|
|
@ -315,7 +315,7 @@ static void xls_pcie_ack_b(struct irq_data *d)
|
|||
}
|
||||
}
|
||||
|
||||
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
return get_irq_vector(dev);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue