drm/amd/amdxcp: Use unique name for partition dev
authorLijo Lazar <lijo.lazar@amd.com>
Tue, 30 Apr 2024 11:23:16 +0000 (16:53 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 2 May 2024 19:43:55 +0000 (15:43 -0400)
amdxcp is a platform driver for creating partition devices. libdrm
library identifies a platform device based on 'OF_FULLNAME' or
'MODALIAS'. If two or more devices have the same platform name, drm
library only picks the first device. Platform driver core uses name of
the device to populate 'MODALIAS'. When 'amdgpu_xcp' is used as the base
name, only first partition device gets identified. Assign unique name so
that drm library identifies partition devices separately.

amdxcp doesn't support probe of partitions, it doesn't bother about
modaliases.

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: James Zhu <James.Zhu@amd.com>
Reviewed-by: Asad Kamal <asad.kamal@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdxcp/amdgpu_xcp_drv.c

index 90ddd8371176eeae16dda3cf041fb26bd5fde433..b4131053b31b153583cbc29bc3937b9530755121 100644 (file)
@@ -50,12 +50,14 @@ int amdgpu_xcp_drm_dev_alloc(struct drm_device **ddev)
 {
        struct platform_device *pdev;
        struct xcp_device *pxcp_dev;
+       char dev_name[20];
        int ret;
 
        if (pdev_num >= MAX_XCP_PLATFORM_DEVICE)
                return -ENODEV;
 
-       pdev = platform_device_register_simple("amdgpu_xcp", pdev_num, NULL, 0);
+       snprintf(dev_name, sizeof(dev_name), "amdgpu_xcp_%d", pdev_num);
+       pdev = platform_device_register_simple(dev_name, -1, NULL, 0);
        if (IS_ERR(pdev))
                return PTR_ERR(pdev);