Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

m68k: coldfire: select PCI_IOMAP for PCI

After I dropped CONFIG_GENERIC_IOMAP, some PCI drivers started failing
to link when CONFIG_MMU is disabled:

ERROR: modpost: "pci_iounmap" [drivers/video/fbdev/i740fb.ko] undefined!
ERROR: modpost: "pci_iounmap" [drivers/video/fbdev/vt8623fb.ko] undefined!
ERROR: modpost: "pci_iomap_wc" [drivers/video/fbdev/vt8623fb.ko] undefined!
ERROR: modpost: "pci_iomap" [drivers/video/fbdev/vt8623fb.ko] undefined!
ERROR: modpost: "pci_iounmap" [drivers/video/fbdev/s3fb.ko] undefined!
...

It turns out that there were two mistakes in my patch: on !MMU I forgot
to enable CONFIG_GENERIC_PCI_IOMAP, and for Coldfire with MMU enabled,
teh GENERIC_IOMAP was left in place but incorrectly configured.

Fixes: 9d48cc07d0d7 ("m68k/nommu: stop using GENERIC_IOMAP")
Reported-by: Greg Ungerer <gerg@linux-m68k.org>
Acked-by: Greg Ungerer <gerg@linux-m68k.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+2 -1
+2 -1
arch/m68k/Kconfig
··· 18 18 select DMA_DIRECT_REMAP if M68K_NONCOHERENT_DMA && !COLDFIRE 19 19 select GENERIC_ATOMIC64 20 20 select GENERIC_CPU_DEVICES 21 - select GENERIC_IOMAP if HAS_IOPORT && MMU 21 + select GENERIC_IOMAP if HAS_IOPORT && MMU && !COLDFIRE 22 22 select GENERIC_IRQ_SHOW 23 23 select GENERIC_LIB_ASHLDI3 24 24 select GENERIC_LIB_ASHRDI3 25 25 select GENERIC_LIB_LSHRDI3 26 26 select GENERIC_LIB_MULDI3 27 + select GENERIC_PCI_IOMAP if PCI 27 28 select HAS_IOPORT if PCI || ISA || ATARI_ROM_ISA 28 29 select HAVE_ARCH_LIBGCC_H 29 30 select HAVE_ARCH_SECCOMP