drm/mediatek: add no_clk into ddp private data

Mutex has no clock in some SoC, so add no_clk in private data and get
clock according to no_clk.

Signed-off-by: CK Hu <ck.hu@mediatek.com>
This commit is contained in:
CK Hu 2019-10-09 16:37:47 +08:00
Родитель 1037edf20c
Коммит 631005b255
1 изменённых файлов: 9 добавлений и 6 удалений

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

@ -157,6 +157,7 @@ struct mtk_ddp_data {
const unsigned int *mutex_sof; const unsigned int *mutex_sof;
const unsigned int mutex_mod_reg; const unsigned int mutex_mod_reg;
const unsigned int mutex_sof_reg; const unsigned int mutex_sof_reg;
const bool no_clk;
}; };
struct mtk_ddp { struct mtk_ddp {
@ -622,10 +623,14 @@ static int mtk_ddp_probe(struct platform_device *pdev)
for (i = 0; i < 10; i++) for (i = 0; i < 10; i++)
ddp->mutex[i].id = i; ddp->mutex[i].id = i;
ddp->clk = devm_clk_get(dev, NULL); ddp->data = of_device_get_match_data(dev);
if (IS_ERR(ddp->clk)) {
dev_err(dev, "Failed to get clock\n"); if (!ddp->data->no_clk) {
return PTR_ERR(ddp->clk); ddp->clk = devm_clk_get(dev, NULL);
if (IS_ERR(ddp->clk)) {
dev_err(dev, "Failed to get clock\n");
return PTR_ERR(ddp->clk);
}
} }
regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
@ -635,8 +640,6 @@ static int mtk_ddp_probe(struct platform_device *pdev)
return PTR_ERR(ddp->regs); return PTR_ERR(ddp->regs);
} }
ddp->data = of_device_get_match_data(dev);
platform_set_drvdata(pdev, ddp); platform_set_drvdata(pdev, ddp);
return 0; return 0;