1 #ifndef __ASM_PCI_CHANNEL_H
2 #define __ASM_PCI_CHANNEL_H
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.
10 #include <linux/ioport.h>
11 #include <linux/pci.h>
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.
18 struct pci_controller
{
19 struct pci_controller
*next
;
22 struct pci_ops
*pci_ops
;
23 struct resource
*mem_resource
;
24 unsigned long mem_offset
;
25 struct resource
*io_resource
;
26 unsigned long io_offset
;
28 /* For compatibility with current (as of July 2003) pciutils
29 and XFree86. Eventually will be removed. */
30 unsigned int need_domain_info
;
36 * Used by boards to register their PCI interfaces before the actual scanning.
38 extern struct pci_controller
* alloc_pci_controller(void);
39 extern void register_pci_controller(struct pci_controller
*hose
);
42 * board supplied pci irq fixup routine
44 extern int pcibios_map_irq(struct pci_dev
*dev
, u8 slot
, u8 pin
);
46 #endif /* __ASM_PCI_CHANNEL_H */