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 */
18struct 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 */
29extern struct pci_channel mips_pci_channels[];
30
31/*
32 * board supplied pci irq fixup routine
33 */
34extern void pcibios_fixup_irqs(void);
35
36/*
37 * board supplied pci fixup routines
38 */
39extern void pcibios_fixup_resources(struct pci_dev *dev);
40
41#endif  /* __ASM_PCI_CHANNEL_H */
42