On Fri, Jun 23, 2017 at 4:57 PM, Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> wrote: > On Fri, Jun 23, 2017 at 02:31:40PM +0900, Masahiro Yamada wrote: >> As far as I tried, minus MACH_SUN8I still enabled the following: >> CONFIG_SUNXI_CCU=y >> CONFIG_SUNXI_CCU_DIV=y >> CONFIG_SUNXI_CCU_FRAC=y >> CONFIG_SUNXI_CCU_GATE=y >> CONFIG_SUNXI_CCU_MUX=y >> CONFIG_SUNXI_CCU_MULT=y >> CONFIG_SUNXI_CCU_PHASE=y >> CONFIG_SUNXI_CCU_NK=y >> CONFIG_SUNXI_CCU_NKM=y >> CONFIG_SUNXI_CCU_NKMP=y >> CONFIG_SUNXI_CCU_NM=y >> CONFIG_SUNXI_CCU_MP=y >> >> I think you need to disable some more MACH_SUN*I and >> perhaps disable some CONFIG_SUN*I_*_CCU explicitly, >> then you will see difference in the result. > > Ah, right, it's all selected by the rest. > > I guess to get a meaningful example you could disable all the > SUN*I_CCU (SUN5I, SUN8I, and the likes) options and while keeping > SUN8I_R_CCU. > > Most of the clock types shouldn't be used but div and gates. Given that we appear to basically always pull in all (or most) of the CCU parts anyway, and it's hard to even test with a subset being disabled, I wonder how much we care about dropping the unused objects at all: Maybe the answer is that we just always build all of them into the kernel and make only the SoC-specific objects configurable ;-) Once we start linking with --gc-sections, it will all be fine anyway. Arnd