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

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

OMAPDSS: move 'dss_initialized' to dss driver



We have a flag, 'dss_initialized', which tells omapfb and omapdrm if
omapdss is available. At the moment it can be set even if the dss
submodules are not all ready, in case something gets deferred.

Move the flag to dss_core driver so that it'll signal the availability
of the dss drivers move accurately.

For now, it'll signal that dss_core is ready, which is not quite correct
but still better than previously.  The following patches will add
component system to omapdss, and after those patches 'dss_initialized'
will signal that all the submodules are ready.

Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
parent c65b99f0
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -50,8 +50,6 @@ static char *def_disp_name;
module_param_named(def_disp, def_disp_name, charp, 0);
MODULE_PARM_DESC(def_disp, "default display name");

static bool dss_initialized;

const char *omapdss_get_default_display_name(void)
{
	return core.default_display_name;
@@ -65,12 +63,6 @@ enum omapdss_version omapdss_get_version(void)
}
EXPORT_SYMBOL(omapdss_get_version);

bool omapdss_is_initialized(void)
{
	return dss_initialized;
}
EXPORT_SYMBOL(omapdss_is_initialized);

struct platform_device *dss_get_core_pdev(void)
{
	return core.pdev;
@@ -333,8 +325,6 @@ static int __init omap_dss_init(void)
			dss_output_drv_loaded[i] = true;
	}

	dss_initialized = true;

	return 0;

err_dispc:
+12 −0
Original line number Diff line number Diff line
@@ -111,6 +111,14 @@ static const char * const dss_generic_clk_source_names[] = {
	[OMAP_DSS_CLK_SRC_DSI2_PLL_HSDIV_DSI]	= "DSI_PLL2_HSDIV_DSI",
};

static bool dss_initialized;

bool omapdss_is_initialized(void)
{
	return dss_initialized;
}
EXPORT_SYMBOL(omapdss_is_initialized);

static inline void dss_write_reg(const struct dss_reg idx, u32 val)
{
	__raw_writel(val, dss.base + idx.idx);
@@ -1141,6 +1149,8 @@ static int __init omap_dsshw_probe(struct platform_device *pdev)

	pm_set_vt_switch(0);

	dss_initialized = true;

	return 0;

err_pll_init:
@@ -1158,6 +1168,8 @@ static int __init omap_dsshw_probe(struct platform_device *pdev)

static int __exit omap_dsshw_remove(struct platform_device *pdev)
{
	dss_initialized = false;

	if (dss.video1_pll)
		dss_video_pll_uninit(dss.video1_pll);