Message ID | 20221223094259.87373-19-angelogioacchino.delregno@collabora.com |
---|---|
State | Superseded |
Headers | show |
Series | MediaTek clocks cleanups and improvements | expand |
>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> >--- > drivers/clk/mediatek/clk-mtk.c | 8 ++++++++ > drivers/clk/mediatek/clk-mtk.h | 3 +++ > 2 files changed, 11 insertions(+) > >diff --git a/drivers/clk/mediatek/clk-mtk.c b/drivers/clk/mediatek/clk-mtk.c >index b0a6225cd7b2..df6281492fb6 100644 >--- a/drivers/clk/mediatek/clk-mtk.c >+++ b/drivers/clk/mediatek/clk-mtk.c >@@ -533,6 +533,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; >+ } Should we have a IS_ERR_OR_NULL() check for clk_data->hws[mcd->mfg_clk_idx]? thanks, Miles >+ > r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data); > if (r)
On Thu, Dec 29, 2022 at 4:21 PM Miles Chen <miles.chen@mediatek.com> wrote: > > >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> > >--- > > drivers/clk/mediatek/clk-mtk.c | 8 ++++++++ > > drivers/clk/mediatek/clk-mtk.h | 3 +++ > > 2 files changed, 11 insertions(+) > > > >diff --git a/drivers/clk/mediatek/clk-mtk.c b/drivers/clk/mediatek/clk-mtk.c > >index b0a6225cd7b2..df6281492fb6 100644 > >--- a/drivers/clk/mediatek/clk-mtk.c > >+++ b/drivers/clk/mediatek/clk-mtk.c > >@@ -533,6 +533,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; > >+ } > > Should we have a IS_ERR_OR_NULL() check for clk_data->hws[mcd->mfg_clk_idx]? With a big warning to signal that something in the driver isn't written correctly, such as no MFG clock actually being included in the driver. ChenYu
diff --git a/drivers/clk/mediatek/clk-mtk.c b/drivers/clk/mediatek/clk-mtk.c index b0a6225cd7b2..df6281492fb6 100644 --- a/drivers/clk/mediatek/clk-mtk.c +++ b/drivers/clk/mediatek/clk-mtk.c @@ -533,6 +533,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; diff --git a/drivers/clk/mediatek/clk-mtk.h b/drivers/clk/mediatek/clk-mtk.h index 1d036ba6ca07..bdbd36e3d794 100644 --- a/drivers/clk/mediatek/clk-mtk.h +++ b/drivers/clk/mediatek/clk-mtk.h @@ -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);
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> --- drivers/clk/mediatek/clk-mtk.c | 8 ++++++++ drivers/clk/mediatek/clk-mtk.h | 3 +++ 2 files changed, 11 insertions(+)