diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2012-09-25 04:23:14 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2012-09-25 04:23:14 -0400 |
commit | c0ca7c38c5d35c12a9b94ef42842b325dfd2a3cd (patch) | |
tree | 2190b0a91130b8b9c7f0e562ea5d28a885f3eb19 /drivers/video/omap2/dss/dss.h | |
parent | 524d9f48a64dbe1ec3a276b57ac2a422fc14af07 (diff) | |
parent | 5274484b821bb2cf34a697624ef14084c31b16ce (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.h | 15 |
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; | |||
175 | struct platform_device; | 175 | struct platform_device; |
176 | 176 | ||
177 | /* core */ | 177 | /* core */ |
178 | const char *dss_get_default_display_name(void); | ||
178 | struct bus_type *dss_get_bus(void); | 179 | struct bus_type *dss_get_bus(void); |
179 | struct regulator *dss_get_vdds_dsi(void); | 180 | struct regulator *dss_get_vdds_dsi(void); |
180 | struct regulator *dss_get_vdds_sdi(void); | 181 | struct regulator *dss_get_vdds_sdi(void); |
@@ -184,10 +185,13 @@ void dss_dsi_disable_pads(int dsi_id, unsigned lane_mask); | |||
184 | int dss_set_min_bus_tput(struct device *dev, unsigned long tput); | 185 | int dss_set_min_bus_tput(struct device *dev, unsigned long tput); |
185 | int dss_debugfs_create_file(const char *name, void (*write)(struct seq_file *)); | 186 | int dss_debugfs_create_file(const char *name, void (*write)(struct seq_file *)); |
186 | 187 | ||
187 | int omap_dss_register_device(struct omap_dss_device *dssdev, | 188 | struct omap_dss_device *dss_alloc_and_init_device(struct device *parent); |
188 | struct device *parent, int disp_num); | 189 | int dss_add_device(struct omap_dss_device *dssdev); |
189 | void omap_dss_unregister_device(struct omap_dss_device *dssdev); | 190 | void dss_unregister_device(struct omap_dss_device *dssdev); |
190 | void omap_dss_unregister_child_devices(struct device *parent); | 191 | void dss_unregister_child_devices(struct device *parent); |
192 | void dss_put_device(struct omap_dss_device *dssdev); | ||
193 | void dss_copy_device_pdata(struct omap_dss_device *dst, | ||
194 | const struct omap_dss_device *src); | ||
191 | 195 | ||
192 | /* apply */ | 196 | /* apply */ |
193 | void dss_apply_init(void); | 197 | void dss_apply_init(void); |
@@ -227,7 +231,7 @@ int dss_suspend_all_devices(void); | |||
227 | int dss_resume_all_devices(void); | 231 | int dss_resume_all_devices(void); |
228 | void dss_disable_all_devices(void); | 232 | void dss_disable_all_devices(void); |
229 | 233 | ||
230 | void dss_init_device(struct platform_device *pdev, | 234 | int dss_init_device(struct platform_device *pdev, |
231 | struct omap_dss_device *dssdev); | 235 | struct omap_dss_device *dssdev); |
232 | void dss_uninit_device(struct platform_device *pdev, | 236 | void 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); | |||
262 | void dss_init_overlays(struct platform_device *pdev); | 266 | void dss_init_overlays(struct platform_device *pdev); |
263 | void dss_uninit_overlays(struct platform_device *pdev); | 267 | void dss_uninit_overlays(struct platform_device *pdev); |
264 | void dss_overlay_setup_dispc_manager(struct omap_overlay_manager *mgr); | 268 | void dss_overlay_setup_dispc_manager(struct omap_overlay_manager *mgr); |
265 | void dss_recheck_connections(struct omap_dss_device *dssdev, bool force); | ||
266 | int dss_ovl_simple_check(struct omap_overlay *ovl, | 269 | int dss_ovl_simple_check(struct omap_overlay *ovl, |
267 | const struct omap_overlay_info *info); | 270 | const struct omap_overlay_info *info); |
268 | int dss_ovl_check(struct omap_overlay *ovl, struct omap_overlay_info *info, | 271 | int dss_ovl_check(struct omap_overlay *ovl, struct omap_overlay_info *info, |