Re: [PATCH] MTD: Refine HAS_IOMEM dependency

From: Richard Weinberger
Date: Thu Feb 02 2012 - 04:11:10 EST


On 02.02.2012 10:07, Artem Bityutskiy wrote:
On Wed, 2012-01-25 at 18:21 +0100, Richard Weinberger wrote:
Making the entire mtd subsystem depend on HAS_IOMEM is a bit overkill.
HAS_IOMEM is only needed for real devices drivers.
nandsim and friends are perfectly usable on systems without IO memory.

I'm my case I'm using nandsim on UML to do some UBI and JFFS2 development.

Signed-off-by: Richard Weinberger<richard@xxxxxx>

Could you please work on this patch some more and make sure it does not
break s390 build (it does now).

Sure!

Download the s390 cross-compiler from here:
http://kernel.org/pub/tools/crosstool/files/bin/

I used this one:
http://kernel.org/pub/tools/crosstool/files/bin/x86_64/4.6.0/x86_64-gcc-4.6.0-nolibc_s390x-linux.tar.bz2

I built the kernel with arch/s390/defconfig - it is out of date a bit,
but the kernel compiles with it.

Then I applied your patch and enabled all the available MTD options and
failed to build it. I've attached this .config file. Here is the command
line I used to build the kernel for s390x:

$ make ARCH=s390 CROSS_COMPILE=s390x-linux-
O=/home/dedekind/space/kernel-builds/l2-mtd-s390 -j16

The .config was put to /home/dedekind/space/kernel-builds/l2-mtd-s390,
obviously, and the path to the s390x-linux-* tools were in my PATH
environment variable.

There many errors, here is just one example:

make[4]: *** [drivers/mtd/lpddr/lpddr_cmds.o] Error 1
/home/dedekind/git/l2-mtd/include/linux/mtd/map.h:407:3: error: implicit declaration of function 'memcpy_fromio' [-Werror=implicit-function-declaration]
make[3]: *** [drivers/mtd/lpddr] Error 2
make[3]: *** Waiting for unfinished jobs....

Okay, S390 does not have memcpy_fromio(). :-\

Thanks,
//richard
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/