xref: /openbmc/linux/arch/powerpc/kernel/iomap.c (revision cdd38c5f1ce4398ec58fec95904b75824daab7b5)
1*b2441318SGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0
27568cb4eSPaul Mackerras /*
37568cb4eSPaul Mackerras  * ppc64 "iomap" interface implementation.
47568cb4eSPaul Mackerras  *
57568cb4eSPaul Mackerras  * (C) Copyright 2004 Linus Torvalds
67568cb4eSPaul Mackerras  */
77568cb4eSPaul Mackerras #include <linux/pci.h>
87568cb4eSPaul Mackerras #include <linux/mm.h>
993087948SPaul Gortmaker #include <linux/export.h>
107568cb4eSPaul Mackerras #include <asm/io.h>
1150747cb8SBenjamin Herrenschmidt #include <asm/pci-bridge.h>
1238e9d36bSBenjamin Herrenschmidt #include <asm/isa-bridge.h>
137568cb4eSPaul Mackerras 
ioport_map(unsigned long port,unsigned int len)147568cb4eSPaul Mackerras void __iomem *ioport_map(unsigned long port, unsigned int len)
157568cb4eSPaul Mackerras {
1668a64357SBenjamin Herrenschmidt 	return (void __iomem *) (port + _IO_BASE);
177568cb4eSPaul Mackerras }
187568cb4eSPaul Mackerras EXPORT_SYMBOL(ioport_map);
197568cb4eSPaul Mackerras 
2081210c20SBenjamin Herrenschmidt #ifdef CONFIG_PCI
pci_iounmap(struct pci_dev * dev,void __iomem * addr)217568cb4eSPaul Mackerras void pci_iounmap(struct pci_dev *dev, void __iomem *addr)
227568cb4eSPaul Mackerras {
2350747cb8SBenjamin Herrenschmidt 	if (isa_vaddr_is_ioport(addr))
2450747cb8SBenjamin Herrenschmidt 		return;
2550747cb8SBenjamin Herrenschmidt 	if (pcibios_vaddr_is_ioport(addr))
2650747cb8SBenjamin Herrenschmidt 		return;
2750747cb8SBenjamin Herrenschmidt 	iounmap(addr);
287568cb4eSPaul Mackerras }
2950747cb8SBenjamin Herrenschmidt 
307568cb4eSPaul Mackerras EXPORT_SYMBOL(pci_iounmap);
31a85fe3fcSBenjamin Herrenschmidt #endif /* CONFIG_PCI */
32