RE: [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit
>-Original Message- >From: dri-devel On Behalf Of >Bernard Zhao >Sent: Thursday, May 7, 2020 5:13 AM >To: Alex Deucher ; Christian König >; David (ChunMing) Zhou >; David Airlie ; Daniel Vetter >; Tom St Denis ; Sam Ravnborg >; Ori Messinger ; Bernard >Zhao ; amd-...@lists.freedesktop.org; dri- >de...@lists.freedesktop.org; linux-kernel@vger.kernel.org >Cc: opensource.ker...@vivo.com >Subject: [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit > >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 > >Changes since V1: >*Use DEVICE_ATTR mechanism > >Link for V1: >*https://lore.kernel.org/patchwork/patch/1228076/ >--- > 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"); This looks good to me. I think that there is a new error macro (drm_err?) that you might want to use instead of DRM_ERROR(). Otherwise: Acked-by: Michael J. Ruhl m > > 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; > } > >-- >2.26.2 > >___ >dri-devel mailing list >dri-de...@lists.freedesktop.org >https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit
On Thu, May 7, 2020 at 5:22 AM Christian König wrote: > > 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 > > Reviewed-by: Christian König > Applied with a minor change to make the array const to fix the build. Alex > > > > Changes since V1: > > *Use DEVICE_ATTR mechanism > > > > Link for V1: > > *https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Fpatchwork%2Fpatch%2F1228076%2F&data=02%7C01%7Cchristian.koenig%40amd.com%7C073b9043be5346b3c90c08d7f266e6fb%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637244396096735223&sdata=PjFsYvmw2pvVisZ6TzMqOyoSr0m3DsFN%2F0q%2B%2FfBxACg%3D&reserved=0 > > --- > > 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; > > } > > > > ___ > amd-gfx mailing list > amd-...@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit
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 Reviewed-by: Christian König Changes since V1: *Use DEVICE_ATTR mechanism Link for V1: *https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Fpatchwork%2Fpatch%2F1228076%2F&data=02%7C01%7Cchristian.koenig%40amd.com%7C073b9043be5346b3c90c08d7f266e6fb%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637244396096735223&sdata=PjFsYvmw2pvVisZ6TzMqOyoSr0m3DsFN%2F0q%2B%2FfBxACg%3D&reserved=0 --- 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; }