drm/i915/gvt: Use list_entry to access list members
authorGuenter Roeck <linux@roeck-us.net>
Sun, 23 May 2021 17:23:04 +0000 (10:23 -0700)
committerZhi Wang <zhi.a.wang@intel.com>
Wed, 12 Jan 2022 07:52:27 +0000 (02:52 -0500)
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>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20210523172304.3033229-1-linux@roeck-us.net
Reviewed-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Signed-off-by: Zhi Wang <zhi.a.wang@intel.com>
drivers/gpu/drm/i915/gvt/dmabuf.c

index 8e65cd8..ebe1ecd 100644 (file)
@@ -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);