On Sun, Jan 20, 2013 at 4:08 PM, Rob Clark robdclark@gmail.com wrote:
One thing I've run into in the past when trying to make changes in drm core, and Daniel Vetter has mentioned the same, is that it is a bit of a pain to compile test things for the arm drivers that do not support CONFIG_ARCH_MULTIPLATFORM. I went through a while back and fixed up the low hanging fruit (basically the drivers that just needed a Kconfig change). But, IIRC some of the backlight related code in shmob had some non-trivial plat dependencies. And I think when tegra came in, it introduced some non-trivial plat dependencies.
What do others think about requiring multiarch or no arch dependencies for new drivers, and cleaning up existing drivers. Even if it is at reduced functionality (like maybe #ifdef CONFIG_ARCH_SHMOBILE for some of the backlight code in shmob) or doesn't even work but is just for the purpose of being able to compile test the rest of the code?
Thoughts?
Definitely in favour of this. Also, I think the arm world _really_ needs something like Wu Fenggungs 0-day kernel testing/building machines, which checks every commit pushed to around a 150 git kernel maintainer repos with randconfigs, sparse (and iirc other static checkers like cocinelle), and test-boots them on kvm. It's not just that every driver seems to need it's own special defconfig/platform to even be selectable in Kconfig, they also seem to randomly (and often) break compilation if you're on the wrong tree or don't have the exactly required golden config ...
I don't have any issues with compile-testing on different architectures. But this kind of pain makes larger subsystem reworks like the drm kms locking rework I've just done unnecessarily cumbersome.
Cheers, Daniel