iomap.c

来自「linux 内核源代码」· C语言 代码 · 共 49 行

C
49
字号
/* * Implement the sparc iomap interfaces */#include <linux/pci.h>#include <linux/module.h>#include <asm/io.h>/* Create a virtual mapping cookie for an IO port range */void __iomem *ioport_map(unsigned long port, unsigned int nr){	return (void __iomem *) (unsigned long) port;}void ioport_unmap(void __iomem *addr){	/* Nothing to do */}EXPORT_SYMBOL(ioport_map);EXPORT_SYMBOL(ioport_unmap);/* Create a virtual mapping cookie for a PCI BAR (memory or IO) */void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen){	unsigned long start = pci_resource_start(dev, bar);	unsigned long len = pci_resource_len(dev, bar);	unsigned long flags = pci_resource_flags(dev, bar);	if (!len || !start)		return NULL;	if (maxlen && len > maxlen)		len = maxlen;	if (flags & IORESOURCE_IO)		return ioport_map(start, len);	if (flags & IORESOURCE_MEM) {		if (flags & IORESOURCE_CACHEABLE)			return ioremap(start, len);		return ioremap_nocache(start, len);	}	/* What? */	return NULL;}void pci_iounmap(struct pci_dev *dev, void __iomem * addr){	/* nothing to do */}EXPORT_SYMBOL(pci_iomap);EXPORT_SYMBOL(pci_iounmap);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?