Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb5930bd authored by Tomi Valkeinen's avatar Tomi Valkeinen
Browse files

OMAP: DSS2: Fix init and unit sequence



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: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent b98482ed
Loading
Loading
Loading
Loading
+8 −9
Original line number Diff line number Diff line
@@ -185,6 +185,11 @@ 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) {
@@ -192,12 +197,6 @@ static int omap_dss_probe(struct platform_device *pdev)
		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");
@@ -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);