[PATCH 2/4] drm: BUG_ON if passing NULL parent to drm_dev_init

Daniel Vetter daniel at ffwll.ch
Wed Mar 28 07:17:32 UTC 2018


On Wed, Mar 28, 2018 at 02:24:49AM +0100, Emil Velikov wrote:
> From: Emil Velikov <emil.velikov at collabora.com>
> 
> Previous commit removed the only reason why we were allowing NULL as
> a parent device. With that resolved, we can enforce nobody else does
> that mistake.
> 
> With that we can drop the ugly drm_dev_set_unique workaround.
> 
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> Cc: Deepak Sharma <deepak.sharma at amd.com>
> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>

Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>

> ---
>  drivers/gpu/drm/drm_drv.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> index a1b9338736e3..88da984ff9eb 100644
> --- a/drivers/gpu/drm/drm_drv.c
> +++ b/drivers/gpu/drm/drm_drv.c
> @@ -432,8 +432,6 @@ static void drm_fs_inode_free(struct inode *inode)
>   * The initial ref-count of the object is 1. Use drm_dev_get() and
>   * drm_dev_put() to take and drop further ref-counts.
>   *
> - * Note that for purely virtual devices @parent can be NULL.
> - *
>   * Drivers that do not want to allocate their own device struct
>   * embedding &struct drm_device can call drm_dev_alloc() instead. For drivers
>   * that do embed &struct drm_device it must be placed first in the overall
> @@ -458,6 +456,8 @@ int drm_dev_init(struct drm_device *dev,
>  		return -ENODEV;
>  	}
>  
> +	BUG_ON(parent == NULL);
> +
>  	kref_init(&dev->ref);
>  	dev->dev = parent;
>  	dev->driver = driver;
> @@ -506,9 +506,7 @@ int drm_dev_init(struct drm_device *dev,
>  		}
>  	}
>  
> -	/* Use the parent device name as DRM device unique identifier, but fall
> -	 * back to the driver name for virtual devices like vgem. */
> -	ret = drm_dev_set_unique(dev, parent ? dev_name(parent) : driver->name);
> +	ret = drm_dev_set_unique(dev, dev_name(parent));
>  	if (ret)
>  		goto err_setunique;
>  
> -- 
> 2.16.0
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list