Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6936 serge 1
/* Generic I/O port emulation, based on MN10300 code
2
 *
3
 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
4
 * Written by David Howells (dhowells@redhat.com)
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public Licence
8
 * as published by the Free Software Foundation; either version
9
 * 2 of the Licence, or (at your option) any later version.
10
 */
11
#ifndef __ASM_GENERIC_PCI_IOMAP_H
12
#define __ASM_GENERIC_PCI_IOMAP_H
13
 
14
struct pci_dev;
15
#ifdef CONFIG_PCI
16
/* Create a virtual mapping cookie for a PCI BAR (memory or IO) */
17
extern void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max);
18
extern void __iomem *pci_iomap_wc(struct pci_dev *dev, int bar, unsigned long max);
19
extern void __iomem *pci_iomap_range(struct pci_dev *dev, int bar,
20
				     unsigned long offset,
21
				     unsigned long maxlen);
22
extern void __iomem *pci_iomap_wc_range(struct pci_dev *dev, int bar,
23
					unsigned long offset,
24
					unsigned long maxlen);
25
/* Create a virtual mapping cookie for a port on a given PCI device.
26
 * Do not call this directly, it exists to make it easier for architectures
27
 * to override */
28
#ifdef CONFIG_NO_GENERIC_PCI_IOPORT_MAP
29
extern void __iomem *__pci_ioport_map(struct pci_dev *dev, unsigned long port,
30
				      unsigned int nr);
31
#else
32
#define __pci_ioport_map(dev, port, nr) ioport_map((port), (nr))
33
#endif
34
 
35
#elif defined(CONFIG_GENERIC_PCI_IOMAP)
36
static inline void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max)
37
{
38
	return NULL;
39
}
40
 
41
static inline void __iomem *pci_iomap_wc(struct pci_dev *dev, int bar, unsigned long max)
42
{
43
	return NULL;
44
}
45
static inline void __iomem *pci_iomap_range(struct pci_dev *dev, int bar,
46
					    unsigned long offset,
47
					    unsigned long maxlen)
48
{
49
	return NULL;
50
}
51
static inline void __iomem *pci_iomap_wc_range(struct pci_dev *dev, int bar,
52
					       unsigned long offset,
53
					       unsigned long maxlen)
54
{
55
	return NULL;
56
}
57
#endif
58
 
59
#endif /* __ASM_GENERIC_IO_H */