1234567891011121314151617181920212223 |
- // 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);
|