Skip to content

Commit

Permalink
OMAPFB: remove manager->device references
Browse files Browse the repository at this point in the history
With the introduction of output entities, managers will now connect to outputs.
Use the helper op for overlays named get_device. This will abstract away the
information on how to get the device from an overlay.

Using the helper function will reduce the number of pointer dereferences a user
of OMAPDSS needs to do and reduce risk of a NULL dereference.

Signed-off-by: Archit Taneja <archit@ti.com>
  • Loading branch information
Archit Taneja authored and Tomi Valkeinen committed Sep 26, 2012
1 parent d629f03 commit 4249e61
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 4 deletions.
6 changes: 4 additions & 2 deletions drivers/video/omap2/omapfb/omapfb-main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2379,6 +2379,7 @@ static int __init omapfb_probe(struct platform_device *pdev)
struct omap_overlay *ovl;
struct omap_dss_device *def_display;
struct omap_dss_device *dssdev;
struct omap_dss_device *ovl_device;

DBG("omapfb_probe\n");

Expand Down Expand Up @@ -2452,8 +2453,9 @@ static int __init omapfb_probe(struct platform_device *pdev)
/* gfx overlay should be the default one. find a display
* connected to that, and use it as default display */
ovl = omap_dss_get_overlay(0);
if (ovl->manager && ovl->manager->device) {
def_display = ovl->manager->device;
ovl_device = ovl->get_device(ovl);
if (ovl_device) {
def_display = ovl_device;
} else {
dev_warn(&pdev->dev, "cannot find default display\n");
def_display = NULL;
Expand Down
5 changes: 3 additions & 2 deletions drivers/video/omap2/omapfb/omapfb.h
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,9 @@ static inline struct omap_dss_device *fb2display(struct fb_info *fbi)

/* XXX: returns the display connected to first attached overlay */
for (i = 0; i < ofbi->num_overlays; i++) {
if (ofbi->overlays[i]->manager)
return ofbi->overlays[i]->manager->device;
struct omap_overlay *ovl = ofbi->overlays[i];

return ovl->get_device(ovl);
}

return NULL;
Expand Down

0 comments on commit 4249e61

Please sign in to comment.