mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 15:11:31 +00:00
a6475c1322
There are two parts of changes. The first is just enable PCI in Makefiles and in Kconfig. The second is the rest of missing files. I didn't want to add it with previous patch because that patch is too big. Current Microblaze toolchain has problem with weak symbols that's why is necessary to apply this changes to be possible to compile pci support. Xilinx knows about this problem. Signed-off-by: Michal Simek <monstr@monstr.eu>
40 lines
875 B
C
40 lines
875 B
C
/*
|
|
* ppc64 "iomap" interface implementation.
|
|
*
|
|
* (C) Copyright 2004 Linus Torvalds
|
|
*/
|
|
#include <linux/init.h>
|
|
#include <linux/pci.h>
|
|
#include <linux/mm.h>
|
|
#include <asm/io.h>
|
|
#include <asm/pci-bridge.h>
|
|
|
|
void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max)
|
|
{
|
|
resource_size_t start = pci_resource_start(dev, bar);
|
|
resource_size_t len = pci_resource_len(dev, bar);
|
|
unsigned long flags = pci_resource_flags(dev, bar);
|
|
|
|
if (!len)
|
|
return NULL;
|
|
if (max && len > max)
|
|
len = max;
|
|
if (flags & IORESOURCE_IO)
|
|
return ioport_map(start, len);
|
|
if (flags & IORESOURCE_MEM)
|
|
return ioremap(start, len);
|
|
/* What? */
|
|
return NULL;
|
|
}
|
|
EXPORT_SYMBOL(pci_iomap);
|
|
|
|
void pci_iounmap(struct pci_dev *dev, void __iomem *addr)
|
|
{
|
|
if (isa_vaddr_is_ioport(addr))
|
|
return;
|
|
if (pcibios_vaddr_is_ioport(addr))
|
|
return;
|
|
iounmap(addr);
|
|
}
|
|
EXPORT_SYMBOL(pci_iounmap);
|