This source file includes following definitions.
- devmem_is_allowed
1
2
3
4
5
6
7
8
9 #ifndef __UNICORE_IO_H__
10 #define __UNICORE_IO_H__
11
12 #ifdef __KERNEL__
13
14 #include <asm/byteorder.h>
15 #include <asm/memory.h>
16
17 #define PCI_IOBASE PKUNITY_PCILIO_BASE
18 #include <asm-generic/io.h>
19
20
21
22
23 extern void __iomem *__uc32_ioremap(unsigned long, size_t);
24 extern void __iomem *__uc32_ioremap_cached(unsigned long, size_t);
25 extern void __uc32_iounmap(volatile void __iomem *addr);
26
27
28
29
30
31
32
33
34 #define ioremap(cookie, size) __uc32_ioremap(cookie, size)
35 #define ioremap_cached(cookie, size) __uc32_ioremap_cached(cookie, size)
36 #define ioremap_nocache(cookie, size) __uc32_ioremap(cookie, size)
37 #define iounmap(cookie) __uc32_iounmap(cookie)
38
39 #define readb_relaxed readb
40 #define readw_relaxed readw
41 #define readl_relaxed readl
42
43 #define HAVE_ARCH_PIO_SIZE
44 #define PIO_OFFSET (unsigned int)(PCI_IOBASE)
45 #define PIO_MASK (unsigned int)(IO_SPACE_LIMIT)
46 #define PIO_RESERVED (PIO_OFFSET + PIO_MASK + 1)
47
48 #ifdef CONFIG_STRICT_DEVMEM
49
50 #include <linux/ioport.h>
51 #include <linux/mm.h>
52
53
54
55
56
57
58
59
60 static inline int devmem_is_allowed(unsigned long pfn)
61 {
62 if (iomem_is_exclusive(pfn << PAGE_SHIFT))
63 return 0;
64 if (!page_is_ram(pfn))
65 return 1;
66 return 0;
67 }
68
69 #endif
70
71 #endif
72 #endif