Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm: vmwgfx: remove drm_driver::master_set() return type

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

+12 -32
+7 -25
drivers/gpu/drm/drm_auth.c
··· 122 122 return master; 123 123 } 124 124 125 - static int drm_set_master(struct drm_device *dev, struct drm_file *fpriv, 126 - bool new_master) 125 + static void drm_set_master(struct drm_device *dev, struct drm_file *fpriv, 126 + bool new_master) 127 127 { 128 - int ret = 0; 129 - 130 128 dev->master = drm_master_get(fpriv->master); 131 - if (dev->driver->master_set) { 132 - ret = dev->driver->master_set(dev, fpriv, new_master); 133 - if (unlikely(ret != 0)) { 134 - drm_master_put(&dev->master); 135 - } 136 - } 129 + if (dev->driver->master_set) 130 + dev->driver->master_set(dev, fpriv, new_master); 137 131 138 - fpriv->was_master = (ret == 0); 139 - return ret; 132 + fpriv->was_master = true; 140 133 } 141 134 142 135 static int drm_new_set_master(struct drm_device *dev, struct drm_file *fpriv) 143 136 { 144 137 struct drm_master *old_master; 145 - int ret; 146 138 147 139 lockdep_assert_held_once(&dev->master_mutex); 148 140 ··· 149 157 fpriv->is_master = 1; 150 158 fpriv->authenticated = 1; 151 159 152 - ret = drm_set_master(dev, fpriv, true); 153 - if (ret) 154 - goto out_err; 160 + drm_set_master(dev, fpriv, true); 155 161 156 162 if (old_master) 157 163 drm_master_put(&old_master); 158 164 159 165 return 0; 160 - 161 - out_err: 162 - /* drop references and restore old master on failure */ 163 - drm_master_put(&fpriv->master); 164 - fpriv->master = old_master; 165 - fpriv->is_master = 0; 166 - 167 - return ret; 168 166 } 169 167 170 168 /* ··· 247 265 goto out_unlock; 248 266 } 249 267 250 - ret = drm_set_master(dev, file_priv, false); 268 + drm_set_master(dev, file_priv, false); 251 269 out_unlock: 252 270 mutex_unlock(&dev->master_mutex); 253 271 return ret;
+3 -5
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
··· 1129 1129 } 1130 1130 #endif 1131 1131 1132 - static int vmw_master_set(struct drm_device *dev, 1133 - struct drm_file *file_priv, 1134 - bool from_open) 1132 + static void vmw_master_set(struct drm_device *dev, 1133 + struct drm_file *file_priv, 1134 + bool from_open) 1135 1135 { 1136 1136 /* 1137 1137 * Inform a new master that the layout may have changed while ··· 1139 1139 */ 1140 1140 if (!from_open) 1141 1141 drm_sysfs_hotplug_event(dev); 1142 - 1143 - return 0; 1144 1142 } 1145 1143 1146 1144 static void vmw_master_drop(struct drm_device *dev,
+2 -2
include/drm/drm_drv.h
··· 311 311 * 312 312 * Called whenever the minor master is set. Only used by vmwgfx. 313 313 */ 314 - int (*master_set)(struct drm_device *dev, struct drm_file *file_priv, 315 - bool from_open); 314 + void (*master_set)(struct drm_device *dev, struct drm_file *file_priv, 315 + bool from_open); 316 316 /** 317 317 * @master_drop: 318 318 *