mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:24:45 +01:00
clk: spacemit: Respect Kconfig setting when building modules
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.
Fixes: 1b72c59db0 ("clk: spacemit: Add clock support for SpacemiT K1 SoC")
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Reviewed-by: Yixun Lan <dlan@gentoo.org>
Link: https://lore.kernel.org/r/20251219012819.440972-2-inochiama@gmail.com
Signed-off-by: Yixun Lan <dlan@gentoo.org>
This commit is contained in:
parent
8f0b4cce44
commit
5ec8cbbc54
6 changed files with 25 additions and 2 deletions
|
|
@ -1,5 +1,10 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
obj-$(CONFIG_SPACEMIT_K1_CCU) = spacemit-ccu-k1.o
|
||||
spacemit-ccu-k1-y = ccu_pll.o ccu_mix.o ccu_ddn.o
|
||||
obj-$(CONFIG_SPACEMIT_CCU) += spacemit-ccu.o
|
||||
spacemit-ccu-y += ccu_common.o
|
||||
spacemit-ccu-y += ccu_pll.o
|
||||
spacemit-ccu-y += ccu_mix.o
|
||||
spacemit-ccu-y += ccu_ddn.o
|
||||
|
||||
obj-$(CONFIG_SPACEMIT_K1_CCU) += spacemit-ccu-k1.o
|
||||
spacemit-ccu-k1-y += ccu-k1.o
|
||||
|
|
|
|||
|
|
@ -1204,6 +1204,7 @@ static struct platform_driver k1_ccu_driver = {
|
|||
};
|
||||
module_platform_driver(k1_ccu_driver);
|
||||
|
||||
MODULE_IMPORT_NS("CLK_SPACEMIT");
|
||||
MODULE_DESCRIPTION("SpacemiT K1 CCU driver");
|
||||
MODULE_AUTHOR("Haylen Chu <heylenay@4d2.org>");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
|
|
|||
6
drivers/clk/spacemit/ccu_common.c
Normal file
6
drivers/clk/spacemit/ccu_common.c
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
#include <linux/module.h>
|
||||
|
||||
MODULE_DESCRIPTION("SpacemiT CCU common clock driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
|
@ -84,3 +84,4 @@ const struct clk_ops spacemit_ccu_ddn_ops = {
|
|||
.determine_rate = ccu_ddn_determine_rate,
|
||||
.set_rate = ccu_ddn_set_rate,
|
||||
};
|
||||
EXPORT_SYMBOL_NS_GPL(spacemit_ccu_ddn_ops, "CLK_SPACEMIT");
|
||||
|
|
|
|||
|
|
@ -198,24 +198,28 @@ const struct clk_ops spacemit_ccu_gate_ops = {
|
|||
.enable = ccu_gate_enable,
|
||||
.is_enabled = ccu_gate_is_enabled,
|
||||
};
|
||||
EXPORT_SYMBOL_NS_GPL(spacemit_ccu_gate_ops, "CLK_SPACEMIT");
|
||||
|
||||
const struct clk_ops spacemit_ccu_factor_ops = {
|
||||
.determine_rate = ccu_factor_determine_rate,
|
||||
.recalc_rate = ccu_factor_recalc_rate,
|
||||
.set_rate = ccu_factor_set_rate,
|
||||
};
|
||||
EXPORT_SYMBOL_NS_GPL(spacemit_ccu_factor_ops, "CLK_SPACEMIT");
|
||||
|
||||
const struct clk_ops spacemit_ccu_mux_ops = {
|
||||
.determine_rate = ccu_mix_determine_rate,
|
||||
.get_parent = ccu_mux_get_parent,
|
||||
.set_parent = ccu_mux_set_parent,
|
||||
};
|
||||
EXPORT_SYMBOL_NS_GPL(spacemit_ccu_mux_ops, "CLK_SPACEMIT");
|
||||
|
||||
const struct clk_ops spacemit_ccu_div_ops = {
|
||||
.determine_rate = ccu_mix_determine_rate,
|
||||
.recalc_rate = ccu_div_recalc_rate,
|
||||
.set_rate = ccu_mix_set_rate,
|
||||
};
|
||||
EXPORT_SYMBOL_NS_GPL(spacemit_ccu_div_ops, "CLK_SPACEMIT");
|
||||
|
||||
const struct clk_ops spacemit_ccu_factor_gate_ops = {
|
||||
.disable = ccu_gate_disable,
|
||||
|
|
@ -226,6 +230,7 @@ const struct clk_ops spacemit_ccu_factor_gate_ops = {
|
|||
.recalc_rate = ccu_factor_recalc_rate,
|
||||
.set_rate = ccu_factor_set_rate,
|
||||
};
|
||||
EXPORT_SYMBOL_NS_GPL(spacemit_ccu_factor_gate_ops, "CLK_SPACEMIT");
|
||||
|
||||
const struct clk_ops spacemit_ccu_mux_gate_ops = {
|
||||
.disable = ccu_gate_disable,
|
||||
|
|
@ -236,6 +241,7 @@ const struct clk_ops spacemit_ccu_mux_gate_ops = {
|
|||
.get_parent = ccu_mux_get_parent,
|
||||
.set_parent = ccu_mux_set_parent,
|
||||
};
|
||||
EXPORT_SYMBOL_NS_GPL(spacemit_ccu_mux_gate_ops, "CLK_SPACEMIT");
|
||||
|
||||
const struct clk_ops spacemit_ccu_div_gate_ops = {
|
||||
.disable = ccu_gate_disable,
|
||||
|
|
@ -246,6 +252,7 @@ const struct clk_ops spacemit_ccu_div_gate_ops = {
|
|||
.recalc_rate = ccu_div_recalc_rate,
|
||||
.set_rate = ccu_mix_set_rate,
|
||||
};
|
||||
EXPORT_SYMBOL_NS_GPL(spacemit_ccu_div_gate_ops, "CLK_SPACEMIT");
|
||||
|
||||
const struct clk_ops spacemit_ccu_mux_div_gate_ops = {
|
||||
.disable = ccu_gate_disable,
|
||||
|
|
@ -259,6 +266,7 @@ const struct clk_ops spacemit_ccu_mux_div_gate_ops = {
|
|||
.recalc_rate = ccu_div_recalc_rate,
|
||||
.set_rate = ccu_mix_set_rate,
|
||||
};
|
||||
EXPORT_SYMBOL_NS_GPL(spacemit_ccu_mux_div_gate_ops, "CLK_SPACEMIT");
|
||||
|
||||
const struct clk_ops spacemit_ccu_mux_div_ops = {
|
||||
.get_parent = ccu_mux_get_parent,
|
||||
|
|
@ -268,3 +276,4 @@ const struct clk_ops spacemit_ccu_mux_div_ops = {
|
|||
.recalc_rate = ccu_div_recalc_rate,
|
||||
.set_rate = ccu_mix_set_rate,
|
||||
};
|
||||
EXPORT_SYMBOL_NS_GPL(spacemit_ccu_mux_div_ops, "CLK_SPACEMIT");
|
||||
|
|
|
|||
|
|
@ -157,3 +157,4 @@ const struct clk_ops spacemit_ccu_pll_ops = {
|
|||
.determine_rate = ccu_pll_determine_rate,
|
||||
.is_enabled = ccu_pll_is_enabled,
|
||||
};
|
||||
EXPORT_SYMBOL_NS_GPL(spacemit_ccu_pll_ops, "CLK_SPACEMIT");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue