Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

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