Linux Audio

Check our new training course

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