From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_NONE autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5C633C47080 for ; Tue, 1 Jun 2021 08:47:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4154761375 for ; Tue, 1 Jun 2021 08:47:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233700AbhFAItd (ORCPT ); Tue, 1 Jun 2021 04:49:33 -0400 Received: from mga04.intel.com ([192.55.52.120]:14824 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233740AbhFAIt1 (ORCPT ); Tue, 1 Jun 2021 04:49:27 -0400 IronPort-SDR: oDX2CV2AxwF6Jru6iacTS1bTpCsVC2Y9zmpbJd45gnnycxe/vOk5hYXDElPFJhZiNgXXMZN9OO 1P0e/DgmKwJw== X-IronPort-AV: E=McAfee;i="6200,9189,10001"; a="201635972" X-IronPort-AV: E=Sophos;i="5.83,239,1616482800"; d="asc'?scan'208";a="201635972" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Jun 2021 01:47:46 -0700 IronPort-SDR: LxtEFyZT6oTvdwGLVd1a0Onta12b4d1TAxSK0eoTLxy8TUX2UjkylYbL6xaqoHIiknf/mJHAWA +y7Jka9r+yOA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,239,1616482800"; d="asc'?scan'208";a="474169308" Received: from zhen-hp.sh.intel.com (HELO zhen-hp) ([10.239.160.143]) by FMSMGA003.fm.intel.com with ESMTP; 01 Jun 2021 01:47:44 -0700 Date: Tue, 1 Jun 2021 16:28:04 +0800 From: Zhenyu Wang To: Guenter Roeck Cc: David Airlie , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Jani Nikula , Daniel Vetter , intel-gvt-dev@lists.freedesktop.org Subject: Re: [PATCH v2] drm/i915/gem: Use list_entry to access list members Message-ID: <20210601082804.GS27293@zhen-hp.sh.intel.com> Reply-To: Zhenyu Wang References: <20210523172304.3033229-1-linux@roeck-us.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Bqc0IY4JZZt50bUr" Content-Disposition: inline In-Reply-To: <20210523172304.3033229-1-linux@roeck-us.net> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --Bqc0IY4JZZt50bUr Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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(). >=20 > Signed-off-by: Guenter Roeck > --- > v2: Checkpatch fixes: > - Fix alignment > - Replace comparison against NULL with ! >=20 > drivers/gpu/drm/i915/gvt/dmabuf.c | 18 +++++------------- > 1 file changed, 5 insertions(+), 13 deletions(-) >=20 > 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) > =20 > if (vgpu && vgpu->active && !list_empty(&vgpu->dmabuf_obj_list_head)) { > list_for_each(pos, &vgpu->dmabuf_obj_list_head) { > - dmabuf_obj =3D container_of(pos, > - struct intel_vgpu_dmabuf_obj, list); > + dmabuf_obj =3D list_entry(pos, struct intel_vgpu_dmabuf_obj, list); > if (dmabuf_obj =3D=3D 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 =3D NULL; > =20 > list_for_each(pos, &vgpu->dmabuf_obj_list_head) { > - dmabuf_obj =3D container_of(pos, struct intel_vgpu_dmabuf_obj, > - list); > - if ((dmabuf_obj =3D=3D NULL) || > - (dmabuf_obj->info =3D=3D NULL)) > + dmabuf_obj =3D list_entry(pos, struct intel_vgpu_dmabuf_obj, list); > + if (!dmabuf_obj->info) > continue; > =20 > fb_info =3D (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 =3D NULL; > =20 > list_for_each(pos, &vgpu->dmabuf_obj_list_head) { > - dmabuf_obj =3D container_of(pos, struct intel_vgpu_dmabuf_obj, > - list); > - if (!dmabuf_obj) > - continue; > - > + dmabuf_obj =3D list_entry(pos, struct intel_vgpu_dmabuf_obj, list); > if (dmabuf_obj->dmabuf_id =3D=3D id) { > ret =3D dmabuf_obj; > break; > @@ -600,8 +593,7 @@ void intel_vgpu_dmabuf_cleanup(struct intel_vgpu *vgp= u) > =20 > mutex_lock(&vgpu->dmabuf_lock); > list_for_each_safe(pos, n, &vgpu->dmabuf_obj_list_head) { > - dmabuf_obj =3D container_of(pos, struct intel_vgpu_dmabuf_obj, > - list); > + dmabuf_obj =3D list_entry(pos, struct intel_vgpu_dmabuf_obj, list); > dmabuf_obj->vgpu =3D NULL; > =20 > idr_remove(&vgpu->object_idr, dmabuf_obj->dmabuf_id); > --=20 Sorry for late reply! Looks good to me. Reviewed-by: Zhenyu Wang --Bqc0IY4JZZt50bUr Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iF0EARECAB0WIQTXuabgHDW6LPt9CICxBBozTXgYJwUCYLXviAAKCRCxBBozTXgY JwG7AJ9Pr/tLAdoR3m14OG9PG9UnCCEW9gCcDSBRdzRBnLpNffd7NifoU6gF4+0= =aKMJ -----END PGP SIGNATURE----- --Bqc0IY4JZZt50bUr--