Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm: use dev_name as default unique name in drm_dev_alloc()

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@m4x.org>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

authored by

Nicolas Iooss and committed by
Daniel Vetter
e112e593 399368aa

+9 -16
-4
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
··· 738 738 if (!ddev) 739 739 return -ENOMEM; 740 740 741 - ret = drm_dev_set_unique(ddev, dev_name(ddev->dev)); 742 - if (ret) 743 - goto err_unref; 744 - 745 741 ret = atmel_hlcdc_dc_load(ddev); 746 742 if (ret) 747 743 goto err_unref;
+9
drivers/gpu/drm/drm_drv.c
··· 633 633 } 634 634 } 635 635 636 + if (parent) { 637 + ret = drm_dev_set_unique(dev, dev_name(parent)); 638 + if (ret) 639 + goto err_setunique; 640 + } 641 + 636 642 return dev; 637 643 644 + err_setunique: 645 + if (drm_core_check_feature(dev, DRIVER_GEM)) 646 + drm_gem_destroy(dev); 638 647 err_ctxbitmap: 639 648 drm_legacy_ctxbitmap_cleanup(dev); 640 649 drm_ht_remove(&dev->map_hash);
-1
drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
··· 363 363 fsl_dev->np = dev->of_node; 364 364 drm->dev_private = fsl_dev; 365 365 dev_set_drvdata(dev, fsl_dev); 366 - drm_dev_set_unique(drm, dev_name(dev)); 367 366 368 367 ret = drm_dev_register(drm, 0); 369 368 if (ret < 0)
-4
drivers/gpu/drm/nouveau/nouveau_drm.c
··· 1046 1046 goto err_free; 1047 1047 } 1048 1048 1049 - err = drm_dev_set_unique(drm, dev_name(&pdev->dev)); 1050 - if (err < 0) 1051 - goto err_free; 1052 - 1053 1049 drm->platformdev = pdev; 1054 1050 platform_set_drvdata(pdev, drm); 1055 1051
-4
drivers/gpu/drm/rockchip/rockchip_drm_drv.c
··· 450 450 if (!drm) 451 451 return -ENOMEM; 452 452 453 - ret = drm_dev_set_unique(drm, dev_name(dev)); 454 - if (ret) 455 - goto err_free; 456 - 457 453 ret = drm_dev_register(drm, 0); 458 454 if (ret) 459 455 goto err_free;
-1
drivers/gpu/drm/tegra/drm.c
··· 991 991 if (!drm) 992 992 return -ENOMEM; 993 993 994 - drm_dev_set_unique(drm, dev_name(&dev->dev)); 995 994 dev_set_drvdata(&dev->dev, drm); 996 995 997 996 err = drm_dev_register(drm, 0);
-2
drivers/gpu/drm/vc4/vc4_drv.c
··· 184 184 vc4->dev = drm; 185 185 drm->dev_private = vc4; 186 186 187 - drm_dev_set_unique(drm, dev_name(dev)); 188 - 189 187 vc4_bo_cache_init(drm); 190 188 191 189 drm_mode_config_init(drm);