GNU Linux-libre 4.14.313-gnu1
[releases.git] / arch / mips / include / asm / mach-bmips / ioremap.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_MACH_BMIPS_IOREMAP_H
3 #define __ASM_MACH_BMIPS_IOREMAP_H
4
5 #include <linux/types.h>
6
7 static inline phys_addr_t fixup_bigphys_addr(phys_addr_t phys_addr, phys_addr_t size)
8 {
9         return phys_addr;
10 }
11
12 static inline int is_bmips_internal_registers(phys_addr_t offset)
13 {
14         if (offset >= 0xfff80000)
15                 return 1;
16
17         return 0;
18 }
19
20 static inline void __iomem *plat_ioremap(phys_addr_t offset, unsigned long size,
21                                          unsigned long flags)
22 {
23         if (is_bmips_internal_registers(offset))
24                 return (void __iomem *)offset;
25
26         return NULL;
27 }
28
29 static inline int plat_iounmap(const volatile void __iomem *addr)
30 {
31         return is_bmips_internal_registers((unsigned long)addr);
32 }
33
34 #endif /* __ASM_MACH_BMIPS_IOREMAP_H */