From: Julia Lawall <ju...@diku.dk>

If the NULL test is necessary, then the dereference should be moved below
the NULL test.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/).  The result has been modified to
move the initialization of driver down closer to where it is used.

// <smpl>
@@
type T;
expression E;
identifier i,fld;
statement S;
@@

- T i = E->fld;
+ T i;
  ... when != E
      when != i
  if (E == NULL) S
+ i = E->fld;
// </smpl>

Signed-off-by: Julia Lawall <ju...@diku.dk>

---
 drivers/gpu/drm/drm_drv.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
index 0b9f316..4bdfc98 100644
--- a/drivers/gpu/drm/drm_drv.c
+++ b/drivers/gpu/drm/drm_drv.c
@@ -297,7 +297,7 @@ EXPORT_SYMBOL(drm_init);
  */
 static void drm_cleanup(struct drm_device * dev)
 {
-       struct drm_driver *driver = dev->driver;
+       struct drm_driver *driver;
 
        DRM_DEBUG("\n");
 
@@ -324,8 +324,9 @@ static void drm_cleanup(struct drm_device * dev)
                dev->agp = NULL;
        }
 
-       if (dev->driver->unload)
-               dev->driver->unload(dev);
+       driver = dev->driver;
+       if (driver->unload)
+               driver->unload(dev);
 
        drm_ht_remove(&dev->map_hash);
        drm_ctxbitmap_cleanup(dev);

------------------------------------------------------------------------------
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to