Commit 6abae7a1 authored by Tomi Valkeinen's avatar Tomi Valkeinen

OMAPDSS: move ovl function setup to apply.c

Most of the functions that are assigned to the fields in ovl struct are
in apply.c. By moving the function pointer setup into apply.c we can
make these functions static.
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 0c49ff74
...@@ -416,6 +416,13 @@ static void wait_pending_extra_info_updates(void) ...@@ -416,6 +416,13 @@ static void wait_pending_extra_info_updates(void)
DSSWARN("timeout in wait_pending_extra_info_updates\n"); 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) static inline struct omap_dss_device *dss_mgr_get_device(struct omap_overlay_manager *mgr)
{ {
return mgr->output ? mgr->output->device : NULL; return mgr->output ? mgr->output->device : NULL;
...@@ -516,7 +523,7 @@ static int dss_mgr_wait_for_go(struct omap_overlay_manager *mgr) ...@@ -516,7 +523,7 @@ static int dss_mgr_wait_for_go(struct omap_overlay_manager *mgr)
return r; 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); unsigned long timeout = msecs_to_jiffies(500);
struct ovl_priv_data *op; struct ovl_priv_data *op;
...@@ -1248,7 +1255,7 @@ void dss_mgr_set_lcd_config(struct omap_overlay_manager *mgr, ...@@ -1248,7 +1255,7 @@ void dss_mgr_set_lcd_config(struct omap_overlay_manager *mgr,
spin_unlock_irqrestore(&data_lock, flags); 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 omap_overlay_info *info)
{ {
struct ovl_priv_data *op = get_ovl_priv(ovl); struct ovl_priv_data *op = get_ovl_priv(ovl);
...@@ -1269,7 +1276,7 @@ int dss_ovl_set_info(struct omap_overlay *ovl, ...@@ -1269,7 +1276,7 @@ int dss_ovl_set_info(struct omap_overlay *ovl,
return 0; 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 omap_overlay_info *info)
{ {
struct ovl_priv_data *op = get_ovl_priv(ovl); struct ovl_priv_data *op = get_ovl_priv(ovl);
...@@ -1282,7 +1289,7 @@ void dss_ovl_get_info(struct omap_overlay *ovl, ...@@ -1282,7 +1289,7 @@ void dss_ovl_get_info(struct omap_overlay *ovl,
spin_unlock_irqrestore(&data_lock, flags); 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 omap_overlay_manager *mgr)
{ {
struct ovl_priv_data *op = get_ovl_priv(ovl); struct ovl_priv_data *op = get_ovl_priv(ovl);
...@@ -1334,7 +1341,7 @@ int dss_ovl_set_manager(struct omap_overlay *ovl, ...@@ -1334,7 +1341,7 @@ int dss_ovl_set_manager(struct omap_overlay *ovl,
return r; 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); struct ovl_priv_data *op = get_ovl_priv(ovl);
unsigned long flags; unsigned long flags;
...@@ -1394,7 +1401,7 @@ int dss_ovl_unset_manager(struct omap_overlay *ovl) ...@@ -1394,7 +1401,7 @@ int dss_ovl_unset_manager(struct omap_overlay *ovl)
return r; 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); struct ovl_priv_data *op = get_ovl_priv(ovl);
unsigned long flags; unsigned long flags;
...@@ -1409,7 +1416,7 @@ bool dss_ovl_is_enabled(struct omap_overlay *ovl) ...@@ -1409,7 +1416,7 @@ bool dss_ovl_is_enabled(struct omap_overlay *ovl)
return e; 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); struct ovl_priv_data *op = get_ovl_priv(ovl);
unsigned long flags; unsigned long flags;
...@@ -1459,7 +1466,7 @@ int dss_ovl_enable(struct omap_overlay *ovl) ...@@ -1459,7 +1466,7 @@ int dss_ovl_enable(struct omap_overlay *ovl)
return r; 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); struct ovl_priv_data *op = get_ovl_priv(ovl);
unsigned long flags; unsigned long flags;
...@@ -1527,6 +1534,20 @@ int omapdss_compat_init(void) ...@@ -1527,6 +1534,20 @@ int omapdss_compat_init(void)
mgr->get_device = &dss_mgr_get_device; 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: out:
mutex_unlock(&compat_init_lock); mutex_unlock(&compat_init_lock);
......
...@@ -178,7 +178,6 @@ void dss_copy_device_pdata(struct omap_dss_device *dst, ...@@ -178,7 +178,6 @@ void dss_copy_device_pdata(struct omap_dss_device *dst,
const struct omap_dss_device *src); const struct omap_dss_device *src);
/* apply */ /* apply */
int dss_mgr_wait_for_go_ovl(struct omap_overlay *ovl);
void dss_mgr_start_update(struct omap_overlay_manager *mgr); void dss_mgr_start_update(struct omap_overlay_manager *mgr);
int dss_mgr_enable(struct omap_overlay_manager *mgr); int dss_mgr_enable(struct omap_overlay_manager *mgr);
void dss_mgr_disable(struct omap_overlay_manager *mgr); void dss_mgr_disable(struct omap_overlay_manager *mgr);
...@@ -187,17 +186,6 @@ void dss_mgr_set_timings(struct omap_overlay_manager *mgr, ...@@ -187,17 +186,6 @@ void dss_mgr_set_timings(struct omap_overlay_manager *mgr,
void dss_mgr_set_lcd_config(struct omap_overlay_manager *mgr, void dss_mgr_set_lcd_config(struct omap_overlay_manager *mgr,
const struct dss_lcd_mgr_config *config); const struct dss_lcd_mgr_config *config);
bool dss_ovl_is_enabled(struct omap_overlay *ovl);
int dss_ovl_enable(struct omap_overlay *ovl);
int dss_ovl_disable(struct omap_overlay *ovl);
int dss_ovl_set_info(struct omap_overlay *ovl,
struct omap_overlay_info *info);
void dss_ovl_get_info(struct omap_overlay *ovl,
struct omap_overlay_info *info);
int dss_ovl_set_manager(struct omap_overlay *ovl,
struct omap_overlay_manager *mgr);
int dss_ovl_unset_manager(struct omap_overlay *ovl);
/* output */ /* output */
void dss_register_output(struct omap_dss_output *out); void dss_register_output(struct omap_dss_output *out);
void dss_unregister_output(struct omap_dss_output *out); void dss_unregister_output(struct omap_dss_output *out);
......
...@@ -38,13 +38,6 @@ ...@@ -38,13 +38,6 @@
static int num_overlays; static int num_overlays;
static struct omap_overlay *overlays; static struct omap_overlay *overlays;
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;
}
int omap_dss_get_num_overlays(void) int omap_dss_get_num_overlays(void)
{ {
return num_overlays; return num_overlays;
...@@ -93,16 +86,6 @@ void dss_init_overlays(struct platform_device *pdev) ...@@ -93,16 +86,6 @@ void dss_init_overlays(struct platform_device *pdev)
break; break;
} }
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;
ovl->caps = dss_feat_get_overlay_caps(ovl->id); ovl->caps = dss_feat_get_overlay_caps(ovl->id);
ovl->supported_modes = ovl->supported_modes =
dss_feat_get_supported_color_modes(ovl->id); dss_feat_get_supported_color_modes(ovl->id);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment