OMAPDSS: move 'dss_initialized' to dss driver
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 4 Jun 2015 09:35:42 +0000 (12:35 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 17 Jun 2015 10:44:20 +0000 (13:44 +0300)
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: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
drivers/video/fbdev/omap2/dss/core.c
drivers/video/fbdev/omap2/dss/dss.c

index 16751755d43364c02c6b0d4814ea7b091cad474b..57b6a5296c8722eff3148797e93e5d16aa543787 100644 (file)
@@ -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:
index 7f978b6a34e8022c1f47c5ccc53bbfe972c8fb9b..35601ab232e3e1dae7ed32d53d753dc734a872fa 100644 (file)
@@ -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 @@ err_setup_clocks:
 
 static int __exit omap_dsshw_remove(struct platform_device *pdev)
 {
+       dss_initialized = false;
+
        if (dss.video1_pll)
                dss_video_pll_uninit(dss.video1_pll);