diff options
author | Samuel Holland <samuel@sholland.org> | 2021-11-18 21:33:37 -0600 |
---|---|---|
committer | Maxime Ripard <maxime@cerno.tech> | 2021-11-23 10:29:05 +0100 |
commit | 91389c390521a02ecfb91270f5b9d7fae4312ae5 (patch) | |
tree | c5268d16cf07a3710ed388abf7b3f5fd85a25c9b /include/linux/clk | |
parent | 7ec03b588d2214d11bea91d5f9ffa444094d3cbd (diff) | |
download | linux-91389c390521a02ecfb91270f5b9d7fae4312ae5.tar.gz linux-91389c390521a02ecfb91270f5b9d7fae4312ae5.tar.bz2 linux-91389c390521a02ecfb91270f5b9d7fae4312ae5.zip |
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
Diffstat (limited to 'include/linux/clk')
-rw-r--r-- | include/linux/clk/sunxi-ng.h | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/include/linux/clk/sunxi-ng.h b/include/linux/clk/sunxi-ng.h index 3cd14acde0a1..cf32123b39f5 100644 --- a/include/linux/clk/sunxi-ng.h +++ b/include/linux/clk/sunxi-ng.h @@ -6,22 +6,7 @@ #ifndef _LINUX_CLK_SUNXI_NG_H_ #define _LINUX_CLK_SUNXI_NG_H_ -#include <linux/errno.h> - -#ifdef CONFIG_SUNXI_CCU int sunxi_ccu_set_mmc_timing_mode(struct clk *clk, bool new_mode); int sunxi_ccu_get_mmc_timing_mode(struct clk *clk); -#else -static inline int sunxi_ccu_set_mmc_timing_mode(struct clk *clk, - bool new_mode) -{ - return -ENOTSUPP; -} - -static inline int sunxi_ccu_get_mmc_timing_mode(struct clk *clk) -{ - return -ENOTSUPP; -} -#endif #endif |