mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 18:53:24 +00:00 
			
		
		
		
	 a6475c1322
			
		
	
	
		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);
 |