ioremap64.c (567B)
1// SPDX-License-Identifier: GPL-2.0-only 2#include <linux/io.h> 3#include <ioremap.h> 4 5void __iomem *ioremap_prot(phys_addr_t offset, unsigned long size, 6 unsigned long prot_val) 7{ 8 unsigned long flags = prot_val & _CACHE_MASK; 9 u64 base = (flags == _CACHE_UNCACHED ? IO_BASE : UNCAC_BASE); 10 void __iomem *addr; 11 12 addr = plat_ioremap(offset, size, flags); 13 if (!addr) 14 addr = (void __iomem *)(unsigned long)(base + offset); 15 return addr; 16} 17EXPORT_SYMBOL(ioremap_prot); 18 19void iounmap(const volatile void __iomem *addr) 20{ 21 plat_iounmap(addr); 22} 23EXPORT_SYMBOL(iounmap);