Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _KMAP_H
3#define _KMAP_H
4
5#ifdef CONFIG_MMU
6
7/* Values for nocacheflag and cmode */
8#define IOMAP_FULL_CACHING 0
9#define IOMAP_NOCACHE_SER 1
10#define IOMAP_NOCACHE_NONSER 2
11#define IOMAP_WRITETHROUGH 3
12
13/*
14 * These functions exported by arch/m68k/mm/kmap.c.
15 * Only needed on MMU enabled systems.
16 */
17extern void __iomem *__ioremap(unsigned long physaddr, unsigned long size,
18 int cacheflag);
19#define iounmap iounmap
20extern void iounmap(void __iomem *addr);
21
22#define ioremap ioremap
23static inline void __iomem *ioremap(unsigned long physaddr, unsigned long size)
24{
25 return __ioremap(physaddr, size, IOMAP_NOCACHE_SER);
26}
27
28#define ioremap_uc ioremap
29#define ioremap_wt ioremap_wt
30static inline void __iomem *ioremap_wt(unsigned long physaddr,
31 unsigned long size)
32{
33 return __ioremap(physaddr, size, IOMAP_WRITETHROUGH);
34}
35
36#define memset_io memset_io
37static inline void memset_io(volatile void __iomem *addr, unsigned char val,
38 int count)
39{
40 __builtin_memset((void __force *) addr, val, count);
41}
42
43#define memcpy_fromio memcpy_fromio
44static inline void memcpy_fromio(void *dst, const volatile void __iomem *src,
45 int count)
46{
47 __builtin_memcpy(dst, (void __force *) src, count);
48}
49
50#define memcpy_toio memcpy_toio
51static inline void memcpy_toio(volatile void __iomem *dst, const void *src,
52 int count)
53{
54 __builtin_memcpy((void __force *) dst, src, count);
55}
56
57#endif /* CONFIG_MMU */
58
59#define ioport_map ioport_map
60static inline void __iomem *ioport_map(unsigned long port, unsigned int nr)
61{
62 return (void __iomem *) port;
63}
64
65#define ioport_unmap ioport_unmap
66static inline void ioport_unmap(void __iomem *p)
67{
68}
69
70#endif /* _KMAP_H */