2012-02-02 09:05:52

by Artem Bityutskiy

[permalink] [raw]
Subject: Re: [PATCH] MTD: Refine HAS_IOMEM dependency

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 <[email protected]>

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

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....

Note, I tested your patch with todays l2-mtd tree on top of this commit:

705e4ee mtd: add leading underscore to all mtd functions

--
Best Regards,
Artem Bityutskiy


Attachments:
s390-config (29.40 kB)
signature.asc (836.00 B)
This is a digitally signed message part
Download all attachments

2012-02-02 09:11:12

by Richard Weinberger

[permalink] [raw]
Subject: Re: [PATCH] MTD: Refine HAS_IOMEM dependency

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<[email protected]>
>
> 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