162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * linux/arch/arm/mm/iomap.c 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Map IO port and PCI memory spaces so that {read,write}[bwl] can 662306a36Sopenharmony_ci * be used to access this memory. 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci#include <linux/module.h> 962306a36Sopenharmony_ci#include <linux/pci.h> 1062306a36Sopenharmony_ci#include <linux/ioport.h> 1162306a36Sopenharmony_ci#include <linux/io.h> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#include <asm/vga.h> 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciunsigned long vga_base; 1662306a36Sopenharmony_ciEXPORT_SYMBOL(vga_base); 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci#ifdef __io 1962306a36Sopenharmony_civoid __iomem *ioport_map(unsigned long port, unsigned int nr) 2062306a36Sopenharmony_ci{ 2162306a36Sopenharmony_ci return __io(port); 2262306a36Sopenharmony_ci} 2362306a36Sopenharmony_ciEXPORT_SYMBOL(ioport_map); 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_civoid ioport_unmap(void __iomem *addr) 2662306a36Sopenharmony_ci{ 2762306a36Sopenharmony_ci} 2862306a36Sopenharmony_ciEXPORT_SYMBOL(ioport_unmap); 2962306a36Sopenharmony_ci#endif 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci#ifdef CONFIG_PCI 3262306a36Sopenharmony_ciunsigned long pcibios_min_io = 0x1000; 3362306a36Sopenharmony_ciEXPORT_SYMBOL(pcibios_min_io); 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ciunsigned long pcibios_min_mem = 0x01000000; 3662306a36Sopenharmony_ciEXPORT_SYMBOL(pcibios_min_mem); 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_civoid pci_iounmap(struct pci_dev *dev, void __iomem *addr) 3962306a36Sopenharmony_ci{ 4062306a36Sopenharmony_ci if ((unsigned long)addr >= VMALLOC_START && 4162306a36Sopenharmony_ci (unsigned long)addr < VMALLOC_END) 4262306a36Sopenharmony_ci iounmap(addr); 4362306a36Sopenharmony_ci} 4462306a36Sopenharmony_ciEXPORT_SYMBOL(pci_iounmap); 4562306a36Sopenharmony_ci#endif 46