forked from mirrors/linux
		
	parisc: Declare pci_iounmap() parisc version only when CONFIG_PCI enabled
Linus noticed odd declaration rules for pci_iounmap() in iomap.h and
pci_iomap.h, where it dependend on either NO_GENERIC_PCI_IOPORT_MAP or
GENERIC_IOMAP when CONFIG_PCI was disabled.
Testing on parisc seems to indicate that we need pci_iounmap() only when
CONFIG_PCI is enabled, so the declaration of pci_iounmap() can be moved
cleanly into pci_iomap.h in sync with the declarations of pci_iomap().
Link: https://lore.kernel.org/all/CAHk-=wjRrh98pZoQ+AzfWmsTZacWxTJKXZ9eKU2X_0+jM=O8nw@mail.gmail.com/
Signed-off-by: Helge Deller <deller@gmx.de>
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Fixes: 97a29d59fc ("[PARISC] fix compile break caused by iomap: make IOPORT/PCI mapping functions conditional")
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Ulrich Teichert <krypton@ulrich-teichert.org>
Cc: James Bottomley <James.Bottomley@hansenpartnership.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
			
			
This commit is contained in:
		
							parent
							
								
									31ad37bd6f
								
							
						
					
					
						commit
						9caea00076
					
				
					 3 changed files with 6 additions and 11 deletions
				
			
		| 
						 | 
					@ -513,12 +513,15 @@ void ioport_unmap(void __iomem *addr)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef CONFIG_PCI
 | 
				
			||||||
void pci_iounmap(struct pci_dev *dev, void __iomem * addr)
 | 
					void pci_iounmap(struct pci_dev *dev, void __iomem * addr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	if (!INDIRECT_ADDR(addr)) {
 | 
						if (!INDIRECT_ADDR(addr)) {
 | 
				
			||||||
		iounmap(addr);
 | 
							iounmap(addr);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					EXPORT_SYMBOL(pci_iounmap);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
EXPORT_SYMBOL(ioread8);
 | 
					EXPORT_SYMBOL(ioread8);
 | 
				
			||||||
EXPORT_SYMBOL(ioread16);
 | 
					EXPORT_SYMBOL(ioread16);
 | 
				
			||||||
| 
						 | 
					@ -544,4 +547,3 @@ EXPORT_SYMBOL(iowrite16_rep);
 | 
				
			||||||
EXPORT_SYMBOL(iowrite32_rep);
 | 
					EXPORT_SYMBOL(iowrite32_rep);
 | 
				
			||||||
EXPORT_SYMBOL(ioport_map);
 | 
					EXPORT_SYMBOL(ioport_map);
 | 
				
			||||||
EXPORT_SYMBOL(ioport_unmap);
 | 
					EXPORT_SYMBOL(ioport_unmap);
 | 
				
			||||||
EXPORT_SYMBOL(pci_iounmap);
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -110,16 +110,6 @@ static inline void __iomem *ioremap_np(phys_addr_t offset, size_t size)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef CONFIG_PCI
 | 
					 | 
				
			||||||
/* Destroy a virtual mapping cookie for a PCI BAR (memory or IO) */
 | 
					 | 
				
			||||||
struct pci_dev;
 | 
					 | 
				
			||||||
extern void pci_iounmap(struct pci_dev *dev, void __iomem *);
 | 
					 | 
				
			||||||
#elif defined(CONFIG_GENERIC_IOMAP)
 | 
					 | 
				
			||||||
struct pci_dev;
 | 
					 | 
				
			||||||
static inline void pci_iounmap(struct pci_dev *dev, void __iomem *addr)
 | 
					 | 
				
			||||||
{ }
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include <asm-generic/pci_iomap.h>
 | 
					#include <asm-generic/pci_iomap.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,6 +18,7 @@ extern void __iomem *pci_iomap_range(struct pci_dev *dev, int bar,
 | 
				
			||||||
extern void __iomem *pci_iomap_wc_range(struct pci_dev *dev, int bar,
 | 
					extern void __iomem *pci_iomap_wc_range(struct pci_dev *dev, int bar,
 | 
				
			||||||
					unsigned long offset,
 | 
										unsigned long offset,
 | 
				
			||||||
					unsigned long maxlen);
 | 
										unsigned long maxlen);
 | 
				
			||||||
 | 
					extern void pci_iounmap(struct pci_dev *dev, void __iomem *);
 | 
				
			||||||
/* Create a virtual mapping cookie for a port on a given PCI device.
 | 
					/* Create a virtual mapping cookie for a port on a given PCI device.
 | 
				
			||||||
 * Do not call this directly, it exists to make it easier for architectures
 | 
					 * Do not call this directly, it exists to make it easier for architectures
 | 
				
			||||||
 * to override */
 | 
					 * to override */
 | 
				
			||||||
| 
						 | 
					@ -50,6 +51,8 @@ static inline void __iomem *pci_iomap_wc_range(struct pci_dev *dev, int bar,
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return NULL;
 | 
						return NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					static inline void pci_iounmap(struct pci_dev *dev, void __iomem *addr)
 | 
				
			||||||
 | 
					{ }
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* __ASM_GENERIC_PCI_IOMAP_H */
 | 
					#endif /* __ASM_GENERIC_PCI_IOMAP_H */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue