summaryrefslogtreecommitdiffstats
path: root/include/linux/clk
diff options
context:
space:
mode:
authorSamuel Holland <samuel@sholland.org>2021-11-18 21:33:37 -0600
committerMaxime Ripard <maxime@cerno.tech>2021-11-23 10:29:05 +0100
commit91389c390521a02ecfb91270f5b9d7fae4312ae5 (patch)
treec5268d16cf07a3710ed388abf7b3f5fd85a25c9b /include/linux/clk
parent7ec03b588d2214d11bea91d5f9ffa444094d3cbd (diff)
downloadlinux-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.h15
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