Am 07.05.20 um 11:13 schrieb Bernard Zhao:
There is DEVICE_ATTR mechanism in separate attribute define. So this change is to use attr array, also use sysfs_create_files in init function & sysfs_remove_files in fini function. This maybe make the code a bit readable.
Signed-off-by: Bernard Zhao bernard@vivo.com
Reviewed-by: Christian König christian.koenig@amd.com
Changes since V1: *Use DEVICE_ATTR mechanism
Link for V1:
*https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kerne...
drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c | 43 ++++++-------------- 1 file changed, 13 insertions(+), 30 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c index 82a3299e53c0..57bbc70662ff 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c @@ -148,6 +148,15 @@ static DEVICE_ATTR(mem_info_vis_vram_used, S_IRUGO, static DEVICE_ATTR(mem_info_vram_vendor, S_IRUGO, amdgpu_mem_info_vram_vendor, NULL);
+static struct attribute *amdgpu_vram_mgr_attributes[] = {
- &dev_attr_mem_info_vram_total.attr,
- &dev_attr_mem_info_vis_vram_total.attr,
- &dev_attr_mem_info_vram_used.attr,
- &dev_attr_mem_info_vis_vram_used.attr,
- &dev_attr_mem_info_vram_vendor.attr,
- NULL
+};
- /**
- amdgpu_vram_mgr_init - init VRAM manager and DRM MM
@@ -172,31 +181,9 @@ static int amdgpu_vram_mgr_init(struct ttm_mem_type_manager *man, man->priv = mgr;
/* Add the two VRAM-related sysfs files */
- ret = device_create_file(adev->dev, &dev_attr_mem_info_vram_total);
- if (ret) {
DRM_ERROR("Failed to create device file mem_info_vram_total\n");
return ret;
- }
- ret = device_create_file(adev->dev, &dev_attr_mem_info_vis_vram_total);
- if (ret) {
DRM_ERROR("Failed to create device file mem_info_vis_vram_total\n");
return ret;
- }
- ret = device_create_file(adev->dev, &dev_attr_mem_info_vram_used);
- if (ret) {
DRM_ERROR("Failed to create device file mem_info_vram_used\n");
return ret;
- }
- ret = device_create_file(adev->dev, &dev_attr_mem_info_vis_vram_used);
- if (ret) {
DRM_ERROR("Failed to create device file mem_info_vis_vram_used\n");
return ret;
- }
- ret = device_create_file(adev->dev, &dev_attr_mem_info_vram_vendor);
- if (ret) {
DRM_ERROR("Failed to create device file mem_info_vram_vendor\n");
return ret;
- }
ret = sysfs_create_files(&adev->dev->kobj, amdgpu_vram_mgr_attributes);
if (ret)
DRM_ERROR("Failed to register sysfs\n");
return 0; }
@@ -219,11 +206,7 @@ static int amdgpu_vram_mgr_fini(struct ttm_mem_type_manager *man) spin_unlock(&mgr->lock); kfree(mgr); man->priv = NULL;
- device_remove_file(adev->dev, &dev_attr_mem_info_vram_total);
- device_remove_file(adev->dev, &dev_attr_mem_info_vis_vram_total);
- device_remove_file(adev->dev, &dev_attr_mem_info_vram_used);
- device_remove_file(adev->dev, &dev_attr_mem_info_vis_vram_used);
- device_remove_file(adev->dev, &dev_attr_mem_info_vram_vendor);
- sysfs_remove_files(&adev->dev->kobj, amdgpu_vram_mgr_attributes); return 0; }