drm: vmwgfx: remove drm_driver::master_set() return type
authorEmil Velikov <emil.l.velikov@gmail.com>
Sat, 30 May 2020 12:46:39 +0000 (13:46 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Mon, 15 Jun 2020 13:48:20 +0000 (14:48 +0100)
The function always returns zero (success). Ideally we'll remove it all
together - although that's requires a little more work.

For now, we can drop the return type and simplify the drm core code
surrounding it.

v2: remove redundant assignment (Sam)

Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: VMware Graphics <linux-graphics-maintainer@vmware.com>
Cc: Roland Scheidegger <sroland@vmware.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200530124640.4176323-1-emil.l.velikov@gmail.com
drivers/gpu/drm/drm_auth.c
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
include/drm/drm_drv.h

index 74ce0c29c960a9537565894b401fb6a493e476e2..4c723e3a689cddeff5398a0e643c0e349ca576fd 100644 (file)
@@ -122,27 +122,19 @@ struct drm_master *drm_master_create(struct drm_device *dev)
        return master;
 }
 
-static int drm_set_master(struct drm_device *dev, struct drm_file *fpriv,
-                         bool new_master)
+static void drm_set_master(struct drm_device *dev, struct drm_file *fpriv,
+                          bool new_master)
 {
-       int ret = 0;
-
        dev->master = drm_master_get(fpriv->master);
-       if (dev->driver->master_set) {
-               ret = dev->driver->master_set(dev, fpriv, new_master);
-               if (unlikely(ret != 0)) {
-                       drm_master_put(&dev->master);
-               }
-       }
+       if (dev->driver->master_set)
+               dev->driver->master_set(dev, fpriv, new_master);
 
-       fpriv->was_master = (ret == 0);
-       return ret;
+       fpriv->was_master = true;
 }
 
 static int drm_new_set_master(struct drm_device *dev, struct drm_file *fpriv)
 {
        struct drm_master *old_master;
-       int ret;
 
        lockdep_assert_held_once(&dev->master_mutex);
 
@@ -157,22 +149,12 @@ static int drm_new_set_master(struct drm_device *dev, struct drm_file *fpriv)
        fpriv->is_master = 1;
        fpriv->authenticated = 1;
 
-       ret = drm_set_master(dev, fpriv, true);
-       if (ret)
-               goto out_err;
+       drm_set_master(dev, fpriv, true);
 
        if (old_master)
                drm_master_put(&old_master);
 
        return 0;
-
-out_err:
-       /* drop references and restore old master on failure */
-       drm_master_put(&fpriv->master);
-       fpriv->master = old_master;
-       fpriv->is_master = 0;
-
-       return ret;
 }
 
 /*
@@ -265,7 +247,7 @@ int drm_setmaster_ioctl(struct drm_device *dev, void *data,
                goto out_unlock;
        }
 
-       ret = drm_set_master(dev, file_priv, false);
+       drm_set_master(dev, file_priv, false);
 out_unlock:
        mutex_unlock(&dev->master_mutex);
        return ret;
index c2247a893ed438684471c94555bf0cf9de9893ae..47042838787843188667db503fa7d8815f373a93 100644 (file)
@@ -1129,9 +1129,9 @@ static long vmw_compat_ioctl(struct file *filp, unsigned int cmd,
 }
 #endif
 
-static int vmw_master_set(struct drm_device *dev,
-                         struct drm_file *file_priv,
-                         bool from_open)
+static void vmw_master_set(struct drm_device *dev,
+                          struct drm_file *file_priv,
+                          bool from_open)
 {
        /*
         * Inform a new master that the layout may have changed while
@@ -1139,8 +1139,6 @@ static int vmw_master_set(struct drm_device *dev,
         */
        if (!from_open)
                drm_sysfs_hotplug_event(dev);
-
-       return 0;
 }
 
 static void vmw_master_drop(struct drm_device *dev,
index 8f110a28b6a2340c124744c967c77ec17c4b3358..7116abc1a04e039d8b46e73a93e8b7293d02bacd 100644 (file)
@@ -311,8 +311,8 @@ struct drm_driver {
         *
         * Called whenever the minor master is set. Only used by vmwgfx.
         */
-       int (*master_set)(struct drm_device *dev, struct drm_file *file_priv,
-                         bool from_open);
+       void (*master_set)(struct drm_device *dev, struct drm_file *file_priv,
+                          bool from_open);
        /**
         * @master_drop:
         *