Improved modules loader, more robust and works on 64bit kernels.
[linux-2.6] / arch / mips / pci / fixup-jaguar.c
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Marvell MV64340 interrupt fixup code.
7  *
8  * Marvell wants an NDA for their docs so this was written without
9  * documentation.  You've been warned.
10  *
11  * Copyright (C) 2004 Ralf Baechle (ralf@linux-mips.org)
12  */
13 #include <linux/kernel.h>
14 #include <linux/init.h>
15 #include <linux/pci.h>
16
17 #include <asm/mipsregs.h>
18
19 /*
20  * WARNING: Example of how _NOT_ to do it.
21  */
22 int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
23 {
24         int bus = dev->bus->number;
25
26         if (bus == 0 && slot == 1)
27                 return 3;       /* PCI-X A */
28         if (bus == 0 && slot == 2)
29                 return 4;       /* PCI-X B */
30         if (bus == 1 && slot == 1)
31                 return 5;       /* PCI A */
32         if (bus == 1 && slot == 2)
33                 return 6;       /* PCI B */
34
35 return 0;
36         panic("Whooops in pcibios_map_irq");
37 }
38
39 /* Do platform specific device initialization at pci_enable_device() time */
40 int pcibios_plat_dev_init(struct pci_dev *dev)
41 {
42         return 0;
43 }