clk / soc: mediatek: Bind clock and gpu driver for mt2701

Now that the mmsys driver is the top-level entry point for the
multimedia subsystem, we could bind the clock and the gpu driver on
those devices that is expected to work, so the drm driver is
intantiated by the mmsys driver and display, hopefully, working again.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Acked-by: Stephen Boyd <sboyd@kernel.org>
Link: https://lore.kernel.org/r/20200401201736.2980433-3-enric.balletbo@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
This commit is contained in:
Enric Balletbo i Serra 2020-04-01 22:17:35 +02:00 коммит произвёл Matthias Brugger
Родитель 9c5a0a3a8f
Коммит c292b133b5
2 изменённых файлов: 10 добавлений и 7 удалений

Просмотреть файл

@ -79,16 +79,12 @@ static const struct mtk_gate mm_clks[] = {
GATE_DISP1(CLK_MM_TVE_FMM, "mm_tve_fmm", "mm_sel", 14), GATE_DISP1(CLK_MM_TVE_FMM, "mm_tve_fmm", "mm_sel", 14),
}; };
static const struct of_device_id of_match_clk_mt2701_mm[] = {
{ .compatible = "mediatek,mt2701-mmsys", },
{}
};
static int clk_mt2701_mm_probe(struct platform_device *pdev) static int clk_mt2701_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 clk_onecell_data *clk_data;
int r; int r;
struct device_node *node = pdev->dev.of_node;
clk_data = mtk_alloc_clk_data(CLK_MM_NR); clk_data = mtk_alloc_clk_data(CLK_MM_NR);
@ -108,7 +104,6 @@ static struct platform_driver clk_mt2701_mm_drv = {
.probe = clk_mt2701_mm_probe, .probe = clk_mt2701_mm_probe,
.driver = { .driver = {
.name = "clk-mt2701-mm", .name = "clk-mt2701-mm",
.of_match_table = of_match_clk_mt2701_mm,
}, },
}; };

Просмотреть файл

@ -79,6 +79,10 @@ struct mtk_mmsys_driver_data {
const char *clk_driver; const char *clk_driver;
}; };
static const struct mtk_mmsys_driver_data mt2701_mmsys_driver_data = {
.clk_driver = "clk-mt2701-mm",
};
static const struct mtk_mmsys_driver_data mt2712_mmsys_driver_data = { static const struct mtk_mmsys_driver_data mt2712_mmsys_driver_data = {
.clk_driver = "clk-mt2712-mm", .clk_driver = "clk-mt2712-mm",
}; };
@ -324,6 +328,10 @@ static int mtk_mmsys_probe(struct platform_device *pdev)
} }
static const struct of_device_id of_match_mtk_mmsys[] = { static const struct of_device_id of_match_mtk_mmsys[] = {
{
.compatible = "mediatek,mt2701-mmsys",
.data = &mt2701_mmsys_driver_data,
},
{ {
.compatible = "mediatek,mt2712-mmsys", .compatible = "mediatek,mt2712-mmsys",
.data = &mt2712_mmsys_driver_data, .data = &mt2712_mmsys_driver_data,