From: Chen Gang <gang.chen@asianux.com>
To: Richard Weinberger <richard@nod.at>
Cc: Jeff Dike <jdike@addtoit.com>, Arnd Bergmann <arnd@arndb.de>,
dhsharp@google.com,
Mark Brown <broonie@opensource.wolfsonmicro.com>,
"sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
Steven Rostedt <rostedt@goodmis.org>,
Ingo Molnar <mingo@kernel.org>,
uml-devel <user-mode-linux-devel@lists.sourceforge.net>,
uml-user <user-mode-linux-user@lists.sourceforge.net>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Linux-Arch <linux-arch@vger.kernel.org>
Subject: Re: [PATCH] include/asm-generic/io.h: add 'UML' case just like 'no-MMU'
Date: Wed, 26 Jun 2013 17:54:59 +0800 [thread overview]
Message-ID: <51CABA73.6020003@asianux.com> (raw)
In-Reply-To: <51CAB689.70008@nod.at>
On 06/26/2013 05:38 PM, Richard Weinberger wrote:
> Am 26.06.2013 11:33, schrieb Chen Gang:
>> > On 06/26/2013 05:03 PM, Richard Weinberger wrote:
>>> >> Am 26.06.2013 10:58, schrieb Chen Gang:
>>>>> >>>> On 06/26/2013 04:39 PM, Richard Weinberger wrote:
>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> The drivers internal code has already check the related return value,
>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> so it is the architecture's duty to 'tell' the driver whether support
>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> io memory (e.g. define ioremap, but return NULL).
>>>>>>>>>>>>>>> >>>>>>>>>>>>>> It does so already by setting CONFIG_HAS_IOMEM=n
>>>>>>>>>>> >>>>>>>>>>
>>>>>>>>>>> >>>>>>>>>> Excuse me, I use "grep -rn ioremap *" under "include/" and "arch/um/"
>>>>>>>>>>> >>>>>>>>>> directory, but can not find the related definition for 'ioremap'.
>>>>>>>>>>> >>>>>>>>>>
>>>>>>>>>>> >>>>>>>>>> Is there another declaration or definition way which I don't know ?
>>>>>>>>>>> >>>>>>>>>> (maybe it is).
>>>>>>> >>>>>> Both UML and s390 (in the !CONFIG_PCI) do not define ioremap() because
>>>>>>> >>>>>> without io memory you cannot have a ioremap().
>>>>>>> >>>>>>
>>>>> >>>>
>>>>> >>>> I assume if ioremap() return NULL, it means "without io memory", is it
>>>>> >>>> correct ?
>>>>> >>>>
>>>>> >>>> If it is correct, "define a dummy ioremap(), and return NULL" is just
>>>>> >>>> the meaning that you mentioned above.
>>>>> >>>>
>>>>> >>>> If so, for UML, it is not requirement, but recommend to define a dummy
>>>>> >>>> ioremap() which return NULL, so can be generic enough to mach all cases.
>>> >> No.
>>> >> Not setting CONFIG_HAS_IOMEM=y means "This arch has no io memory and therefore no
>>> >> functions to mess with it".
>>> >>
>> >
>> > Since the API itself already contents the meaning: "return NULL means
>> > the arch has no related io memory",
>> >
>> > Why not define a generic dummy one in "include/asm-generic/io.h" instead
>> > of "HAS_IOMEM" (which has already spread many various places, and also,
>> > most of new drivers have to know about it).
>> >
>> > e.g: in "include/asm-generic/io.h", if "CONFIG_HAS_IOMEM=n", define a
>> > dummy ioremap() which return NULL ... (also need consider more details).
> Because we don't even want to build these drivers and not make them fail while
> executing io memory related functions.
>
It is one reason, but it seems not quite enough for it, it depends on
our requirements.
If we are also the 'platform' of all kernel modules (not only for user
mode), and "include/asm-generic/*" plays an important role for it.
It is the modules their own choice to determine which architectures they
want to support, and which architecture they won't, not need be directed
or forced by 'platform'.
Also better to let kernel modules free to determine whether build in or
not, when actually do not support the specific features of architecture
currently, not need be directed or forced by 'platform'.
Thanks.
--
Chen Gang
Asianux Corporation
prev parent reply other threads:[~2013-06-26 9:55 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-26 6:31 [PATCH] include/asm-generic/io.h: add 'UML' case just like 'no-MMU' Chen Gang
2013-06-26 6:54 ` Richard Weinberger
2013-06-26 7:38 ` Geert Uytterhoeven
2013-06-26 7:56 ` Chen Gang
2013-06-26 7:56 ` Chen Gang
2013-06-26 8:05 ` Richard Weinberger
2013-06-26 8:34 ` Chen Gang
2013-06-26 8:39 ` Richard Weinberger
2013-06-26 8:58 ` Chen Gang
2013-06-26 9:03 ` Richard Weinberger
2013-06-26 9:33 ` Chen Gang
2013-06-26 9:38 ` Richard Weinberger
2013-06-26 9:48 ` Geert Uytterhoeven
2013-06-26 10:01 ` Chen Gang
2013-06-26 10:17 ` Richard Weinberger
2013-06-26 10:22 ` Chen Gang
2013-07-01 1:40 ` Chen Gang
2013-07-01 3:43 ` Chen Gang
2013-07-02 2:13 ` [PATCH] include/asm-generic/io.h: add dummy fuctions to support 'COMPILE_TEST' in 'asm-generic' Chen Gang
2013-07-02 7:19 ` Geert Uytterhoeven
2013-07-02 8:00 ` Chen Gang
2013-07-02 10:57 ` Geert Uytterhoeven
2013-07-03 0:51 ` Chen Gang
2013-07-03 1:26 ` Chen Gang
2013-07-03 8:14 ` Arnd Bergmann
2013-07-03 8:43 ` Chen Gang
2013-07-04 0:57 ` Chen Gang
2013-07-04 1:12 ` Greg KH
2013-07-04 1:23 ` Steven Rostedt
2013-07-04 2:19 ` Chen Gang F T
2013-07-04 1:49 ` Chen Gang
2013-07-04 2:03 ` Steven Rostedt
2013-07-04 2:10 ` Chen Gang F T
2013-07-04 2:29 ` Steven Rostedt
2013-07-04 2:42 ` Chen Gang F T
2013-07-04 3:06 ` Steven Rostedt
2013-07-04 3:26 ` Chen Gang F T
2013-07-04 4:08 ` Greg KH
2013-07-04 4:50 ` Chen Gang
2013-07-04 6:12 ` Greg KH
2013-07-04 6:35 ` Chen Gang
2013-07-04 9:25 ` Arnd Bergmann
2013-07-05 0:03 ` Chen Gang F T
2013-07-05 0:12 ` Greg KH
2013-07-05 0:35 ` Chen Gang
2013-07-05 0:52 ` Chen Gang F T
2013-07-05 0:14 ` Stephen Rothwell
2013-07-05 0:48 ` Chen Gang F T
2013-07-05 8:01 ` Chen Gang F T
2013-07-05 11:13 ` Arnd Bergmann
2013-07-08 2:10 ` Chen Gang F T
2013-07-04 8:09 ` Geert Uytterhoeven
2013-07-05 0:10 ` Chen Gang
2013-06-26 9:54 ` Chen Gang [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51CABA73.6020003@asianux.com \
--to=gang.chen@asianux.com \
--cc=arnd@arndb.de \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=dhsharp@google.com \
--cc=jdike@addtoit.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=richard@nod.at \
--cc=rostedt@goodmis.org \
--cc=sfr@canb.auug.org.au \
--cc=user-mode-linux-devel@lists.sourceforge.net \
--cc=user-mode-linux-user@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox