Hello, I'd like to chime in with some feedback. > >> Hence, the usecases for this kind of splitting are: > >> 1. Somewhat rare (corner) cases: someone may not want to compile in any of > >> the mm/venc/vdec/mfg clock drivers because they don't need the > >> functionality at all (probably, including the other related drivers), or; > >> 2. It would be possible to compile as built-in only the "main" drivers > >> (apmixed, infra, peri, topck) to achieve a boot (ex.: you need eMMC to > >> boot, at least) and then compile the mm/venc/vdec/mfg as modules to be > >> loaded after mounting a rootfs (where you probably also have mediatek-drm, > >> vcodec, etc as modules). > > > > I assume you mean split them into two groups: > > > > - essential for booting to a state capable of loading modules from > > storage So apmixedsys + topckgen + infra_ao + peri_ao + imp_iic_wrap > > (maybe?) > > - everything else > { snip } > > IMO having two Kconfig symbols for one chip is still much better than > > having ten though. This sounds good. I think it would've been even better if selecting a Kconfig option like MACH_MT6795 would automatically select the base clock driver for booting to a state capable of loading modules from storage. But a quick check showed me that arm64 doesn't use such an approach unlike arm. > For MT8195... and 92, 83, 73... and others from the same era, being them for > chromebooks, iot, smartphones and whatever else... yeah you're totally right. > > The issue starts raising when looking at older SoCs featuring an older > bootloader that does have a kernel size limitation; for example, to make the > loader happy on MT6795, I had to strip the defconfig a lot and keep the > Android-style boot.img smaller than 10MB (that's Image.gz-dtb + ramdisk). This issue gets even more relevant if/when we consider older ARM32 SoCs such as mt65xx series. As far as I know, most of them (with a notable exception of mt6580) have bootloaders that restrict max boot.img size to 6144 kB. However, I think too much granularity in Kconfig might cause unnecessary confusion. The "essential clock infra" + "everything else" split sounds better to me.