mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-01 10:43:43 +00:00
clk: meson: introduce symbol namespace for amlogic clocks
Symbols exported by the Amlogic clock modules are only meant to be used by Amlogic clock controller drivers. Using a dedicated symbols namespace make that clear and help clean the global namespace of symbols other modules do no need. Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Link: https://lore.kernel.org/r/20240719094228.3985595-1-jbrunet@baylibre.com Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
This commit is contained in:
parent
4cb834703c
commit
adac147c6a
@ -2246,3 +2246,4 @@ MODULE_DESCRIPTION("Amlogic A1 Peripherals Clock Controller driver");
|
||||
MODULE_AUTHOR("Jian Hu <jian.hu@amlogic.com>");
|
||||
MODULE_AUTHOR("Dmitry Rokosov <ddrokosov@sberdevices.ru>");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -360,3 +360,4 @@ MODULE_DESCRIPTION("Amlogic S4 PLL Clock Controller driver");
|
||||
MODULE_AUTHOR("Jian Hu <jian.hu@amlogic.com>");
|
||||
MODULE_AUTHOR("Dmitry Rokosov <ddrokosov@sberdevices.ru>");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -342,3 +342,4 @@ module_platform_driver(axg_aoclkc_driver);
|
||||
|
||||
MODULE_DESCRIPTION("Amlogic AXG Always-ON Clock Controller driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -1912,3 +1912,4 @@ module_platform_driver(axg_audio_driver);
|
||||
MODULE_DESCRIPTION("Amlogic AXG/G12A/SM1 Audio Clock driver");
|
||||
MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -2187,3 +2187,4 @@ module_platform_driver(axg_driver);
|
||||
|
||||
MODULE_DESCRIPTION("Amlogic AXG Main Clock Controller driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -2364,3 +2364,4 @@ module_platform_driver(c3_peripherals_driver);
|
||||
MODULE_DESCRIPTION("Amlogic C3 Peripherals Clock Controller driver");
|
||||
MODULE_AUTHOR("Chuan Liu <chuan.liu@amlogic.com>");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -745,3 +745,4 @@ module_platform_driver(c3_pll_driver);
|
||||
MODULE_DESCRIPTION("Amlogic C3 PLL Clock Controller driver");
|
||||
MODULE_AUTHOR("Chuan Liu <chuan.liu@amlogic.com>");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -65,8 +65,9 @@ const struct clk_ops meson_clk_cpu_dyndiv_ops = {
|
||||
.determine_rate = meson_clk_cpu_dyndiv_determine_rate,
|
||||
.set_rate = meson_clk_cpu_dyndiv_set_rate,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(meson_clk_cpu_dyndiv_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(meson_clk_cpu_dyndiv_ops, CLK_MESON);
|
||||
|
||||
MODULE_DESCRIPTION("Amlogic CPU Dynamic Clock divider");
|
||||
MODULE_AUTHOR("Neil Armstrong <narmstrong@baylibre.com>");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -130,14 +130,15 @@ const struct clk_ops meson_clk_dualdiv_ops = {
|
||||
.determine_rate = meson_clk_dualdiv_determine_rate,
|
||||
.set_rate = meson_clk_dualdiv_set_rate,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(meson_clk_dualdiv_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(meson_clk_dualdiv_ops, CLK_MESON);
|
||||
|
||||
const struct clk_ops meson_clk_dualdiv_ro_ops = {
|
||||
.recalc_rate = meson_clk_dualdiv_recalc_rate,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(meson_clk_dualdiv_ro_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(meson_clk_dualdiv_ro_ops, CLK_MESON);
|
||||
|
||||
MODULE_DESCRIPTION("Amlogic dual divider driver");
|
||||
MODULE_AUTHOR("Neil Armstrong <narmstrong@baylibre.com>");
|
||||
MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -165,7 +165,7 @@ const struct clk_ops meson_clk_mpll_ro_ops = {
|
||||
.recalc_rate = mpll_recalc_rate,
|
||||
.determine_rate = mpll_determine_rate,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(meson_clk_mpll_ro_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(meson_clk_mpll_ro_ops, CLK_MESON);
|
||||
|
||||
const struct clk_ops meson_clk_mpll_ops = {
|
||||
.recalc_rate = mpll_recalc_rate,
|
||||
@ -173,8 +173,9 @@ const struct clk_ops meson_clk_mpll_ops = {
|
||||
.set_rate = mpll_set_rate,
|
||||
.init = mpll_init,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(meson_clk_mpll_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(meson_clk_mpll_ops, CLK_MESON);
|
||||
|
||||
MODULE_DESCRIPTION("Amlogic MPLL driver");
|
||||
MODULE_AUTHOR("Michael Turquette <mturquette@baylibre.com>");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -61,7 +61,7 @@ const struct clk_ops meson_clk_phase_ops = {
|
||||
.get_phase = meson_clk_phase_get_phase,
|
||||
.set_phase = meson_clk_phase_set_phase,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(meson_clk_phase_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(meson_clk_phase_ops, CLK_MESON);
|
||||
|
||||
/*
|
||||
* This is a special clock for the audio controller.
|
||||
@ -123,7 +123,7 @@ const struct clk_ops meson_clk_triphase_ops = {
|
||||
.get_phase = meson_clk_triphase_get_phase,
|
||||
.set_phase = meson_clk_triphase_set_phase,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(meson_clk_triphase_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(meson_clk_triphase_ops, CLK_MESON);
|
||||
|
||||
/*
|
||||
* This is a special clock for the audio controller.
|
||||
@ -178,9 +178,9 @@ const struct clk_ops meson_sclk_ws_inv_ops = {
|
||||
.get_phase = meson_sclk_ws_inv_get_phase,
|
||||
.set_phase = meson_sclk_ws_inv_set_phase,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(meson_sclk_ws_inv_ops);
|
||||
|
||||
EXPORT_SYMBOL_NS_GPL(meson_sclk_ws_inv_ops, CLK_MESON);
|
||||
|
||||
MODULE_DESCRIPTION("Amlogic phase driver");
|
||||
MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -472,7 +472,7 @@ const struct clk_ops meson_clk_pcie_pll_ops = {
|
||||
.enable = meson_clk_pcie_pll_enable,
|
||||
.disable = meson_clk_pll_disable
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(meson_clk_pcie_pll_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(meson_clk_pcie_pll_ops, CLK_MESON);
|
||||
|
||||
const struct clk_ops meson_clk_pll_ops = {
|
||||
.init = meson_clk_pll_init,
|
||||
@ -483,15 +483,16 @@ const struct clk_ops meson_clk_pll_ops = {
|
||||
.enable = meson_clk_pll_enable,
|
||||
.disable = meson_clk_pll_disable
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(meson_clk_pll_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(meson_clk_pll_ops, CLK_MESON);
|
||||
|
||||
const struct clk_ops meson_clk_pll_ro_ops = {
|
||||
.recalc_rate = meson_clk_pll_recalc_rate,
|
||||
.is_enabled = meson_clk_pll_is_enabled,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(meson_clk_pll_ro_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(meson_clk_pll_ro_ops, CLK_MESON);
|
||||
|
||||
MODULE_DESCRIPTION("Amlogic PLL driver");
|
||||
MODULE_AUTHOR("Carlo Caione <carlo@endlessm.com>");
|
||||
MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -49,12 +49,12 @@ const struct clk_ops clk_regmap_gate_ops = {
|
||||
.disable = clk_regmap_gate_disable,
|
||||
.is_enabled = clk_regmap_gate_is_enabled,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(clk_regmap_gate_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(clk_regmap_gate_ops, CLK_MESON);
|
||||
|
||||
const struct clk_ops clk_regmap_gate_ro_ops = {
|
||||
.is_enabled = clk_regmap_gate_is_enabled,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(clk_regmap_gate_ro_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(clk_regmap_gate_ro_ops, CLK_MESON);
|
||||
|
||||
static unsigned long clk_regmap_div_recalc_rate(struct clk_hw *hw,
|
||||
unsigned long prate)
|
||||
@ -125,13 +125,13 @@ const struct clk_ops clk_regmap_divider_ops = {
|
||||
.determine_rate = clk_regmap_div_determine_rate,
|
||||
.set_rate = clk_regmap_div_set_rate,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(clk_regmap_divider_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(clk_regmap_divider_ops, CLK_MESON);
|
||||
|
||||
const struct clk_ops clk_regmap_divider_ro_ops = {
|
||||
.recalc_rate = clk_regmap_div_recalc_rate,
|
||||
.determine_rate = clk_regmap_div_determine_rate,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(clk_regmap_divider_ro_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(clk_regmap_divider_ro_ops, CLK_MESON);
|
||||
|
||||
static u8 clk_regmap_mux_get_parent(struct clk_hw *hw)
|
||||
{
|
||||
@ -174,13 +174,14 @@ const struct clk_ops clk_regmap_mux_ops = {
|
||||
.set_parent = clk_regmap_mux_set_parent,
|
||||
.determine_rate = clk_regmap_mux_determine_rate,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(clk_regmap_mux_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(clk_regmap_mux_ops, CLK_MESON);
|
||||
|
||||
const struct clk_ops clk_regmap_mux_ro_ops = {
|
||||
.get_parent = clk_regmap_mux_get_parent,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(clk_regmap_mux_ro_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(clk_regmap_mux_ro_ops, CLK_MESON);
|
||||
|
||||
MODULE_DESCRIPTION("Amlogic regmap backed clock driver");
|
||||
MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -477,3 +477,4 @@ module_platform_driver(g12a_aoclkc_driver);
|
||||
|
||||
MODULE_DESCRIPTION("Amlogic G12A Always-ON Clock Controller driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -5616,3 +5616,4 @@ module_platform_driver(g12a_driver);
|
||||
|
||||
MODULE_DESCRIPTION("Amlogic G12/SM1 Main Clock Controller driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -303,3 +303,4 @@ module_platform_driver(gxbb_aoclkc_driver);
|
||||
|
||||
MODULE_DESCRIPTION("Amlogic GXBB Always-ON Clock Controller driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -3571,3 +3571,4 @@ module_platform_driver(gxbb_driver);
|
||||
|
||||
MODULE_DESCRIPTION("Amlogic GXBB Main Clock Controller driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -88,7 +88,8 @@ int meson_aoclkc_probe(struct platform_device *pdev)
|
||||
|
||||
return devm_of_clk_add_hw_provider(dev, meson_clk_hw_get, (void *)&data->hw_clks);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(meson_aoclkc_probe);
|
||||
EXPORT_SYMBOL_NS_GPL(meson_aoclkc_probe, CLK_MESON);
|
||||
|
||||
MODULE_DESCRIPTION("Amlogic Always-ON Clock Controller helpers");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -20,7 +20,8 @@ struct clk_hw *meson_clk_hw_get(struct of_phandle_args *clkspec, void *clk_hw_da
|
||||
|
||||
return data->hws[idx];
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(meson_clk_hw_get);
|
||||
EXPORT_SYMBOL_NS_GPL(meson_clk_hw_get, CLK_MESON);
|
||||
|
||||
MODULE_DESCRIPTION("Amlogic Clock Controller Utilities");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -57,7 +57,8 @@ int meson_eeclkc_probe(struct platform_device *pdev)
|
||||
|
||||
return devm_of_clk_add_hw_provider(dev, meson_clk_hw_get, (void *)&data->hw_clks);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(meson_eeclkc_probe);
|
||||
EXPORT_SYMBOL_NS_GPL(meson_eeclkc_probe, CLK_MESON);
|
||||
|
||||
MODULE_DESCRIPTION("Amlogic Main Clock Controller Helpers");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -3814,3 +3814,4 @@ module_platform_driver(s4_driver);
|
||||
MODULE_DESCRIPTION("Amlogic S4 Peripherals Clock Controller driver");
|
||||
MODULE_AUTHOR("Yu Tu <yu.tu@amlogic.com>");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -873,3 +873,4 @@ module_platform_driver(s4_driver);
|
||||
MODULE_DESCRIPTION("Amlogic S4 PLL Clock Controller driver");
|
||||
MODULE_AUTHOR("Yu Tu <yu.tu@amlogic.com>");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -247,8 +247,9 @@ const struct clk_ops meson_sclk_div_ops = {
|
||||
.set_duty_cycle = sclk_div_set_duty_cycle,
|
||||
.init = sclk_div_init,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(meson_sclk_div_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(meson_sclk_div_ops, CLK_MESON);
|
||||
|
||||
MODULE_DESCRIPTION("Amlogic Sample divider driver");
|
||||
MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -49,7 +49,7 @@ const struct clk_ops meson_vclk_gate_ops = {
|
||||
.disable = meson_vclk_gate_disable,
|
||||
.is_enabled = meson_vclk_gate_is_enabled,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(meson_vclk_gate_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(meson_vclk_gate_ops, CLK_MESON);
|
||||
|
||||
/* The VCLK Divider has supplementary reset & enable bits */
|
||||
|
||||
@ -134,8 +134,9 @@ const struct clk_ops meson_vclk_div_ops = {
|
||||
.disable = meson_vclk_div_disable,
|
||||
.is_enabled = meson_vclk_div_is_enabled,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(meson_vclk_div_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(meson_vclk_div_ops, CLK_MESON);
|
||||
|
||||
MODULE_DESCRIPTION("Amlogic vclk clock driver");
|
||||
MODULE_AUTHOR("Neil Armstrong <neil.armstrong@linaro.org>");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
@ -92,8 +92,9 @@ static unsigned long meson_vid_pll_div_recalc_rate(struct clk_hw *hw,
|
||||
const struct clk_ops meson_vid_pll_div_ro_ops = {
|
||||
.recalc_rate = meson_vid_pll_div_recalc_rate,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(meson_vid_pll_div_ro_ops);
|
||||
EXPORT_SYMBOL_NS_GPL(meson_vid_pll_div_ro_ops, CLK_MESON);
|
||||
|
||||
MODULE_DESCRIPTION("Amlogic video pll divider driver");
|
||||
MODULE_AUTHOR("Neil Armstrong <narmstrong@baylibre.com>");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(CLK_MESON);
|
||||
|
Loading…
Reference in New Issue
Block a user