[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <51D4C87E.5070605@asianux.com>
Date: Thu, 04 Jul 2013 08:57:34 +0800
From: Chen Gang <gang.chen@...anux.com>
To: Arnd Bergmann <arnd@...db.de>
CC: Geert Uytterhoeven <geert@...ux-m68k.org>,
Richard Weinberger <richard@....at>,
Jeff Dike <jdike@...toit.com>,
David Sharp <dhsharp@...gle.com>,
"sfr@...b.auug.org.au" <sfr@...b.auug.org.au>,
Steven Rostedt <rostedt@...dmis.org>,
Ingo Molnar <mingo@...nel.org>,
uml-devel <user-mode-linux-devel@...ts.sourceforge.net>,
uml-user <user-mode-linux-user@...ts.sourceforge.net>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Linux-Arch <linux-arch@...r.kernel.org>,
Mark Brown <broonie@...nel.org>,
David Miller <davem@...emloft.net>,
Andrew Morton <akpm@...ux-foundation.org>,
Jiri Kosina <trivial@...nel.org>,
Greg KH <gregkh@...uxfoundation.org>,
Jiri Slaby <jslaby@...e.cz>
Subject: Re: [PATCH] include/asm-generic/io.h: add dummy fuctions to support
'COMPILE_TEST' in 'asm-generic'.
'asm-generic' neither belongs to architectures nor belongs to modules,
it provides public services to both modules and architectures.
'COMPILE_TEST=y' will let 'asm-generic' provide self checking sevices to
both modules and architectures (especially with allmodconfig and
"EXTRA_CFLAGS=-W")
For modules (especially which will run under the specific architecture
soon), the developer can find more compiling issues before they really
support it.
For architectures, can let modules compile as much as possible (if
"COMPILE_TEST=y"), it will give a better check for the architectures.
At present, most of architectures (include various machine/cpu in an
architecture) can not pass compiling with 'allmodconfig'. One of the
main reasons is the HW of the specific architecture does not support.
It is neither architectures issue nor modules issue, the root cause is:
"now, 'asm-generic' doesn't provide the related necessary public
services for it".
Thanks.
On 07/03/2013 04:43 PM, Chen Gang wrote:
> On 07/03/2013 04:14 PM, Arnd Bergmann wrote:
>> On Wednesday 03 July 2013, Chen Gang wrote:
>>>> On 07/02/2013 06:57 PM, Geert Uytterhoeven wrote:
>>>>>> On Tue, Jul 2, 2013 at 10:00 AM, Chen Gang <gang.chen@...anux.com> wrote:
>>>>>>>>>> On 07/02/2013 03:19 PM, Geert Uytterhoeven wrote:
>>>>>>>>>>>>>> On Tue, Jul 2, 2013 at 4:13 AM, Chen Gang <gang.chen@...anux.com> wrote:
>>>>>> I mean that COMPILE_TEST should exist in Kconfig files only.
>>>>>> It's only meant to have more compile coverage, not to "fix" (through #ifdef)
>>>>>> more code to make it compile.
>>>>
>>>> If so, can we allow the module to 'COMPILE_TEST' under one platform
>>>> which not support the related HW ?
>>>>
>>>> e.g. "...Despite they cannot be loaded there (or even when they load
>>>> they cannot be used due to missing HW support)...".
>> There is a reason why ioremap and the associated functions make no
>> sense on UML, and it remains important to not provide them here
>> so we can find drivers that accidentally use them and are missing
>> a dependency on HAS_IOMEM.
>>
>
> Yeah, it is necessary for "asm-generic" to provide the configuration
> checking features (e.g. check HAS_IOMEM, HAS_IOMAP, ...).
>
> And it really make no sense on UML.
>
>>>> 'asm-generic' need provide generic layer to users (both architecture
>>>> guys and module guys).
>> No. It's a set of examples for the architectures to look at and
>> include if they want to.
>>
>
> If really just like what you said, I recommend to use "asm-default"
> instead of "asm-generic".
>
> And for module guys, they have to use another 'generic' files instead
> of current 'asm-generic', they really need some 'generic' things to
> prevent the various definitions/implementations spread into anywhere.
>
>>>> So for 'default', it can depend on some conditions (e.g. HW support);
>>>> but for 'generic', it need try to be independent from any conditions.
>>>>
>>>> And it is also necessary for 'generic' to provide the configuration
>>>> checking features, but this checking must be no negative effect (or
>>>> consistent) with its 'generic' services.
>>>>
>>>> So it is necessary to check 'NOMMU', 'CONFIG_HAS_IOMEM' ..., but it
>>>> also necessary to consider about 'COMPILE_TEST' to be consistent with
>>>> its 'generic' services.
>> The important distinction is between drivers we want to enable in
>> COMPILE_TEST because they are written in a portable way but are just
>> useless if you don't have the hardware, and other drivers that rely
>> on an interface and that should not be built when that interface
>> is not available.
>
> For user/distributor, they are just like what you said above, but for
> some of developers ...
>
> The comments of 'COMPILE_TEST' in init/Kconfig:
>
> config COMPILE_TEST
> bool "Compile also drivers which will not load"
> default n
> help
> Some drivers can be compiled on a different platform than they are
> intended to be run on. Despite they cannot be loaded there (or even
> when they load they cannot be used due to missing HW support),
> developers still, opposing to distributors, might want to build such
> drivers to compile-test them.
>
> If you are a developer and want to build everything available, say Y
> here. If you are a user/distributor, say N here to exclude useless
> drivers to be distributed.
>
>
> Thanks.
>
--
Chen Gang
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists