Skip to content

Commit

Permalink
clk: meson: introduce symbol namespace for amlogic clocks
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Jerome Brunet committed Jul 29, 2024
1 parent 4cb8347 commit adac147
Show file tree
Hide file tree
Showing 25 changed files with 49 additions and 25 deletions.
1 change: 1 addition & 0 deletions drivers/clk/meson/a1-peripherals.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
1 change: 1 addition & 0 deletions drivers/clk/meson/a1-pll.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
1 change: 1 addition & 0 deletions drivers/clk/meson/axg-aoclk.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
1 change: 1 addition & 0 deletions drivers/clk/meson/axg-audio.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
1 change: 1 addition & 0 deletions drivers/clk/meson/axg.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
1 change: 1 addition & 0 deletions drivers/clk/meson/c3-peripherals.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
1 change: 1 addition & 0 deletions drivers/clk/meson/c3-pll.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
3 changes: 2 additions & 1 deletion drivers/clk/meson/clk-cpu-dyndiv.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
5 changes: 3 additions & 2 deletions drivers/clk/meson/clk-dualdiv.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
5 changes: 3 additions & 2 deletions drivers/clk/meson/clk-mpll.c
Original file line number Diff line number Diff line change
Expand Up @@ -165,16 +165,17 @@ 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,
.determine_rate = mpll_determine_rate,
.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);
8 changes: 4 additions & 4 deletions drivers/clk/meson/clk-phase.c
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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);
7 changes: 4 additions & 3 deletions drivers/clk/meson/clk-pll.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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);
13 changes: 7 additions & 6 deletions drivers/clk/meson/clk-regmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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)
{
Expand Down Expand Up @@ -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);
1 change: 1 addition & 0 deletions drivers/clk/meson/g12a-aoclk.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
1 change: 1 addition & 0 deletions drivers/clk/meson/g12a.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
1 change: 1 addition & 0 deletions drivers/clk/meson/gxbb-aoclk.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
1 change: 1 addition & 0 deletions drivers/clk/meson/gxbb.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
3 changes: 2 additions & 1 deletion drivers/clk/meson/meson-aoclk.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
3 changes: 2 additions & 1 deletion drivers/clk/meson/meson-clkc-utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
3 changes: 2 additions & 1 deletion drivers/clk/meson/meson-eeclk.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
1 change: 1 addition & 0 deletions drivers/clk/meson/s4-peripherals.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
1 change: 1 addition & 0 deletions drivers/clk/meson/s4-pll.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
3 changes: 2 additions & 1 deletion drivers/clk/meson/sclk-div.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
5 changes: 3 additions & 2 deletions drivers/clk/meson/vclk.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */

Expand Down Expand Up @@ -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);
3 changes: 2 additions & 1 deletion drivers/clk/meson/vid-pll-div.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

0 comments on commit adac147

Please sign in to comment.