clk: mediatek: clk-mtk: Register MFG notifier in mtk_clk_simple_probe()

In preparation for commonizing topckgen probe on various MediaTek SoCs
clock drivers, add the ability to register the MFG MUX notifier in
mtk_clk_simple_probe() by passing a custom notifier register function
pointer, as this function will be slightly different across different
SoCs.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Tested-by: Miles Chen <miles.chen@mediatek.com>
Link: https://lore.kernel.org/r/20230120092053.182923-19-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
This commit is contained in:
AngeloGioacchino Del Regno
2023-01-20 10:20:48 +01:00
committed by Stephen Boyd
parent d7595ddeec
commit fd9fe654f4
2 changed files with 11 additions and 0 deletions

View File

@ -534,6 +534,14 @@ int mtk_clk_simple_probe(struct platform_device *pdev)
goto unregister_composites;
}
if (mcd->clk_notifier_func) {
struct clk *mfg_mux = clk_data->hws[mcd->mfg_clk_idx]->clk;
r = mcd->clk_notifier_func(&pdev->dev, mfg_mux);
if (r)
goto unregister_clks;
}
r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
if (r)
goto unregister_clks;

View File

@ -231,6 +231,9 @@ struct mtk_clk_desc {
const struct mtk_clk_rst_desc *rst_desc;
spinlock_t *clk_lock;
bool shared_io;
int (*clk_notifier_func)(struct device *dev, struct clk *clk);
unsigned int mfg_clk_idx;
};
int mtk_clk_simple_probe(struct platform_device *pdev);