Skip to content

Commit

Permalink
OMAP: DSS2: Fix init and unit sequence
Browse files Browse the repository at this point in the history
The initialization order of the DSS modules is important when pm_runtime
support is implemented. Currently RFBI is initialized before DISPC,
which will cause problems with pm_runtime as RFBI uses DISPC.

The same goes for uninitialization order, and dss_uninit needs to be
called last, and dispc_uninit just before that.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
  • Loading branch information
Tomi Valkeinen committed Jul 25, 2011
1 parent b98482e commit cb5930b
Showing 1 changed file with 8 additions and 9 deletions.
17 changes: 8 additions & 9 deletions drivers/video/omap2/dss/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -185,19 +185,18 @@ static int omap_dss_probe(struct platform_device *pdev)

/* keep clocks enabled to prevent context saves/restores during init */
dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK);
r = dispc_init_platform_driver();
if (r) {
DSSERR("Failed to initialize dispc platform driver\n");
goto err_dispc;
}

r = rfbi_init_platform_driver();
if (r) {
DSSERR("Failed to initialize rfbi platform driver\n");
goto err_rfbi;
}

r = dispc_init_platform_driver();
if (r) {
DSSERR("Failed to initialize dispc platform driver\n");
goto err_dispc;
}

r = venc_init_platform_driver();
if (r) {
DSSERR("Failed to initialize venc platform driver\n");
Expand Down Expand Up @@ -268,11 +267,11 @@ static int omap_dss_remove(struct platform_device *pdev)

dss_uninitialize_debugfs();

hdmi_uninit_platform_driver();
dsi_uninit_platform_driver();
venc_uninit_platform_driver();
dispc_uninit_platform_driver();
rfbi_uninit_platform_driver();
dsi_uninit_platform_driver();
hdmi_uninit_platform_driver();
dispc_uninit_platform_driver();
dss_uninit_platform_driver();

dss_uninit_overlays(pdev);
Expand Down

0 comments on commit cb5930b

Please sign in to comment.