All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lars-Peter Clausen <lars@metafoo.de>
To: Richard Weinberger <richard@nod.at>
Cc: dmitry.torokhov@gmail.com, linux-iio@vger.kernel.org,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	teg@jklm.no, thierry.reding@gmail.com,
	Lennox Wu <lennox.wu@gmail.com>,
	Chen Gang <gang.chen.5i5j@gmail.com>, Marek Vasut <marex@denx.de>,
	Liqin Chen <liqin.linux@gmail.com>,
	msalter@redhat.com, linux-pwm@vger.kernel.org,
	devel@driverdev.osuosl.org, linux-watchdog@vger.kernel.org,
	linux-input@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	knaack.h@gmx.de, Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Mischa.Jonker@synopsys.com, jic23@kernel.org
Subject: Re: [PATCH] drivers: Let several drivers depends on HAS_IOMEM for 'devm_ioremap_resource'
Date: Sun, 13 Jul 2014 16:25:06 +0200	[thread overview]
Message-ID: <53C296C2.30304@metafoo.de> (raw)
In-Reply-To: <53C291C8.6050303@nod.at>

On 07/13/2014 04:03 PM, Richard Weinberger wrote:
> Am 13.07.2014 15:56, schrieb Lars-Peter Clausen:
>> On 07/13/2014 03:40 PM, Richard Weinberger wrote:
>>> Am 13.07.2014 15:26, schrieb Lars-Peter Clausen:
>>>> On 07/13/2014 11:45 AM, Richard Weinberger wrote:
>>>>> Am 13.07.2014 11:27, schrieb Lennox Wu:
>>>>>> As I said before, some configurations don't make sense.
>>>>>
>>>>> If such a configuration can be achieved using allmod/yesconfig it has to be fixed.
>>>>> Chen's fixes seem reasonable as not all architectures support iomem.
>>>>
>>>> Maybe we should stub out ioremap() and friends when COMPILE_TEST is enabled to avoid these linker errors. That's in my opinion better than turning most of the 'depends on
>>>> COMPILE_TEST' into 'depends on COMPILE_TEST && HAS_IOMEM'. The issue comes up quite a lot and it is often overlooked when adding a driver that can be build when COMPILE_TEST is
>>>> enabled.
>>>
>>> And what should this stub do?
>>> Except calling BUG()...
>>
>> return NULL;
>>
>> It's for compile testing, it's not meant to work at runtime.
>
> Hm, I really don't like the idea of having a non-working kernel.
> IMHO either it should build _and_ run and nothing else.
> Greg, what do you think?

The kernel will still be working fine and you can run it on a system. The 
drivers which use ioremap() or similar are probably not instantiated on a 
system that does not provide HAS_IOMEM. But even if it was the driver should 
handle ioremap() returning NULL gracefully and abort the driver probe. That 
said you'll probably not run a kernel that was built with COMPILE_TEST on your 
real hardware since it contains so many drivers that are completely useless on 
your hardware. The idea of COMPILE_TEST is to have as much compile test 
exposure as possible to the code that is enabled by COMPILE_TEST. Stubbing out 
ioremap() and friends when HAS_IOMEM is not set and COMPILE_TEST is set makes 
it easier to get there.

- Lars

WARNING: multiple messages have this Message-ID (diff)
From: Lars-Peter Clausen <lars@metafoo.de>
To: Richard Weinberger <richard@nod.at>
Cc: Lennox Wu <lennox.wu@gmail.com>, Marek Vasut <marex@denx.de>,
	Chen Gang <gang.chen.5i5j@gmail.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	dmitry.torokhov@gmail.com, thierry.reding@gmail.com,
	jic23@kernel.org, wim@iguana.be,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	kys@microsoft.com, Martin Schwidefsky <schwidefsky@de.ibm.com>,
	teg@jklm.no, Mischa.Jonker@synopsys.com, msalter@redhat.com,
	knaack.h@gmx.de, rdunlap@infradead.org,
	linux-input@vger.kernel.org, linux-pwm@vger.kernel.org,
	linux-iio@vger.kernel.org, devel@driverdev.osuosl.org,
	linux-watchdog@vger.kernel.org,
	Liqin Chen <liqin.linux@gmail.com>
Subject: Re: [PATCH] drivers: Let several drivers depends on HAS_IOMEM for 'devm_ioremap_resource'
Date: Sun, 13 Jul 2014 16:25:06 +0200	[thread overview]
Message-ID: <53C296C2.30304@metafoo.de> (raw)
In-Reply-To: <53C291C8.6050303@nod.at>

On 07/13/2014 04:03 PM, Richard Weinberger wrote:
> Am 13.07.2014 15:56, schrieb Lars-Peter Clausen:
>> On 07/13/2014 03:40 PM, Richard Weinberger wrote:
>>> Am 13.07.2014 15:26, schrieb Lars-Peter Clausen:
>>>> On 07/13/2014 11:45 AM, Richard Weinberger wrote:
>>>>> Am 13.07.2014 11:27, schrieb Lennox Wu:
>>>>>> As I said before, some configurations don't make sense.
>>>>>
>>>>> If such a configuration can be achieved using allmod/yesconfig it has to be fixed.
>>>>> Chen's fixes seem reasonable as not all architectures support iomem.
>>>>
>>>> Maybe we should stub out ioremap() and friends when COMPILE_TEST is enabled to avoid these linker errors. That's in my opinion better than turning most of the 'depends on
>>>> COMPILE_TEST' into 'depends on COMPILE_TEST && HAS_IOMEM'. The issue comes up quite a lot and it is often overlooked when adding a driver that can be build when COMPILE_TEST is
>>>> enabled.
>>>
>>> And what should this stub do?
>>> Except calling BUG()...
>>
>> return NULL;
>>
>> It's for compile testing, it's not meant to work at runtime.
>
> Hm, I really don't like the idea of having a non-working kernel.
> IMHO either it should build _and_ run and nothing else.
> Greg, what do you think?

The kernel will still be working fine and you can run it on a system. The 
drivers which use ioremap() or similar are probably not instantiated on a 
system that does not provide HAS_IOMEM. But even if it was the driver should 
handle ioremap() returning NULL gracefully and abort the driver probe. That 
said you'll probably not run a kernel that was built with COMPILE_TEST on your 
real hardware since it contains so many drivers that are completely useless on 
your hardware. The idea of COMPILE_TEST is to have as much compile test 
exposure as possible to the code that is enabled by COMPILE_TEST. Stubbing out 
ioremap() and friends when HAS_IOMEM is not set and COMPILE_TEST is set makes 
it easier to get there.

- Lars


  reply	other threads:[~2014-07-13 14:25 UTC|newest]

Thread overview: 128+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-13  3:07 [PATCH] drivers: Let several drivers depends on HAS_IOMEM for 'devm_ioremap_resource' Chen Gang
2014-07-13  3:07 ` Chen Gang
2014-07-13  3:14 ` Chen Gang
2014-07-13 14:28   ` Chen Gang
2014-07-13 14:28     ` Chen Gang
     [not found] ` <53C1F7DE.3060102-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-07-13  3:45   ` Marek Vasut
2014-07-13  3:45     ` Marek Vasut
2014-07-13  9:27     ` Lennox Wu
2014-07-13  9:27       ` Lennox Wu
2014-07-13  9:45       ` Richard Weinberger
2014-07-13  9:45         ` Richard Weinberger
2014-07-13 10:06         ` Chen Gang
2014-07-13 10:06           ` Chen Gang
2014-07-13 13:26         ` Lars-Peter Clausen
     [not found]           ` <53C288F0.3070001-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2014-07-13 13:40             ` Richard Weinberger
2014-07-13 13:40               ` Richard Weinberger
2014-07-13 13:56               ` Lars-Peter Clausen
2014-07-13 14:03                 ` Richard Weinberger
2014-07-13 14:25                   ` Lars-Peter Clausen [this message]
2014-07-13 14:25                     ` Lars-Peter Clausen
2014-07-13 15:02                     ` Chen Gang
2014-07-13 15:02                       ` Chen Gang
2014-07-13 19:22                     ` Greg Kroah-Hartman
2014-07-13 19:22                       ` Greg Kroah-Hartman
2014-07-13 19:33                       ` Richard Weinberger
2014-07-13 20:17                         ` Greg Kroah-Hartman
2014-07-13 20:17                           ` Greg Kroah-Hartman
     [not found]                           ` <20140713201753.GA29955-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2014-07-14  8:31                             ` Richard Weinberger
2014-07-14  8:31                               ` Richard Weinberger
2014-07-14  8:48                               ` Lars-Peter Clausen
2014-07-14  8:48                                 ` Lars-Peter Clausen
2014-07-14  8:57                                 ` Richard Weinberger
2014-07-14  8:57                                   ` Richard Weinberger
     [not found]                                   ` <53C39B66.4060500-/L3Ra7n9ekc@public.gmane.org>
2014-07-14  9:22                                     ` Chen Gang
2014-07-14  9:22                                       ` Chen Gang
2014-07-14  9:22                                       ` Chen Gang
2014-07-14  9:22                                       ` Chen Gang
     [not found]                                       ` <5A40E1FC-CA61-4AFF-B205-4BAC175AA7AC-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-07-15  0:34                                         ` Chen Gang
2014-07-15  0:34                                           ` Chen Gang
2014-07-15  0:34                                           ` Chen Gang
2014-07-15  0:53                                           ` Guenter Roeck
2014-07-15  0:53                                             ` Guenter Roeck
2014-07-15  1:11                                             ` Chen Gang
2014-07-15  1:11                                               ` Chen Gang
2014-07-15 14:38                                               ` Chen Gang
2014-07-15 14:38                                                 ` Chen Gang
2014-07-15 14:38                                                 ` Chen Gang
     [not found]                                                 ` <53C53CE1.4090803-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-07-17  1:27                                                   ` Chen Gang
2014-07-17  1:27                                                     ` Chen Gang
2014-07-17  1:27                                                     ` Chen Gang
2014-07-17  1:58                                                     ` Guenter Roeck
2014-07-17  1:58                                                       ` Guenter Roeck
2014-07-17  2:11                                                       ` Chen Gang
2014-07-17  8:37                                                     ` Thierry Reding
2014-07-17  8:37                                                       ` Thierry Reding
2014-07-17  8:59                                                       ` Chen Gang
2014-07-17  8:59                                                         ` Chen Gang
2014-07-17  9:16                                                         ` Dan Carpenter
2014-07-17  9:16                                                           ` Dan Carpenter
2014-07-17  9:19                                                           ` Chen Gang
2014-07-23 11:09                                                             ` Chen Gang
2014-07-23 11:30                                                               ` Dan Carpenter
2014-07-23 11:37                                                                 ` Chen Gang
2014-07-17  9:20                                                     ` Arnd Bergmann
2014-07-17  9:26                                                       ` Richard Weinberger
2014-07-17  9:26                                                         ` Richard Weinberger
2014-07-17 10:28                                                         ` Arnd Bergmann
2014-07-17 10:28                                                           ` Arnd Bergmann
2014-07-17 10:58                                                           ` Richard Weinberger
2014-07-17 10:58                                                             ` Richard Weinberger
2014-07-17 11:24                                                             ` Arnd Bergmann
2014-07-17 11:24                                                               ` Arnd Bergmann
2014-07-17 11:32                                                             ` Chen Gang
2014-07-17 11:32                                                               ` Chen Gang
2014-07-17 11:32                                                               ` Chen Gang
2014-07-17  9:29                                                       ` Chen Gang
2014-07-17  9:29                                                         ` Chen Gang
2014-07-17  9:51                                                         ` Thierry Reding
2014-07-17 10:38                                                         ` Arnd Bergmann
2014-07-17 10:38                                                           ` Arnd Bergmann
2014-07-17 11:46                                                           ` Chen Gang
2014-07-17 11:46                                                             ` Chen Gang
2014-07-17  9:56                                                       ` Thierry Reding
2014-07-17  9:56                                                         ` Thierry Reding
2014-07-17 10:33                                                         ` Arnd Bergmann
2014-07-17 10:55                                                           ` Thierry Reding
2014-07-17 10:55                                                             ` Thierry Reding
2014-07-17 11:20                                                             ` Chen Gang
2014-07-17 11:20                                                               ` Chen Gang
2014-07-17 10:40                                                       ` Lars-Peter Clausen
2014-07-17 10:40                                                         ` Lars-Peter Clausen
2014-07-17 10:48                                                         ` Arnd Bergmann
2014-07-17 11:28                                                           ` Chen Gang
2014-07-17 20:41                                                             ` Chris Metcalf
2014-07-17 20:41                                                               ` Chris Metcalf
2014-07-17 21:05                                                               ` Arnd Bergmann
2014-07-17 21:05                                                                 ` Arnd Bergmann
2014-07-18  0:26                                                                 ` Chen Gang
2014-07-31 20:09                                                                 ` Chris Metcalf
2014-07-31 20:09                                                                   ` Chris Metcalf
2014-07-17 18:09                                                           ` Richard Weinberger
2014-07-17 18:09                                                             ` Richard Weinberger
2014-07-18  0:36                                                             ` Chen Gang
2014-07-18  7:35                                                               ` Richard Weinberger
2014-07-18  7:35                                                                 ` Richard Weinberger
2014-07-18 10:44                                                                 ` Chen Gang
2014-07-18 10:51                                                                   ` Richard Weinberger
2014-07-18 15:37                                                                     ` Lennox Wu
2014-07-18 15:37                                                                       ` Lennox Wu
2014-07-18 18:02                                                                       ` Chen Gang
2014-07-20  8:38                                                                         ` Chen Gang
2014-07-20  8:38                                                                           ` Chen Gang
2014-07-20  9:45                                                                           ` Richard Weinberger
2014-07-20  9:45                                                                             ` Richard Weinberger
     [not found]                                                                             ` <53CB8FBF.2070206-/L3Ra7n9ekc@public.gmane.org>
2014-07-20  9:51                                                                               ` Chen Gang
2014-07-20  9:51                                                                                 ` Chen Gang
2014-07-20  9:56                                                                                 ` Chen Gang
2014-07-20  9:56                                                                                   ` Chen Gang
2014-07-20  9:45                                                                           ` Chen Gang
2014-07-20  9:45                                                                             ` Chen Gang
2014-07-22 10:32                                                                             ` Arnd Bergmann
2014-07-22 11:29                                                                               ` Chen Gang
2014-07-22 11:29                                                                                 ` Chen Gang
2014-07-15  0:35                                         ` Chen Gang
2014-07-15  0:35                                           ` Chen Gang
2014-07-15  0:35                                           ` Chen Gang
2014-07-14  8:18                       ` Thierry Reding
2014-07-14  8:18                         ` Thierry Reding

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=53C296C2.30304@metafoo.de \
    --to=lars@metafoo.de \
    --cc=Mischa.Jonker@synopsys.com \
    --cc=benh@kernel.crashing.org \
    --cc=devel@driverdev.osuosl.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=gang.chen.5i5j@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jic23@kernel.org \
    --cc=knaack.h@gmx.de \
    --cc=lennox.wu@gmail.com \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pwm@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=liqin.linux@gmail.com \
    --cc=marex@denx.de \
    --cc=msalter@redhat.com \
    --cc=richard@nod.at \
    --cc=schwidefsky@de.ibm.com \
    --cc=teg@jklm.no \
    --cc=thierry.reding@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.