1 #ifndef __ASM_PCI_CHANNEL_H
2 #define __ASM_PCI_CHANNEL_H
3 
4 /*
5  * This file essentially defines the interface between board
6  * specific PCI code and MIPS common PCI code.  Should potentially put
7  * into include/asm/pci.h file.
8  */
9 
10 #include <linux/ioport.h>
11 #include <linux/pci.h>
12 
13 /*
14  * Each pci channel is a top-level PCI bus seem by CPU.  A machine  with
15  * multiple PCI channels may have multiple PCI host controllers or a
16  * single controller supporting multiple channels.
17  */
18 struct pci_channel {
19 	struct pci_ops *pci_ops;
20 	struct resource *io_resource;
21 	struct resource *mem_resource;
22 	int first_devfn;
23 	int last_devfn;
24 };
25 
26 /*
27  * each board defines an array of pci_channels, that ends with all NULL entry
28  */
29 extern struct pci_channel mips_pci_channels[];
30 
31 /*
32  * board supplied pci irq fixup routine
33  */
34 extern void pcibios_fixup_irqs(void);
35 
36 /*
37  * board supplied pci fixup routines
38  */
39 extern void pcibios_fixup_resources(struct pci_dev *dev);
40 
41 #endif  /* __ASM_PCI_CHANNEL_H */
42