Commit 9c5a0a3a authored by Enric Balletbo i Serra's avatar Enric Balletbo i Serra Committed by Matthias Brugger

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

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 on
those devices.
Signed-off-by: default avatarEnric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: default avatarChun-Kuang Hu <chunkuang.hu@kernel.org>
Acked-by: default avatarStephen Boyd <sboyd@kernel.org>
Link: https://lore.kernel.org/r/20200401201736.2980433-2-enric.balletbo@collabora.comSigned-off-by: default avatarMatthias Brugger <matthias.bgg@gmail.com>
parent 52660e56
...@@ -128,9 +128,10 @@ static const struct mtk_gate mm_clks[] = { ...@@ -128,9 +128,10 @@ static const struct mtk_gate mm_clks[] = {
static int clk_mt2712_mm_probe(struct platform_device *pdev) static int clk_mt2712_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); clk_data = mtk_alloc_clk_data(CLK_MM_NR_CLK);
...@@ -146,16 +147,10 @@ static int clk_mt2712_mm_probe(struct platform_device *pdev) ...@@ -146,16 +147,10 @@ static int clk_mt2712_mm_probe(struct platform_device *pdev)
return r; return r;
} }
static const struct of_device_id of_match_clk_mt2712_mm[] = {
{ .compatible = "mediatek,mt2712-mmsys", },
{}
};
static struct platform_driver clk_mt2712_mm_drv = { static struct platform_driver clk_mt2712_mm_drv = {
.probe = clk_mt2712_mm_probe, .probe = clk_mt2712_mm_probe,
.driver = { .driver = {
.name = "clk-mt2712-mm", .name = "clk-mt2712-mm",
.of_match_table = of_match_clk_mt2712_mm,
}, },
}; };
......
...@@ -79,6 +79,10 @@ struct mtk_mmsys_driver_data { ...@@ -79,6 +79,10 @@ struct mtk_mmsys_driver_data {
const char *clk_driver; const char *clk_driver;
}; };
static const struct mtk_mmsys_driver_data mt2712_mmsys_driver_data = {
.clk_driver = "clk-mt2712-mm",
};
static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = { static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = {
.clk_driver = "clk-mt8173-mm", .clk_driver = "clk-mt8173-mm",
}; };
...@@ -320,6 +324,10 @@ static int mtk_mmsys_probe(struct platform_device *pdev) ...@@ -320,6 +324,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,mt2712-mmsys",
.data = &mt2712_mmsys_driver_data,
},
{ {
.compatible = "mediatek,mt8173-mmsys", .compatible = "mediatek,mt8173-mmsys",
.data = &mt8173_mmsys_driver_data, .data = &mt8173_mmsys_driver_data,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment