forked from mirrors/linux
		
	drm: BUG_ON if passing NULL parent to drm_dev_init
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. v2: rebase, silence checkpatch "== NULL" warning Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Deepak Sharma <deepak.sharma@amd.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20181023163550.15211-2-emil.l.velikov@gmail.com
This commit is contained in:
		
							parent
							
								
									d5c04dff24
								
							
						
					
					
						commit
						f08877e794
					
				
					 1 changed files with 3 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -476,8 +476,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
 | 
			
		||||
| 
						 | 
				
			
			@ -502,6 +500,8 @@ int drm_dev_init(struct drm_device *dev,
 | 
			
		|||
		return -ENODEV;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	BUG_ON(!parent);
 | 
			
		||||
 | 
			
		||||
	kref_init(&dev->ref);
 | 
			
		||||
	dev->dev = parent;
 | 
			
		||||
	dev->driver = driver;
 | 
			
		||||
| 
						 | 
				
			
			@ -556,9 +556,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;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue