Re: [PATCH] gpu: drm: Use list_first_entry instead of list_entry

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mhm, actually that patch isn't correct. What we grab get here is the next entry, not the first one.

We don't have an alias list_next_entry for list_first_entry?

Regards,
Christian.

Am 18.03.2018 um 22:51 schrieb Arushi Singhal:
This patch replaces list_entry with list_first_entry as it makes the
code more clear.
Done using coccinelle:

@@
expression e;
@@
(
- list_entry(e->next,
+ list_first_entry(e,
   ...)
|
- list_entry(e->prev,
+ list_last_entry(e,
   ...)
)

Signed-off-by: Arushi Singhal <arushisinghal19971997@xxxxxxxxx>
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c | 4 ++--
  drivers/gpu/drm/omapdrm/dss/display.c  | 4 ++--
  drivers/gpu/drm/radeon/radeon_sa.c     | 4 ++--
  3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
index 3144400..646f593 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
@@ -158,7 +158,7 @@ static void amdgpu_sa_bo_try_free(struct amdgpu_sa_manager *sa_manager)
  	if (sa_manager->hole->next == &sa_manager->olist)
  		return;
- sa_bo = list_entry(sa_manager->hole->next, struct amdgpu_sa_bo, olist);
+	sa_bo = list_first_entry(sa_manager->hole, struct amdgpu_sa_bo, olist);
  	list_for_each_entry_safe_from(sa_bo, tmp, &sa_manager->olist, olist) {
  		if (sa_bo->fence == NULL ||
  		    !dma_fence_is_signaled(sa_bo->fence)) {
@@ -183,7 +183,7 @@ static inline unsigned amdgpu_sa_bo_hole_eoffset(struct amdgpu_sa_manager *sa_ma
  	struct list_head *hole = sa_manager->hole;
if (hole->next != &sa_manager->olist) {
-		return list_entry(hole->next, struct amdgpu_sa_bo, olist)->soffset;
+		return list_first_entry(hole, struct amdgpu_sa_bo, olist)->soffset;
  	}
  	return sa_manager->size;
  }
diff --git a/drivers/gpu/drm/omapdrm/dss/display.c b/drivers/gpu/drm/omapdrm/dss/display.c
index 0c9480b..fb9ecae 100644
--- a/drivers/gpu/drm/omapdrm/dss/display.c
+++ b/drivers/gpu/drm/omapdrm/dss/display.c
@@ -158,8 +158,8 @@ struct omap_dss_device *omap_dss_get_next_device(struct omap_dss_device *from)
  				goto out;
  			}
- dssdev = list_entry(l->next, struct omap_dss_device,
-					panel_list);
+			dssdev = list_first_entry(l, struct omap_dss_device,
+						  panel_list);
  			omap_dss_get_device(dssdev);
  			goto out;
  		}
diff --git a/drivers/gpu/drm/radeon/radeon_sa.c b/drivers/gpu/drm/radeon/radeon_sa.c
index 197b157..66c0482 100644
--- a/drivers/gpu/drm/radeon/radeon_sa.c
+++ b/drivers/gpu/drm/radeon/radeon_sa.c
@@ -158,7 +158,7 @@ static void radeon_sa_bo_try_free(struct radeon_sa_manager *sa_manager)
  	if (sa_manager->hole->next == &sa_manager->olist)
  		return;
- sa_bo = list_entry(sa_manager->hole->next, struct radeon_sa_bo, olist);
+	sa_bo = list_first_entry(sa_manager->hole, struct radeon_sa_bo, olist);
  	list_for_each_entry_safe_from(sa_bo, tmp, &sa_manager->olist, olist) {
  		if (sa_bo->fence == NULL || !radeon_fence_signaled(sa_bo->fence)) {
  			return;
@@ -182,7 +182,7 @@ static inline unsigned radeon_sa_bo_hole_eoffset(struct radeon_sa_manager *sa_ma
  	struct list_head *hole = sa_manager->hole;
if (hole->next != &sa_manager->olist) {
-		return list_entry(hole->next, struct radeon_sa_bo, olist)->soffset;
+		return list_first_entry(hole, struct radeon_sa_bo, olist)->soffset;
  	}
  	return sa_manager->size;
  }

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux