1
2
3
4
5
6
7#ifndef __ASM_GENERIC_PCI_IOMAP_H
8#define __ASM_GENERIC_PCI_IOMAP_H
9
10struct pci_dev;
11#ifdef CONFIG_PCI
12
13extern void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max);
14extern void __iomem *pci_iomap_wc(struct pci_dev *dev, int bar, unsigned long max);
15extern void __iomem *pci_iomap_range(struct pci_dev *dev, int bar,
16 unsigned long offset,
17 unsigned long maxlen);
18extern void __iomem *pci_iomap_wc_range(struct pci_dev *dev, int bar,
19 unsigned long offset,
20 unsigned long maxlen);
21extern void pci_iounmap(struct pci_dev *dev, void __iomem *);
22
23
24
25#ifdef CONFIG_NO_GENERIC_PCI_IOPORT_MAP
26extern void __iomem *__pci_ioport_map(struct pci_dev *dev, unsigned long port,
27 unsigned int nr);
28#else
29#define __pci_ioport_map(dev, port, nr) ioport_map((port), (nr))
30#endif
31
32#elif defined(CONFIG_GENERIC_PCI_IOMAP)
33static inline void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max)
34{
35 return NULL;
36}
37
38static inline void __iomem *pci_iomap_wc(struct pci_dev *dev, int bar, unsigned long max)
39{
40 return NULL;
41}
42static inline void __iomem *pci_iomap_range(struct pci_dev *dev, int bar,
43 unsigned long offset,
44 unsigned long maxlen)
45{
46 return NULL;
47}
48static inline void __iomem *pci_iomap_wc_range(struct pci_dev *dev, int bar,
49 unsigned long offset,
50 unsigned long maxlen)
51{
52 return NULL;
53}
54static inline void pci_iounmap(struct pci_dev *dev, void __iomem *addr)
55{ }
56#endif
57
58#endif
59