// SPDX-License-Identifier: GPL-2.0-only | |
#include <linux/io.h> | |
#include <ioremap.h> | |
void __iomem *ioremap_prot(phys_addr_t offset, unsigned long size, | |
unsigned long prot_val) | |
{ | |
unsigned long flags = prot_val & _CACHE_MASK; | |
u64 base = (flags == _CACHE_UNCACHED ? IO_BASE : UNCAC_BASE); | |
void __iomem *addr; | |
addr = plat_ioremap(offset, size, flags); | |
if (!addr) | |
addr = (void __iomem *)(unsigned long)(base + offset); | |
return addr; | |
} | |
EXPORT_SYMBOL(ioremap_prot); | |
void iounmap(const volatile void __iomem *addr) | |
{ | |
plat_iounmap(addr); | |
} | |
EXPORT_SYMBOL(iounmap); |