Re: [PATCH v2 2/2] drm: use dev_name as default unique name in drm_dev_alloc()

From: Daniel Vetter
Date: Tue Dec 15 2015 - 08:10:28 EST


On Fri, Dec 11, 2015 at 11:20:28AM +0100, Nicolas Iooss wrote:
> The following code pattern exists in some DRM drivers:
>
> ddev = drm_dev_alloc(&driver, parent_dev);
> drm_dev_set_unique(ddev, dev_name(parent_dev));
>
> (Sometimes dev_name(ddev->dev) is used, which is the same.)
>
> As suggested in
> http://lists.freedesktop.org/archives/dri-devel/2015-December/096441.html,
> the unique name of a new DRM device can be set as dev_name(parent_dev)
> when parent_dev is not NULL (vgem is a special case).
>
> Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx>
> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>

Pulled these two in, but there's some other drivers floating around and
heading towards 4.5 with which it will conflict. If it's causing too much
trouble I'll drop it again and we have to get it in right around 4.5-rc1
to avoid trouble with new drivers.

Thanks, Daniel

> ---
> drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 4 ----
> drivers/gpu/drm/drm_drv.c | 9 +++++++++
> drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 1 -
> drivers/gpu/drm/nouveau/nouveau_drm.c | 4 ----
> drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 4 ----
> drivers/gpu/drm/tegra/drm.c | 1 -
> drivers/gpu/drm/vc4/vc4_drv.c | 2 --
> 7 files changed, 9 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
> index 244df0a440b7..fba4f72e7ae1 100644
> --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
> +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
> @@ -733,10 +733,6 @@ static int atmel_hlcdc_dc_drm_probe(struct platform_device *pdev)
> if (!ddev)
> return -ENOMEM;
>
> - ret = drm_dev_set_unique(ddev, dev_name(ddev->dev));
> - if (ret)
> - goto err_unref;
> -
> ret = atmel_hlcdc_dc_load(ddev);
> if (ret)
> goto err_unref;
> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> index eaa4316f3c45..bf934cdea21c 100644
> --- a/drivers/gpu/drm/drm_drv.c
> +++ b/drivers/gpu/drm/drm_drv.c
> @@ -633,8 +633,17 @@ 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;
> + }
> +
> return dev;
>
> +err_setunique:
> + if (drm_core_check_feature(dev, DRIVER_GEM))
> + drm_gem_destroy(dev);
> err_ctxbitmap:
> drm_legacy_ctxbitmap_cleanup(dev);
> drm_ht_remove(&dev->map_hash);
> diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
> index 1930234ba5f1..fca97d3fc846 100644
> --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
> +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
> @@ -363,7 +363,6 @@ static int fsl_dcu_drm_probe(struct platform_device *pdev)
> fsl_dev->np = dev->of_node;
> drm->dev_private = fsl_dev;
> dev_set_drvdata(dev, fsl_dev);
> - drm_dev_set_unique(drm, dev_name(dev));
>
> ret = drm_dev_register(drm, 0);
> if (ret < 0)
> diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c
> index 2d23f95f17ce..b3a563c44bcd 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_drm.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
> @@ -1046,10 +1046,6 @@ nouveau_platform_device_create(const struct nvkm_device_tegra_func *func,
> goto err_free;
> }
>
> - err = drm_dev_set_unique(drm, dev_name(&pdev->dev));
> - if (err < 0)
> - goto err_free;
> -
> drm->platformdev = pdev;
> platform_set_drvdata(pdev, drm);
>
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> index 215d6c44af55..afbb7407c44f 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> @@ -450,10 +450,6 @@ static int rockchip_drm_bind(struct device *dev)
> if (!drm)
> return -ENOMEM;
>
> - ret = drm_dev_set_unique(drm, dev_name(dev));
> - if (ret)
> - goto err_free;
> -
> ret = drm_dev_register(drm, 0);
> if (ret)
> goto err_free;
> diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
> index 159ef515cab1..12e2d3ccbc9d 100644
> --- a/drivers/gpu/drm/tegra/drm.c
> +++ b/drivers/gpu/drm/tegra/drm.c
> @@ -991,7 +991,6 @@ static int host1x_drm_probe(struct host1x_device *dev)
> if (!drm)
> return -ENOMEM;
>
> - drm_dev_set_unique(drm, dev_name(&dev->dev));
> dev_set_drvdata(&dev->dev, drm);
>
> err = drm_dev_register(drm, 0);
> diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c
> index d5db9e0f3b73..647772305e8f 100644
> --- a/drivers/gpu/drm/vc4/vc4_drv.c
> +++ b/drivers/gpu/drm/vc4/vc4_drv.c
> @@ -168,8 +168,6 @@ static int vc4_drm_bind(struct device *dev)
> vc4->dev = drm;
> drm->dev_private = vc4;
>
> - drm_dev_set_unique(drm, dev_name(dev));
> -
> drm_mode_config_init(drm);
> if (ret)
> goto unref;
> --
> 2.6.3
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/