OMAPDRM: Remove manager->device references
authorArchit Taneja <archit@ti.com>
Fri, 20 Jul 2012 13:00:50 +0000 (18:30 +0530)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 26 Sep 2012 11:58:32 +0000 (14:58 +0300)
With the introduction of output entities, managers will now connect to outputs.
Use the helper op for managers named get_device. This will abstract away the
information on how to get the device from an overlay manager.

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>
drivers/staging/omapdrm/omap_drv.c

index 4beab94..64a354a 100644 (file)
@@ -106,7 +106,8 @@ static void dump_video_chains(void)
        for (i = 0; i < omap_dss_get_num_overlays(); i++) {
                struct omap_overlay *ovl = omap_dss_get_overlay(i);
                struct omap_overlay_manager *mgr = ovl->manager;
-               struct omap_dss_device *dssdev = mgr ? mgr->device : NULL;
+               struct omap_dss_device *dssdev = mgr ?
+                                       mgr->get_device(mgr) : NULL;
                if (dssdev) {
                        DBG("%d: %s -> %s -> %s", i, ovl->name, mgr->name,
                                                dssdev->name);
@@ -185,7 +186,7 @@ static int create_connector(struct drm_device *dev,
        for (j = 0; j < priv->num_encoders; j++) {
                struct omap_overlay_manager *mgr =
                        omap_encoder_get_manager(priv->encoders[j]);
-               if (mgr->device == dssdev) {
+               if (mgr->get_device(mgr) == dssdev) {
                        drm_mode_connector_attach_encoder(connector,
                                        priv->encoders[j]);
                }