Hi Arnd, [...]
> A common pattern these days is to do dependencies like > > arch/*/Kconfig: > config ARCH_FOO > bool "Enable support for Foo platform" > help > ... > > > drivers/*/Kconfig > config SUBSYS_FOO > bool "SUBSYS driver for Foo" > depends on ARCH_FOO || COMPILE_TEST > depends on OF && REGULATOR && GENERIC_PHY # or whatever Russell's comments w.r.t. Kconfig warnings when config names change still holds regardless of select vs depends on. > That way we can enable everything in the defconfig, but someone > who likes to build a more specialized kernel can disable the > other platforms and won't get the drivers that are specific to > those. > > I personally think this is a bit more verbose than what we need, but > I don't strongly object doing it that way. You'd still be able to do this without ARCH_FOO, though you would need to know which drivers are necessary for a particular SoC. That seems to be the way things are handled on x86; I don't recall having to select support for specific machines there, just the individual drivers. > The code size really should not matter much on ARM64 though: it's > unlikely we will see a lot of systems with less than a few gigabytes > of memory, and I expect that a generic kernel would be e.g. 6 MB > instead of 4 MB for a platform specific kernel. Agreed. If there kernel size begins looking unwieldy we either need to be compiling more things as modules or a more drastic kernel weight loss program. Mark. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/