Message ID | 20180328012451.31479-2-emil.l.velikov@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Mar 28, 2018 at 02:24:49AM +0100, Emil Velikov wrote: > From: Emil Velikov <emil.velikov@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@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> > --- > 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 >
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;