Hi Benjamin, Thanks for your suggestion. On Tue, 2021-11-30 at 14:34 +0100, Benjamin Gaignard wrote: > Le 29/11/2021 à 04:41, Yunfei Dong a écrit : > > Register each hardware as platform device, need to call pm > > functions > > to open/close power and clock from module mtk-vcodec-dec, export > > these > > functions. > > The commit message confuse me, maybe something like: > "When mtk vcodec decoder is build as a module we need to export > mtk-vcodec-dec pm functions to make them visible by the other > components" > Fix in patch v12 > With that: > Reviewed-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxxxxx> > Best Regards, Yunfei Dong > > > > Signed-off-by: Yunfei Dong <yunfei.dong@xxxxxxxxxxxx> > > --- > > drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c > > b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c > > index 20bd157a855c..221cf60e9fbf 100644 > > --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c > > +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c > > @@ -77,12 +77,14 @@ int mtk_vcodec_init_dec_pm(struct > > platform_device *pdev, > > put_device(pm->larbvdec); > > return ret; > > } > > +EXPORT_SYMBOL_GPL(mtk_vcodec_init_dec_pm); > > > > void mtk_vcodec_release_dec_pm(struct mtk_vcodec_pm *pm) > > { > > pm_runtime_disable(pm->dev); > > put_device(pm->larbvdec); > > } > > +EXPORT_SYMBOL_GPL(mtk_vcodec_release_dec_pm); > > > > int mtk_vcodec_dec_pw_on(struct mtk_vcodec_pm *pm) > > { > > @@ -94,6 +96,7 @@ int mtk_vcodec_dec_pw_on(struct mtk_vcodec_pm > > *pm) > > > > return ret; > > } > > +EXPORT_SYMBOL_GPL(mtk_vcodec_dec_pw_on); > > > > void mtk_vcodec_dec_pw_off(struct mtk_vcodec_pm *pm) > > { > > @@ -103,6 +106,7 @@ void mtk_vcodec_dec_pw_off(struct mtk_vcodec_pm > > *pm) > > if (ret) > > mtk_v4l2_err("pm_runtime_put_sync fail %d", ret); > > } > > +EXPORT_SYMBOL_GPL(mtk_vcodec_dec_pw_off); > > > > void mtk_vcodec_dec_clock_on(struct mtk_vcodec_pm *pm) > > { > > @@ -129,6 +133,7 @@ void mtk_vcodec_dec_clock_on(struct > > mtk_vcodec_pm *pm) > > for (i -= 1; i >= 0; i--) > > clk_disable_unprepare(dec_clk->clk_info[i].vcodec_clk); > > } > > +EXPORT_SYMBOL_GPL(mtk_vcodec_dec_clock_on); > > > > void mtk_vcodec_dec_clock_off(struct mtk_vcodec_pm *pm) > > { > > @@ -139,3 +144,4 @@ void mtk_vcodec_dec_clock_off(struct > > mtk_vcodec_pm *pm) > > for (i = dec_clk->clk_num - 1; i >= 0; i--) > > clk_disable_unprepare(dec_clk->clk_info[i].vcodec_clk); > > } > > +EXPORT_SYMBOL_GPL(mtk_vcodec_dec_clock_off);