at v6.7 70 lines 1.7 kB view raw
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 */