|
@@ -416,6 +416,13 @@ static void wait_pending_extra_info_updates(void)
|
|
|
DSSWARN("timeout in wait_pending_extra_info_updates\n");
|
|
|
}
|
|
|
|
|
|
+static inline struct omap_dss_device *dss_ovl_get_device(struct omap_overlay *ovl)
|
|
|
+{
|
|
|
+ return ovl->manager ?
|
|
|
+ (ovl->manager->output ? ovl->manager->output->device : NULL) :
|
|
|
+ NULL;
|
|
|
+}
|
|
|
+
|
|
|
static inline struct omap_dss_device *dss_mgr_get_device(struct omap_overlay_manager *mgr)
|
|
|
{
|
|
|
return mgr->output ? mgr->output->device : NULL;
|
|
@@ -516,7 +523,7 @@ static int dss_mgr_wait_for_go(struct omap_overlay_manager *mgr)
|
|
|
return r;
|
|
|
}
|
|
|
|
|
|
-int dss_mgr_wait_for_go_ovl(struct omap_overlay *ovl)
|
|
|
+static int dss_mgr_wait_for_go_ovl(struct omap_overlay *ovl)
|
|
|
{
|
|
|
unsigned long timeout = msecs_to_jiffies(500);
|
|
|
struct ovl_priv_data *op;
|
|
@@ -1248,7 +1255,7 @@ out:
|
|
|
spin_unlock_irqrestore(&data_lock, flags);
|
|
|
}
|
|
|
|
|
|
-int dss_ovl_set_info(struct omap_overlay *ovl,
|
|
|
+static int dss_ovl_set_info(struct omap_overlay *ovl,
|
|
|
struct omap_overlay_info *info)
|
|
|
{
|
|
|
struct ovl_priv_data *op = get_ovl_priv(ovl);
|
|
@@ -1269,7 +1276,7 @@ int dss_ovl_set_info(struct omap_overlay *ovl,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-void dss_ovl_get_info(struct omap_overlay *ovl,
|
|
|
+static void dss_ovl_get_info(struct omap_overlay *ovl,
|
|
|
struct omap_overlay_info *info)
|
|
|
{
|
|
|
struct ovl_priv_data *op = get_ovl_priv(ovl);
|
|
@@ -1282,7 +1289,7 @@ void dss_ovl_get_info(struct omap_overlay *ovl,
|
|
|
spin_unlock_irqrestore(&data_lock, flags);
|
|
|
}
|
|
|
|
|
|
-int dss_ovl_set_manager(struct omap_overlay *ovl,
|
|
|
+static int dss_ovl_set_manager(struct omap_overlay *ovl,
|
|
|
struct omap_overlay_manager *mgr)
|
|
|
{
|
|
|
struct ovl_priv_data *op = get_ovl_priv(ovl);
|
|
@@ -1334,7 +1341,7 @@ err:
|
|
|
return r;
|
|
|
}
|
|
|
|
|
|
-int dss_ovl_unset_manager(struct omap_overlay *ovl)
|
|
|
+static int dss_ovl_unset_manager(struct omap_overlay *ovl)
|
|
|
{
|
|
|
struct ovl_priv_data *op = get_ovl_priv(ovl);
|
|
|
unsigned long flags;
|
|
@@ -1394,7 +1401,7 @@ err:
|
|
|
return r;
|
|
|
}
|
|
|
|
|
|
-bool dss_ovl_is_enabled(struct omap_overlay *ovl)
|
|
|
+static bool dss_ovl_is_enabled(struct omap_overlay *ovl)
|
|
|
{
|
|
|
struct ovl_priv_data *op = get_ovl_priv(ovl);
|
|
|
unsigned long flags;
|
|
@@ -1409,7 +1416,7 @@ bool dss_ovl_is_enabled(struct omap_overlay *ovl)
|
|
|
return e;
|
|
|
}
|
|
|
|
|
|
-int dss_ovl_enable(struct omap_overlay *ovl)
|
|
|
+static int dss_ovl_enable(struct omap_overlay *ovl)
|
|
|
{
|
|
|
struct ovl_priv_data *op = get_ovl_priv(ovl);
|
|
|
unsigned long flags;
|
|
@@ -1459,7 +1466,7 @@ err1:
|
|
|
return r;
|
|
|
}
|
|
|
|
|
|
-int dss_ovl_disable(struct omap_overlay *ovl)
|
|
|
+static int dss_ovl_disable(struct omap_overlay *ovl)
|
|
|
{
|
|
|
struct ovl_priv_data *op = get_ovl_priv(ovl);
|
|
|
unsigned long flags;
|
|
@@ -1527,6 +1534,20 @@ int omapdss_compat_init(void)
|
|
|
mgr->get_device = &dss_mgr_get_device;
|
|
|
}
|
|
|
|
|
|
+ for (i = 0; i < omap_dss_get_num_overlays(); i++) {
|
|
|
+ struct omap_overlay *ovl = omap_dss_get_overlay(i);
|
|
|
+
|
|
|
+ ovl->is_enabled = &dss_ovl_is_enabled;
|
|
|
+ ovl->enable = &dss_ovl_enable;
|
|
|
+ ovl->disable = &dss_ovl_disable;
|
|
|
+ ovl->set_manager = &dss_ovl_set_manager;
|
|
|
+ ovl->unset_manager = &dss_ovl_unset_manager;
|
|
|
+ ovl->set_overlay_info = &dss_ovl_set_info;
|
|
|
+ ovl->get_overlay_info = &dss_ovl_get_info;
|
|
|
+ ovl->wait_for_go = &dss_mgr_wait_for_go_ovl;
|
|
|
+ ovl->get_device = &dss_ovl_get_device;
|
|
|
+ }
|
|
|
+
|
|
|
out:
|
|
|
mutex_unlock(&compat_init_lock);
|
|
|
|