forked from Minki/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
This commit is contained in:
parent
d2fb716a7a
commit
907f53200f
@ -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,
|
||||
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;
|
||||
|
@ -1129,7 +1129,7 @@ static long vmw_compat_ioctl(struct file *filp, unsigned int cmd,
|
||||
}
|
||||
#endif
|
||||
|
||||
static int vmw_master_set(struct drm_device *dev,
|
||||
static void vmw_master_set(struct drm_device *dev,
|
||||
struct drm_file *file_priv,
|
||||
bool from_open)
|
||||
{
|
||||
@ -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,
|
||||
|
@ -311,7 +311,7 @@ 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,
|
||||
void (*master_set)(struct drm_device *dev, struct drm_file *file_priv,
|
||||
bool from_open);
|
||||
/**
|
||||
* @master_drop:
|
||||
|
Loading…
Reference in New Issue
Block a user