On Thu, 28 Jun 2007, Andrew Morton wrote: > On Thu, 28 Jun 2007 15:37:15 +0200 Heiko Carstens <[EMAIL PROTECTED]> wrote: > > > From: Heiko Carstens <[EMAIL PROTECTED]> > > > > check_signature() uses readb() and therefore should only be build on > > CONFIG_HAS_IOMEM. > > > > Otherwise breaks s390: > > lib/check_signature.c: In function `check_signature': > > lib/check_signature.c:19: error: implicit declaration of function `readb' > > > > Ah, right, I've been discussing identical m68k breakage with Roman and Geert. > > > --- > > lib/Makefile | 5 ++--- > > 1 files changed, 2 insertions(+), 3 deletions(-) > > > > Index: linux-2.6.22-rc6-mm1/lib/Makefile > > =================================================================== > > --- linux-2.6.22-rc6-mm1.orig/lib/Makefile > > +++ linux-2.6.22-rc6-mm1/lib/Makefile > > @@ -5,8 +5,7 @@ > > lib-y := ctype.o string.o vsprintf.o cmdline.o \ > > rbtree.o radix-tree.o dump_stack.o \ > > idr.o int_sqrt.o bitmap.o extable.o prio_tree.o \ > > - sha1.o irq_regs.o reciprocal_div.o argv_split.o \ > > - check_signature.o > > + sha1.o irq_regs.o reciprocal_div.o argv_split.o > > > > lib-$(CONFIG_MMU) += ioremap.o pagewalk.o > > lib-$(CONFIG_SMP) += cpumask.o > > @@ -22,7 +21,7 @@ CFLAGS_kobject_uevent.o += -DDEBUG > > endif > > > > obj-$(CONFIG_GENERIC_IOMAP) += iomap.o > > -obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o > > +obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o check_signature.o > > obj-$(CONFIG_DEBUG_LOCKING_API_SELFTESTS) += locking-selftest.o > > obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock_debug.o > > lib-$(CONFIG_RWSEM_GENERIC_SPINLOCK) += rwsem-spinlock.o > > We didn't think of that. > > Alas, m68k `make allmodconfig' creates CONFIG_ISA=n, CONFIG_PCI=n, > CONFIG_HAS_IOMEM=y, so it will still be busted. > > But this seems to be the correct fix. Perhaps m68k config needs > attention?
Euh, I don't think this is the correct fix. CONFIG_HAS_IOMEM is apparently used in two meanings: 1. The architecture has support for memory mapped I/O (s390 obviously hasn't) 2. The architecture has ISA/PCI-style memory mapped I/O (readb() and friends) check_signature() falls under the second category. Setting NO_IOMEM on m68k will make us loose some drivers (e.g. drivers/video/Kconfig depends on HAS_IOMEM). Apart from many Kconfig dependencies on HAS_IOMEM, CONFIG_HAS_IOMEM is further only used to control the build of lib/iomap_copy.c, which doesn't use readb() and friends, but the __raw*() operations. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [EMAIL PROTECTED] In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/