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