1 /* SPDX-License-Identifier: GPL-2.0 */
7 #define ARCH_HAS_IOREMAP_WT
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
16 * These functions exported by arch/m68k/mm/kmap.c.
17 * Only needed on MMU enabled systems.
19 extern void __iomem
*__ioremap(unsigned long physaddr
, unsigned long size
,
21 #define iounmap iounmap
22 extern void iounmap(void __iomem
*addr
);
24 #define ioremap ioremap
25 static inline void __iomem
*ioremap(unsigned long physaddr
, unsigned long size
)
27 return __ioremap(physaddr
, size
, IOMAP_NOCACHE_SER
);
30 #define ioremap_uc ioremap
31 #define ioremap_wt ioremap_wt
32 static inline void __iomem
*ioremap_wt(unsigned long physaddr
,
35 return __ioremap(physaddr
, size
, IOMAP_WRITETHROUGH
);
38 #define memset_io memset_io
39 static inline void memset_io(volatile void __iomem
*addr
, unsigned char val
,
42 __builtin_memset((void __force
*) addr
, val
, count
);
45 #define memcpy_fromio memcpy_fromio
46 static inline void memcpy_fromio(void *dst
, const volatile void __iomem
*src
,
49 __builtin_memcpy(dst
, (void __force
*) src
, count
);
52 #define memcpy_toio memcpy_toio
53 static inline void memcpy_toio(volatile void __iomem
*dst
, const void *src
,
56 __builtin_memcpy((void __force
*) dst
, src
, count
);
59 #endif /* CONFIG_MMU */
61 #define ioport_map ioport_map
62 static inline void __iomem
*ioport_map(unsigned long port
, unsigned int nr
)
64 return (void __iomem
*) port
;
67 #define ioport_unmap ioport_unmap
68 static inline void ioport_unmap(void __iomem
*p
)