aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss/dss.h
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2012-09-25 04:23:14 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-09-25 04:23:14 -0400
commitc0ca7c38c5d35c12a9b94ef42842b325dfd2a3cd (patch)
tree2190b0a91130b8b9c7f0e562ea5d28a885f3eb19 /drivers/video/omap2/dss/dss.h
parent524d9f48a64dbe1ec3a276b57ac2a422fc14af07 (diff)
parent5274484b821bb2cf34a697624ef14084c31b16ce (diff)
Merge omapdss single-dssdev series
This series contains patches that change how omapdss's panel devices (omap_dss_device) are initialized and registered. There are two patches that change behaviour, the rest are just cleanups: The patch "omap_dss_register_device() doesn't take display index" affects the number for the "displayX" sysfs files. This hopefully doesn't affect the userspace, as the number has never been a clear indication of what the particular display is. The patch "register only one display device per output" affects how panel devices are created. Currently we support multiple panels per output, i.e. you could have DVI and an LCD displays using the same DPI output, as long as the DVI and LCD are not used at the same time. This patch changes the omapdss driver to only register one display device per output. If there are multiple displays for the output, either the first one is picked or, if def_display has been defined in kernel parameters and the def_display is one of the displays for this output, the def_display is picked. See the patch for more information. OMAPDSS: alloc dssdevs dynamically OMAPDSS: cleanup dss_recheck_connections further OMAPDSS: cleanup dss_recheck_connections OMAPDSS: handle errors in dss_init_device OMAPDSS: explicitely initialize dssdev->channel for new displays OMAPDSS: register only one display device per output OMAPDSS: Add dss_get_default_display_name() OMAPDSS: omap_dss_register_device() doesn't take display index
Diffstat (limited to 'drivers/video/omap2/dss/dss.h')
-rw-r--r--drivers/video/omap2/dss/dss.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
index 5e9fd7691728..417d30571747 100644
--- a/drivers/video/omap2/dss/dss.h
+++ b/drivers/video/omap2/dss/dss.h
@@ -175,6 +175,7 @@ struct seq_file;
175struct platform_device; 175struct platform_device;
176 176
177/* core */ 177/* core */
178const char *dss_get_default_display_name(void);
178struct bus_type *dss_get_bus(void); 179struct bus_type *dss_get_bus(void);
179struct regulator *dss_get_vdds_dsi(void); 180struct regulator *dss_get_vdds_dsi(void);
180struct regulator *dss_get_vdds_sdi(void); 181struct regulator *dss_get_vdds_sdi(void);
@@ -184,10 +185,13 @@ void dss_dsi_disable_pads(int dsi_id, unsigned lane_mask);
184int dss_set_min_bus_tput(struct device *dev, unsigned long tput); 185int dss_set_min_bus_tput(struct device *dev, unsigned long tput);
185int dss_debugfs_create_file(const char *name, void (*write)(struct seq_file *)); 186int dss_debugfs_create_file(const char *name, void (*write)(struct seq_file *));
186 187
187int omap_dss_register_device(struct omap_dss_device *dssdev, 188struct omap_dss_device *dss_alloc_and_init_device(struct device *parent);
188 struct device *parent, int disp_num); 189int dss_add_device(struct omap_dss_device *dssdev);
189void omap_dss_unregister_device(struct omap_dss_device *dssdev); 190void dss_unregister_device(struct omap_dss_device *dssdev);
190void omap_dss_unregister_child_devices(struct device *parent); 191void dss_unregister_child_devices(struct device *parent);
192void dss_put_device(struct omap_dss_device *dssdev);
193void dss_copy_device_pdata(struct omap_dss_device *dst,
194 const struct omap_dss_device *src);
191 195
192/* apply */ 196/* apply */
193void dss_apply_init(void); 197void dss_apply_init(void);
@@ -227,7 +231,7 @@ int dss_suspend_all_devices(void);
227int dss_resume_all_devices(void); 231int dss_resume_all_devices(void);
228void dss_disable_all_devices(void); 232void dss_disable_all_devices(void);
229 233
230void dss_init_device(struct platform_device *pdev, 234int dss_init_device(struct platform_device *pdev,
231 struct omap_dss_device *dssdev); 235 struct omap_dss_device *dssdev);
232void dss_uninit_device(struct platform_device *pdev, 236void dss_uninit_device(struct platform_device *pdev,
233 struct omap_dss_device *dssdev); 237 struct omap_dss_device *dssdev);
@@ -262,7 +266,6 @@ void dss_manager_kobj_uninit(struct omap_overlay_manager *mgr);
262void dss_init_overlays(struct platform_device *pdev); 266void dss_init_overlays(struct platform_device *pdev);
263void dss_uninit_overlays(struct platform_device *pdev); 267void dss_uninit_overlays(struct platform_device *pdev);
264void dss_overlay_setup_dispc_manager(struct omap_overlay_manager *mgr); 268void dss_overlay_setup_dispc_manager(struct omap_overlay_manager *mgr);
265void dss_recheck_connections(struct omap_dss_device *dssdev, bool force);
266int dss_ovl_simple_check(struct omap_overlay *ovl, 269int dss_ovl_simple_check(struct omap_overlay *ovl,
267 const struct omap_overlay_info *info); 270 const struct omap_overlay_info *info);
268int dss_ovl_check(struct omap_overlay *ovl, struct omap_overlay_info *info, 271int dss_ovl_check(struct omap_overlay *ovl, struct omap_overlay_info *info,