Message ID | 20200518113156.25009-1-matthias.bgg@kernel.org (mailing list archive) |
---|---|
State | Awaiting Upstream, archived |
Headers | show |
Series | [1/4] clk/soc: mediatek: mt8183: Bind clock driver from platform device | expand |
Hi, Matthias: <matthias.bgg@kernel.org> 於 2020年5月18日 週一 下午7:32寫道: > > From: Matthias Brugger <matthias.bgg@gmail.com> > > 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 Regards, Chun-Kuang. > > Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com> > --- > > 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@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-mediatek
On 18/05/2020 17:30, Chun-Kuang Hu wrote: > Hi, Matthias: > > <matthias.bgg@kernel.org> 於 2020年5月18日 週一 下午7:32寫道: >> >> From: Matthias Brugger <matthias.bgg@gmail.com> >> >> 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. Regards, Matthias > Regards, > Chun-Kuang. > >> >> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com> >> --- >> >> 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@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/linux-mediatek
Hi, Matthias: Matthias Brugger <matthias.bgg@gmail.com> 於 2020年5月18日 週一 下午11:57寫道: > > > > On 18/05/2020 17:30, Chun-Kuang Hu wrote: > > Hi, Matthias: > > > > <matthias.bgg@kernel.org> 於 2020年5月18日 週一 下午7:32寫道: > >> > >> From: Matthias Brugger <matthias.bgg@gmail.com> > >> > >> 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@kernel.org> > > Regards, > Matthias > > > Regards, > > Chun-Kuang. > > > >> > >> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com> > >> --- > >> > >> 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@lists.infradead.org > >> http://lists.infradead.org/mailman/listinfo/linux-mediatek
Quoting matthias.bgg@kernel.org (2020-05-18 04:31:53) > From: Matthias Brugger <matthias.bgg@gmail.com> > > 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. > > Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com> > --- Acked-by: Stephen Boyd <sboyd@kernel.org>
On 20/05/2020 12:14, Stephen Boyd wrote: > Quoting matthias.bgg@kernel.org (2020-05-18 04:31:53) >> From: Matthias Brugger <matthias.bgg@gmail.com> >> >> 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. >> >> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com> >> --- > > Acked-by: Stephen Boyd <sboyd@kernel.org> > Now queued for v5.7-next/soc
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, + }, { } };