[PATCH 08/16] drm: Use dev->name as fallback for dev->unique
Emil Velikov
emil.l.velikov at gmail.com
Fri Jun 17 22:25:26 UTC 2016
Hi Daniel,
On 17 June 2016 at 08:33, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> Lots of arm drivers get this wrong and for most arm boards this is the
> right thing actually. And anyway with most loaders you want to chase
> sysfs links anyway to figure out which dri device you want.
>
> This will fix dmesg noise for rockchip and sti.
>
> Also add a fallback to driver->name for entirely virtual drivers like
> vgem.
>
> v2: Rebase on top of
>
> commit e112e593b215c394c0303dbf0534db0928e87967
> Author: Nicolas Iooss <nicolas.iooss_linux at m4x.org>
> Date: Fri Dec 11 11:20:28 2015 +0100
>
> drm: use dev_name as default unique name in drm_dev_alloc()
>
> and simplify a bit. Plus add a comment.
>
> Cc: Ilia Mirkin <imirkin at alum.mit.edu>
> Reported-by: Ilia Mirkin <imirkin at alum.mit.edu>
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
> ---
> drivers/gpu/drm/drm_drv.c | 10 +++++-----
> drivers/gpu/drm/drm_ioctl.c | 8 +-------
> 2 files changed, 6 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> index 10afa2539181..ecba2511ef5a 100644
> --- a/drivers/gpu/drm/drm_drv.c
> +++ b/drivers/gpu/drm/drm_drv.c
> @@ -523,11 +523,11 @@ struct drm_device *drm_dev_alloc(struct drm_driver *driver,
> }
> }
>
> - if (parent) {
> - ret = drm_dev_set_unique(dev, dev_name(parent));
> - if (ret)
> - goto err_setunique;
> - }
> + /* 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);
> + if (ret)
> + goto err_setunique;
>
> return dev;
>
> diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
> index 11eda9050215..83892b6b1e0d 100644
> --- a/drivers/gpu/drm/drm_ioctl.c
> +++ b/drivers/gpu/drm/drm_ioctl.c
> @@ -134,13 +134,7 @@ static int drm_set_busid(struct drm_device *dev, struct drm_file *file_priv)
> drm_unset_busid(dev, master);
> return ret;
> }
> - } else {
> - if (WARN(dev->unique == NULL,
> - "No drm_driver.set_busid() implementation provided by "
> - "%ps. Use drm_dev_set_unique() to set the unique "
> - "name explicitly.", dev->driver))
> - return -EINVAL;
> -
> + } else if (dev->unique) {
With the drm_drv.c hunk in place this will always evaluate to true,
correct ? Hmmm strictly speaking it could be NULL since vgem/platform
devices call drm_dev_set_unique() and only sun4i checks if the
function has failed.
Is it worth dropping the check here or after (alongside) patch 10 ?
-Emil
More information about the dri-devel
mailing list