提交 587b5e82 编写于 作者: T Tomi Valkeinen

OMAP: DSS2: Move DPI & SDI init into DSS plat driver

DPI and SDI are different from the other interfaces as they are not
hwmods and there is not platform driver for them. They could be said to
be a part of DSS or DISPC modules, although it's not a clear definition.

This patch moves DPI and SDI initialization into DSS platform driver,
making the code more consistent: omap_dss_probe() only initializes
platform drivers now.
Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
上级 277b2881
...@@ -191,12 +191,6 @@ static int omap_dss_probe(struct platform_device *pdev) ...@@ -191,12 +191,6 @@ static int omap_dss_probe(struct platform_device *pdev)
goto err_rfbi; goto err_rfbi;
} }
r = dpi_init();
if (r) {
DSSERR("Failed to initialize dpi\n");
goto err_dpi;
}
r = dispc_init_platform_driver(); r = dispc_init_platform_driver();
if (r) { if (r) {
DSSERR("Failed to initialize dispc platform driver\n"); DSSERR("Failed to initialize dispc platform driver\n");
...@@ -210,12 +204,6 @@ static int omap_dss_probe(struct platform_device *pdev) ...@@ -210,12 +204,6 @@ static int omap_dss_probe(struct platform_device *pdev)
} }
if (cpu_is_omap34xx()) { if (cpu_is_omap34xx()) {
r = sdi_init();
if (r) {
DSSERR("Failed to initialize SDI\n");
goto err_sdi;
}
r = dsi_init_platform_driver(); r = dsi_init_platform_driver();
if (r) { if (r) {
DSSERR("Failed to initialize DSI platform driver\n"); DSSERR("Failed to initialize DSI platform driver\n");
...@@ -255,15 +243,10 @@ static int omap_dss_probe(struct platform_device *pdev) ...@@ -255,15 +243,10 @@ static int omap_dss_probe(struct platform_device *pdev)
if (cpu_is_omap34xx()) if (cpu_is_omap34xx())
dsi_uninit_platform_driver(); dsi_uninit_platform_driver();
err_dsi: err_dsi:
if (cpu_is_omap34xx())
sdi_exit();
err_sdi:
venc_uninit_platform_driver(); venc_uninit_platform_driver();
err_venc: err_venc:
dispc_uninit_platform_driver(); dispc_uninit_platform_driver();
err_dispc: err_dispc:
dpi_exit();
err_dpi:
rfbi_uninit_platform_driver(); rfbi_uninit_platform_driver();
err_rfbi: err_rfbi:
dss_uninit_platform_driver(); dss_uninit_platform_driver();
...@@ -281,11 +264,9 @@ static int omap_dss_remove(struct platform_device *pdev) ...@@ -281,11 +264,9 @@ static int omap_dss_remove(struct platform_device *pdev)
venc_uninit_platform_driver(); venc_uninit_platform_driver();
dispc_uninit_platform_driver(); dispc_uninit_platform_driver();
dpi_exit();
rfbi_uninit_platform_driver(); rfbi_uninit_platform_driver();
if (cpu_is_omap34xx()) { if (cpu_is_omap34xx()) {
dsi_uninit_platform_driver(); dsi_uninit_platform_driver();
sdi_exit();
} }
dss_uninit_platform_driver(); dss_uninit_platform_driver();
......
...@@ -970,9 +970,24 @@ static int omap_dsshw_probe(struct platform_device *pdev) ...@@ -970,9 +970,24 @@ static int omap_dsshw_probe(struct platform_device *pdev)
goto err_dss; goto err_dss;
} }
r = dpi_init();
if (r) {
DSSERR("Failed to initialize DPI\n");
goto err_dpi;
}
r = sdi_init();
if (r) {
DSSERR("Failed to initialize SDI\n");
goto err_sdi;
}
dss_clk_disable_all_no_ctx(); dss_clk_disable_all_no_ctx();
return 0; return 0;
err_sdi:
dpi_exit();
err_dpi:
dss_exit();
err_dss: err_dss:
dss_clk_disable_all_no_ctx(); dss_clk_disable_all_no_ctx();
dss_put_clocks(); dss_put_clocks();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册