]> www.infradead.org Git - users/jedix/linux-maple.git/commit
clk: sunxi-ng: Allow the CCU core to be built as a module
authorSamuel Holland <samuel@sholland.org>
Fri, 19 Nov 2021 03:33:37 +0000 (21:33 -0600)
committerMaxime Ripard <maxime@cerno.tech>
Tue, 23 Nov 2021 09:29:05 +0000 (10:29 +0100)
commit91389c390521a02ecfb91270f5b9d7fae4312ae5
treec5268d16cf07a3710ed388abf7b3f5fd85a25c9b
parent7ec03b588d2214d11bea91d5f9ffa444094d3cbd
clk: sunxi-ng: Allow the CCU core to be built as a module

Like the individual CCU drivers, it can be beneficial for memory
consumption of cross-platform configurations to only load the CCU core
on the relevant platform. For example, a generic arm64 kernel sees the
following improvement when building the CCU core and drivers as modules:

  before:
    text      data     bss     dec       hex      filename
    13882360  5251670  360800  19494830  12977ae  vmlinux

  after:
    text      data     bss     dec       hex      filename
    13734787  5086442  360800  19182029  124b1cd  vmlinux

So the result is a 390KB total reduction in kernel image size.

The one early clock provider (sun5i) requires the core to be built in.

Now that loading the MMC driver will trigger loading the CCU core, the
MMC timing mode functions do not need a compile-time fallback.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20211119033338.25486-5-samuel@sholland.org
drivers/clk/Makefile
drivers/clk/sunxi-ng/Kconfig
drivers/clk/sunxi-ng/Makefile
drivers/clk/sunxi-ng/ccu_common.c
drivers/mmc/host/Kconfig
include/linux/clk/sunxi-ng.h