Message ID | 20210523172304.3033229-1-linux@roeck-us.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] drm/i915/gem: Use list_entry to access list members | expand |
On 2021.05.23 10:23:04 -0700, Guenter Roeck wrote: > Use list_entry() instead of container_of() to access list members. > Also drop unnecessary and misleading NULL checks on the result of > list_entry(). > > Signed-off-by: Guenter Roeck <linux@roeck-us.net> > --- > v2: Checkpatch fixes: > - Fix alignment > - Replace comparison against NULL with ! > > drivers/gpu/drm/i915/gvt/dmabuf.c | 18 +++++------------- > 1 file changed, 5 insertions(+), 13 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gvt/dmabuf.c b/drivers/gpu/drm/i915/gvt/dmabuf.c > index d4f883f35b95..e3f488681484 100644 > --- a/drivers/gpu/drm/i915/gvt/dmabuf.c > +++ b/drivers/gpu/drm/i915/gvt/dmabuf.c > @@ -148,8 +148,7 @@ static void dmabuf_gem_object_free(struct kref *kref) > > if (vgpu && vgpu->active && !list_empty(&vgpu->dmabuf_obj_list_head)) { > list_for_each(pos, &vgpu->dmabuf_obj_list_head) { > - dmabuf_obj = container_of(pos, > - struct intel_vgpu_dmabuf_obj, list); > + dmabuf_obj = list_entry(pos, struct intel_vgpu_dmabuf_obj, list); > if (dmabuf_obj == obj) { > list_del(pos); > intel_gvt_hypervisor_put_vfio_device(vgpu); > @@ -357,10 +356,8 @@ pick_dmabuf_by_info(struct intel_vgpu *vgpu, > struct intel_vgpu_dmabuf_obj *ret = NULL; > > list_for_each(pos, &vgpu->dmabuf_obj_list_head) { > - dmabuf_obj = container_of(pos, struct intel_vgpu_dmabuf_obj, > - list); > - if ((dmabuf_obj == NULL) || > - (dmabuf_obj->info == NULL)) > + dmabuf_obj = list_entry(pos, struct intel_vgpu_dmabuf_obj, list); > + if (!dmabuf_obj->info) > continue; > > fb_info = (struct intel_vgpu_fb_info *)dmabuf_obj->info; > @@ -387,11 +384,7 @@ pick_dmabuf_by_num(struct intel_vgpu *vgpu, u32 id) > struct intel_vgpu_dmabuf_obj *ret = NULL; > > list_for_each(pos, &vgpu->dmabuf_obj_list_head) { > - dmabuf_obj = container_of(pos, struct intel_vgpu_dmabuf_obj, > - list); > - if (!dmabuf_obj) > - continue; > - > + dmabuf_obj = list_entry(pos, struct intel_vgpu_dmabuf_obj, list); > if (dmabuf_obj->dmabuf_id == id) { > ret = dmabuf_obj; > break; > @@ -600,8 +593,7 @@ void intel_vgpu_dmabuf_cleanup(struct intel_vgpu *vgpu) > > mutex_lock(&vgpu->dmabuf_lock); > list_for_each_safe(pos, n, &vgpu->dmabuf_obj_list_head) { > - dmabuf_obj = container_of(pos, struct intel_vgpu_dmabuf_obj, > - list); > + dmabuf_obj = list_entry(pos, struct intel_vgpu_dmabuf_obj, list); > dmabuf_obj->vgpu = NULL; > > idr_remove(&vgpu->object_idr, dmabuf_obj->dmabuf_id); > -- Sorry for late reply! Looks good to me. Reviewed-by: Zhenyu Wang <zhenyuw@linux.intel.com>
diff --git a/drivers/gpu/drm/i915/gvt/dmabuf.c b/drivers/gpu/drm/i915/gvt/dmabuf.c index d4f883f35b95..e3f488681484 100644 --- a/drivers/gpu/drm/i915/gvt/dmabuf.c +++ b/drivers/gpu/drm/i915/gvt/dmabuf.c @@ -148,8 +148,7 @@ static void dmabuf_gem_object_free(struct kref *kref) if (vgpu && vgpu->active && !list_empty(&vgpu->dmabuf_obj_list_head)) { list_for_each(pos, &vgpu->dmabuf_obj_list_head) { - dmabuf_obj = container_of(pos, - struct intel_vgpu_dmabuf_obj, list); + dmabuf_obj = list_entry(pos, struct intel_vgpu_dmabuf_obj, list); if (dmabuf_obj == obj) { list_del(pos); intel_gvt_hypervisor_put_vfio_device(vgpu); @@ -357,10 +356,8 @@ pick_dmabuf_by_info(struct intel_vgpu *vgpu, struct intel_vgpu_dmabuf_obj *ret = NULL; list_for_each(pos, &vgpu->dmabuf_obj_list_head) { - dmabuf_obj = container_of(pos, struct intel_vgpu_dmabuf_obj, - list); - if ((dmabuf_obj == NULL) || - (dmabuf_obj->info == NULL)) + dmabuf_obj = list_entry(pos, struct intel_vgpu_dmabuf_obj, list); + if (!dmabuf_obj->info) continue; fb_info = (struct intel_vgpu_fb_info *)dmabuf_obj->info; @@ -387,11 +384,7 @@ pick_dmabuf_by_num(struct intel_vgpu *vgpu, u32 id) struct intel_vgpu_dmabuf_obj *ret = NULL; list_for_each(pos, &vgpu->dmabuf_obj_list_head) { - dmabuf_obj = container_of(pos, struct intel_vgpu_dmabuf_obj, - list); - if (!dmabuf_obj) - continue; - + dmabuf_obj = list_entry(pos, struct intel_vgpu_dmabuf_obj, list); if (dmabuf_obj->dmabuf_id == id) { ret = dmabuf_obj; break; @@ -600,8 +593,7 @@ void intel_vgpu_dmabuf_cleanup(struct intel_vgpu *vgpu) mutex_lock(&vgpu->dmabuf_lock); list_for_each_safe(pos, n, &vgpu->dmabuf_obj_list_head) { - dmabuf_obj = container_of(pos, struct intel_vgpu_dmabuf_obj, - list); + dmabuf_obj = list_entry(pos, struct intel_vgpu_dmabuf_obj, list); dmabuf_obj->vgpu = NULL; idr_remove(&vgpu->object_idr, dmabuf_obj->dmabuf_id);
Use list_entry() instead of container_of() to access list members. Also drop unnecessary and misleading NULL checks on the result of list_entry(). Signed-off-by: Guenter Roeck <linux@roeck-us.net> --- v2: Checkpatch fixes: - Fix alignment - Replace comparison against NULL with ! drivers/gpu/drm/i915/gvt/dmabuf.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-)