[PATCH v4 0/2] clk: spacemit: Fix module build for spacemit common ccu driver

From: Inochi Amaoto

Date: Thu Dec 18 2025 - 20:29:25 EST


Currently, the SPACEMIT_CCU entry is only a switch for enabling entry
SPACEMIT_K1_CCU. It does not guide the build for common clock codes
even if it is a tristate entry. This makes this entry useless.

Change the Makefile to add a separate build for common clock logic,
so the SPACEMIT_CCU entry takes effect, also add necessary
MODULE_LICENSE()/MODULE_DESCRIPTION()/EXPORT_SYMBOL() for the module
build.

This patch mostly fix the build problem, and it should serve as a
basic for the incoming K3 clock driver. See link.

Link: https://lore.kernel.org/all/20251217001833-GYE1903981@xxxxxxxxxx

Change from v3:
1. patch 1: change Makefile to trigger module build actually
2. patch 2: new patch for remove internal Kconfig entry

Change from v2:
1. change namespace name to CLK_SPACEMIT

Change from v1:
1. Use EXPORT_SYMBOL_NS_GPL to export clock ops

Inochi Amaoto (2):
clk: spacemit: Respect Kconfig setting when building modules
clk: spacemit: Hide common clock driver from user controller

drivers/clk/spacemit/Kconfig | 14 ++++++--------
drivers/clk/spacemit/Makefile | 9 +++++++--
drivers/clk/spacemit/ccu-k1.c | 1 +
drivers/clk/spacemit/ccu_common.c | 6 ++++++
drivers/clk/spacemit/ccu_ddn.c | 1 +
drivers/clk/spacemit/ccu_mix.c | 9 +++++++++
drivers/clk/spacemit/ccu_pll.c | 1 +
7 files changed, 31 insertions(+), 10 deletions(-)
create mode 100644 drivers/clk/spacemit/ccu_common.c

--
2.52.0