[Top] [All Lists]

[PATCH] MIPS: Squash pci_fixup_irqs() compiler warning

To: Ralf Baechle <>
Subject: [PATCH] MIPS: Squash pci_fixup_irqs() compiler warning
From: Kevin Cernekee <>
Date: Sun, 17 Apr 2011 12:01:08 -0700
Cc: Wu Zhangjin <>, <>, <>
Original-recipient: rfc822;
User-agent: vim 7.2
MIPS Linux is unique in that it uses a "const struct pci_dev *" argument
to discourage bad coding practices in pcibios_map_irq().  Add a cast so
that this warning goes away:

arch/mips/pci/pci.c: In function 'pcibios_init':
arch/mips/pci/pci.c:165:45: warning: passing argument 2 of 'pci_fixup_irqs' 
from incompatible pointer type
include/linux/pci.h:856:6: note: expected 'int (*)(struct pci_dev *, u8,  u8)' 
but argument is of type 'struct pci_dev *'

Signed-off-by: Kevin Cernekee <>


It's been two years since the original discussion, and the warning is
still there.  It is now the only warning left in my kernel build.

I was hoping we could get this resolved for good (one way or another).

 arch/mips/pci/pci.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/arch/mips/pci/pci.c b/arch/mips/pci/pci.c
index 33bba7b..9a35cd6 100644
--- a/arch/mips/pci/pci.c
+++ b/arch/mips/pci/pci.c
@@ -157,7 +157,8 @@ static int __init pcibios_init(void)
        for (hose = hose_head; hose; hose = hose->next)
-       pci_fixup_irqs(pci_common_swizzle, pcibios_map_irq);
+       pci_fixup_irqs(pci_common_swizzle,
+                      (int (*)(struct pci_dev *, u8, u8))pcibios_map_irq);
        pci_initialized = 1;

<Prev in Thread] Current Thread [Next in Thread>