Thread (70 messages) 70 messages, 11 authors, 2014-07-31

Re: [PATCH] drivers: Let several drivers depends on HAS_IOMEM for 'devm_ioremap_resource'

From: Chen Gang <hidden>
Date: 2014-07-13 15:02:43
Also in: linux-iio, linux-pwm, linux-watchdog, lkml

On 07/13/2014 10:25 PM, Lars-Peter Clausen wrote:
On 07/13/2014 04:03 PM, Richard Weinberger wrote:
quoted
Am 13.07.2014 15:56, schrieb Lars-Peter Clausen:
quoted
On 07/13/2014 03:40 PM, Richard Weinberger wrote:
quoted
Am 13.07.2014 15:26, schrieb Lars-Peter Clausen:
quoted
On 07/13/2014 11:45 AM, Richard Weinberger wrote:
quoted
Am 13.07.2014 11:27, schrieb Lennox Wu:
quoted
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.
For me, welcome Greg's idea or suggestion for it.

And also if the reply contents are wrapped (e.g. within 80 or less), that
will generate a better display under other members' email clients.


Thanks
-- 
Chen Gang

Open share and attitude like air water and life which God blessed
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help