[PATCH 10/16] drm: Don't call drm_dev_set_unique from platform drivers

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri Jun 17 11:12:09 UTC 2016


Hi Daniel,

Thank you for the patch.

On Friday 17 Jun 2016 09:33:28 Daniel Vetter wrote:
> Since
> 
> 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()
> 
> we're using a reasonable default which should work for everyone. Only
> mtk, rcar-du and sun4i are affected, and as kms-only drivers without
> any rendering support no one should ever care about the unique name
> 
> v2: Rebase on top of mediatek.
> 
> Cc: Philipp Zabel <p.zabel at pengutronix.de>
> Cc: Maxime Ripard <maxime.ripard at free-electrons.com>
> Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> Cc: Emil Velikov <emil.l.velikov at gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

> ---
>  drivers/gpu/drm/drm_drv.c              | 35 +++++++++---------------------
>  drivers/gpu/drm/mediatek/mtk_drm_drv.c |  2 --
>  drivers/gpu/drm/rcar-du/rcar_du_drv.c  |  2 --
>  drivers/gpu/drm/sun4i/sun4i_drv.c      |  4 ----
>  include/drm/drmP.h                     |  1 -
>  5 files changed, 11 insertions(+), 33 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> index ecba2511ef5a..25f10586a74d 100644
> --- a/drivers/gpu/drm/drm_drv.c
> +++ b/drivers/gpu/drm/drm_drv.c
> @@ -298,10 +298,9 @@ void drm_minor_release(struct drm_minor *minor)
>   * callbacks implemented by the driver. The driver then needs to initialize
> all * the various subsystems for the drm device like memory management,
> vblank * handling, modesetting support and intial output configuration plus
> obviously - * initialize all the corresponding hardware bits. An important
> part of this is - * also calling drm_dev_set_unique() to set the
> userspace-visible unique name of - * this device instance. Finally when
> everything is up and running and ready for - * userspace the device
> instance can be published using drm_dev_register(). + * initialize all the
> corresponding hardware bits. Finally when everything is up + * and running
> and ready for userspace the device instance can be published + * using
> drm_dev_register().
>   *
>   * There is also deprecated support for initalizing device instances using
>   * bus-specific helpers and the ->load() callback. But due to
> @@ -323,6 +322,14 @@ void drm_minor_release(struct drm_minor *minor)
>   * dev_priv field of &drm_device.
>   */
> 
> +static int drm_dev_set_unique(struct drm_device *dev, const char *name)
> +{
> +	kfree(dev->unique);
> +	dev->unique = kstrdup(name, GFP_KERNEL);
> +
> +	return dev->unique ? 0 : -ENOMEM;
> +}
> +
>  /**
>   * drm_put_dev - Unregister and release a DRM device
>   * @dev: DRM device
> @@ -697,26 +704,6 @@ void drm_dev_unregister(struct drm_device *dev)
>  }
>  EXPORT_SYMBOL(drm_dev_unregister);
> 
> -/**
> - * drm_dev_set_unique - Set the unique name of a DRM device
> - * @dev: device of which to set the unique name
> - * @name: unique name
> - *
> - * Sets the unique name of a DRM device using the specified string. Drivers
> - * can use this at driver probe time if the unique name of the devices
> they - * drive is static.
> - *
> - * Return: 0 on success or a negative error code on failure.
> - */
> -int drm_dev_set_unique(struct drm_device *dev, const char *name)
> -{
> -	kfree(dev->unique);
> -	dev->unique = kstrdup(name, GFP_KERNEL);
> -
> -	return dev->unique ? 0 : -ENOMEM;
> -}
> -EXPORT_SYMBOL(drm_dev_set_unique);
> -
>  /*
>   * DRM Core
>   * The DRM core module initializes all global DRM objects and makes them
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> b/drivers/gpu/drm/mediatek/mtk_drm_drv.c index c33bf98c5d5e..04e901a80234
> 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> @@ -280,8 +280,6 @@ static int mtk_drm_bind(struct device *dev)
>  	if (!drm)
>  		return -ENOMEM;
> 
> -	drm_dev_set_unique(drm, dev_name(dev));
> -
>  	drm->dev_private = private;
>  	private->drm = drm;
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> b/drivers/gpu/drm/rcar-du/rcar_du_drv.c index 48ec4b6e8b26..8784208d8eed
> 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> @@ -320,8 +320,6 @@ static int rcar_du_probe(struct platform_device *pdev)
>  	if (!ddev)
>  		return -ENOMEM;
> 
> -	drm_dev_set_unique(ddev, dev_name(&pdev->dev));
> -
>  	rcdu->ddev = ddev;
>  	ddev->dev_private = rcdu;
> 
> diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c
> b/drivers/gpu/drm/sun4i/sun4i_drv.c index 68e9d85085fb..5c4b4ad17ad3 100644
> --- a/drivers/gpu/drm/sun4i/sun4i_drv.c
> +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
> @@ -135,10 +135,6 @@ static int sun4i_drv_bind(struct device *dev)
>  	if (!drm)
>  		return -ENOMEM;
> 
> -	ret = drm_dev_set_unique(drm, dev_name(drm->dev));
> -	if (ret)
> -		goto free_drm;
> -
>  	drv = devm_kzalloc(dev, sizeof(*drv), GFP_KERNEL);
>  	if (!drv) {
>  		ret = -ENOMEM;
> diff --git a/include/drm/drmP.h b/include/drm/drmP.h
> index 62e0e70cb5a2..bd40d7ee5ec5 100644
> --- a/include/drm/drmP.h
> +++ b/include/drm/drmP.h
> @@ -1073,7 +1073,6 @@ void drm_dev_ref(struct drm_device *dev);
>  void drm_dev_unref(struct drm_device *dev);
>  int drm_dev_register(struct drm_device *dev, unsigned long flags);
>  void drm_dev_unregister(struct drm_device *dev);
> -int drm_dev_set_unique(struct drm_device *dev, const char *name);
> 
>  struct drm_minor *drm_minor_acquire(unsigned int minor_id);
>  void drm_minor_release(struct drm_minor *minor);

-- 
Regards,

Laurent Pinchart



More information about the dri-devel mailing list