Skip to content

Commit 97a29d5

Browse files
James BottomleyJames Bottomley
authored andcommitted
[PARISC] fix compile break caused by iomap: make IOPORT/PCI mapping functions conditional
The problem in commit fea8031 Author: Randy Dunlap <[email protected]> Date: Sun Jul 24 11:39:14 2011 -0700 iomap: make IOPORT/PCI mapping functions conditional is that if your architecture supplies pci_iomap/pci_iounmap, it expects always to supply them. Adding empty body defitions in the !CONFIG_PCI case, which is what this patch does, breaks the parisc compile because the functions become doubly defined. It took us a while to spot this, because we don't actually build !CONFIG_PCI very often (only if someone is brave enough to test the snake/asp machines). Since the note in the commit log says this is to fix a CONFIG_GENERIC_IOMAP issue (which it does because CONFIG_GENERIC_IOMAP supplies pci_iounmap only if CONFIG_PCI is set), there should actually have been a condition upon this. This should make sure no other architecture's !CONFIG_PCI compile breaks in the same way as parisc. The fix had to be updated to take account of the GENERIC_PCI_IOMAP separation. Reported-by: Rolf Eike Beer <[email protected]> Signed-off-by: James Bottomley <[email protected]>
1 parent 500dd23 commit 97a29d5

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

include/asm-generic/iomap.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ extern void ioport_unmap(void __iomem *);
7070
/* Destroy a virtual mapping cookie for a PCI BAR (memory or IO) */
7171
struct pci_dev;
7272
extern void pci_iounmap(struct pci_dev *dev, void __iomem *);
73-
#else
73+
#elif defined(CONFIG_GENERIC_IOMAP)
7474
struct pci_dev;
7575
static inline void pci_iounmap(struct pci_dev *dev, void __iomem *addr)
7676
{ }

include/asm-generic/pci_iomap.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ extern void __iomem *__pci_ioport_map(struct pci_dev *dev, unsigned long port,
2525
#define __pci_ioport_map(dev, port, nr) ioport_map((port), (nr))
2626
#endif
2727

28-
#else
28+
#elif defined(CONFIG_GENERIC_PCI_IOMAP)
2929
static inline void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max)
3030
{
3131
return NULL;

0 commit comments

Comments
 (0)