Re: [PATCH 1/4] clk/soc: mediatek: mt8183: Bind clock driver from platform device
From: Chun-Kuang Hu
Date: Mon May 18 2020 - 20:22:08 EST
Hi, Matthias:
Matthias Brugger <matthias.bgg@xxxxxxxxx> æ 2020å5æ18æ éä äå11:57åéï
>
>
>
> On 18/05/2020 17:30, Chun-Kuang Hu wrote:
> > Hi, Matthias:
> >
> > <matthias.bgg@xxxxxxxxxx> æ 2020å5æ18æ éä äå7:32åéï
> >>
> >> From: Matthias Brugger <matthias.bgg@xxxxxxxxx>
> >>
> >> The mmsys driver is now the top level entry point for the multimedia
> >> system (mmsys), we bind the clock driver by creating a platform device.
> >> We also bind the MediaTek DRM driver which is not yet implement and
> >> therefor will errror out for now.
> >
> > You may need to let CONFIG_MTK_MMSYS depends on
> > CONFIG_COMMON_CLK_MT8173_MMSYS || CONFIG_COMMON_CLK_MT8183_MMSYS
> >
>
> That will be fixed by:
> https://patchwork.kernel.org/patch/11469521/
>
> Otherwise this won't scale as we would need to add the SoCs using the mtk-mmsys
> driver and this will be a lot if not all.
I forgot that patch, so for this patch,
Reviewed-by: Chun-Kuang Hu <chunkuang.hu@xxxxxxxxxx>
>
> Regards,
> Matthias
>
> > Regards,
> > Chun-Kuang.
> >
> >>
> >> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx>
> >> ---
> >>
> >> drivers/clk/mediatek/clk-mt8183-mm.c | 9 ++-------
> >> drivers/soc/mediatek/mtk-mmsys.c | 8 ++++++++
> >> 2 files changed, 10 insertions(+), 7 deletions(-)
> >>
> >> diff --git a/drivers/clk/mediatek/clk-mt8183-mm.c b/drivers/clk/mediatek/clk-mt8183-mm.c
> >> index 720c696b506d..9d60e09619c1 100644
> >> --- a/drivers/clk/mediatek/clk-mt8183-mm.c
> >> +++ b/drivers/clk/mediatek/clk-mt8183-mm.c
> >> @@ -84,8 +84,9 @@ static const struct mtk_gate mm_clks[] = {
> >>
> >> static int clk_mt8183_mm_probe(struct platform_device *pdev)
> >> {
> >> + struct device *dev = &pdev->dev;
> >> + struct device_node *node = dev->parent->of_node;
> >> struct clk_onecell_data *clk_data;
> >> - struct device_node *node = pdev->dev.of_node;
> >>
> >> clk_data = mtk_alloc_clk_data(CLK_MM_NR_CLK);
> >>
> >> @@ -95,16 +96,10 @@ static int clk_mt8183_mm_probe(struct platform_device *pdev)
> >> return of_clk_add_provider(node, of_clk_src_onecell_get, clk_data);
> >> }
> >>
> >> -static const struct of_device_id of_match_clk_mt8183_mm[] = {
> >> - { .compatible = "mediatek,mt8183-mmsys", },
> >> - {}
> >> -};
> >> -
> >> static struct platform_driver clk_mt8183_mm_drv = {
> >> .probe = clk_mt8183_mm_probe,
> >> .driver = {
> >> .name = "clk-mt8183-mm",
> >> - .of_match_table = of_match_clk_mt8183_mm,
> >> },
> >> };
> >>
> >> diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c
> >> index cacafe23c823..783c3dd008b2 100644
> >> --- a/drivers/soc/mediatek/mtk-mmsys.c
> >> +++ b/drivers/soc/mediatek/mtk-mmsys.c
> >> @@ -92,6 +92,10 @@ static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = {
> >> .clk_driver = "clk-mt8173-mm",
> >> };
> >>
> >> +static const struct mtk_mmsys_driver_data mt8183_mmsys_driver_data = {
> >> + .clk_driver = "clk-mt8183-mm",
> >> +};
> >> +
> >> static unsigned int mtk_mmsys_ddp_mout_en(enum mtk_ddp_comp_id cur,
> >> enum mtk_ddp_comp_id next,
> >> unsigned int *addr)
> >> @@ -339,6 +343,10 @@ static const struct of_device_id of_match_mtk_mmsys[] = {
> >> .compatible = "mediatek,mt8173-mmsys",
> >> .data = &mt8173_mmsys_driver_data,
> >> },
> >> + {
> >> + .compatible = "mediatek,mt8183-mmsys",
> >> + .data = &mt8183_mmsys_driver_data,
> >> + },
> >> { }
> >> };
> >>
> >> --
> >> 2.26.2
> >>
> >>
> >> _______________________________________________
> >> Linux-mediatek mailing list
> >> Linux-mediatek@xxxxxxxxxxxxxxxxxxx
> >> http://lists.infradead.org/mailman/listinfo/linux-mediatek