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