Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp3154039pxx; Mon, 2 Nov 2020 01:07:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJyagt1bR1bVJoZU+48zfzEJJvBfbSj52Wzj2HumyinwexG+TXJDy/YLDd75jrYATAflp9/d X-Received: by 2002:a17:906:4dd4:: with SMTP id f20mr13782044ejw.94.1604308042058; Mon, 02 Nov 2020 01:07:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604308042; cv=none; d=google.com; s=arc-20160816; b=lgTfpBWkRzD1OW+L75tu8TbQVJZlSX9S2xGEAyEd+1LYGT9gMnv7gyeao6E7zgfcRA buDd7Ls6efNvvnCLTnNTCJaUz+CSlNIwo+ESaovrTSB1CIgJs9Bn3m+QJaKx7p0LlYTF QFKDazAkiOquWKHiNe3Wjq4Z8at3nX1YoMkLCmcGvGNeueLGoJhGOxpTBZZ1Zpw4RoLj EuR4yLOk0Kob2Mfo5wNqCXapuVOj8jYY5vbm8dq4PtDxi0BWN7f+rkqbhCw2t8judbTF xvUeTkIQp8Qzs55d7OsVM6PvKZxWafToo7TuNmJw+8lN142+LE1jzxZ95FAKUQoFdsKS VTIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:mime-version:user-agent:date :message-id:subject:from:references:to; bh=3W1JcDtTS3ifD6FaV3uoMMS9XkahrJMhJz7fVquamqE=; b=j90hWBctbo201UzPKRMbM5hNOY5JXSh1MK3ZdNBrngeCxpFH8Ti+b78zW/nIDZWldg ioOyBK7xGSiS8IJNLeUnm6PjiCT7qGNNBjkMQitfYCnCB0qCkEpb/PlUvvHd8fCBYatX dkJJCB99CZ621ZdszNGyklWWiwWAsXB2EtV9gL9PnRHG44aUJtc0VctkMKjbzaUEyqQp UHYPOvcwmMJsfDcVPufFD5OeeRbksShGOFOepKwcnKxLP5TUY9EZIfRODF3Qp3zUqaJX KFiQ0e2Edc4IEmSluHF5JW+FNiwpxw1qMqItLRRdVw4ZupqTK8BwWJL9Ht8NFK7ivX2V OKLw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z2si9867603ejr.636.2020.11.02.01.06.58; Mon, 02 Nov 2020 01:07:22 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728217AbgKBJDn (ORCPT + 99 others); Mon, 2 Nov 2020 04:03:43 -0500 Received: from mx2.suse.de ([195.135.220.15]:33660 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728004AbgKBJDn (ORCPT ); Mon, 2 Nov 2020 04:03:43 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id C3E89AF76; Mon, 2 Nov 2020 09:03:40 +0000 (UTC) To: "tiantao (H)" , Tian Tao , airlied@linux.ie, daniel@ffwll.ch, kraxel@redhat.com, alexander.deucher@amd.com, tglx@linutronix.de, dri-devel@lists.freedesktop.org, xinliang.liu@linaro.org, linux-kernel@vger.kernel.org References: <1604050046-64539-1-git-send-email-tiantao6@hisilicon.com> <2dbbbad0-53cf-52cc-3b6b-0d1547f7e085@suse.de> From: Thomas Zimmermann Subject: Re: [PATCH] drm/hisilicon: Remove redundant null check Message-ID: Date: Mon, 2 Nov 2020 10:03:39 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.3 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="nC81PDEybwZjXz3IETPWRNQOHINn0ZgaC" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --nC81PDEybwZjXz3IETPWRNQOHINn0ZgaC Content-Type: multipart/mixed; boundary="o50ajk3HyjBF76lkxY84lrMRnSAvAtvRW"; protected-headers="v1" From: Thomas Zimmermann To: "tiantao (H)" , Tian Tao , airlied@linux.ie, daniel@ffwll.ch, kraxel@redhat.com, alexander.deucher@amd.com, tglx@linutronix.de, dri-devel@lists.freedesktop.org, xinliang.liu@linaro.org, linux-kernel@vger.kernel.org Message-ID: Subject: Re: [PATCH] drm/hisilicon: Remove redundant null check References: <1604050046-64539-1-git-send-email-tiantao6@hisilicon.com> <2dbbbad0-53cf-52cc-3b6b-0d1547f7e085@suse.de> In-Reply-To: --o50ajk3HyjBF76lkxY84lrMRnSAvAtvRW Content-Type: multipart/mixed; boundary="------------4A01C9511A8AC4D5BDE5BE76" Content-Language: en-US This is a multi-part message in MIME format. --------------4A01C9511A8AC4D5BDE5BE76 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Am 02.11.20 um 09:46 schrieb tiantao (H): >=20 >=20 > =E5=9C=A8 2020/11/2 16:32, Thomas Zimmermann =E5=86=99=E9=81=93: >> Hi >> >> Am 30.10.20 um 10:27 schrieb Tian Tao: >>> drm_irq_uninstall can handle the case where dev->irq_enable is false,= >>> so Remove redundant null check. >>> >>> Signed-off-by: Tian Tao >>> --- >>> =C2=A0 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 6 +++--- >>> =C2=A0 1 file changed, 3 insertions(+), 3 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c >>> b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c >>> index 0c1b40d..b71589b1 100644 >>> --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c >>> +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c >>> @@ -246,13 +246,13 @@ static int hibmc_unload(struct drm_device *dev)= >>> =C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 drm_atomic_helper_shutdown(dev)= ; >>> =C2=A0 -=C2=A0=C2=A0=C2=A0 if (dev->irq_enabled) >>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 drm_irq_uninstall(dev); >>> - >>> +=C2=A0=C2=A0=C2=A0 drm_irq_uninstall(dev); >> >> Removing this check would at least result in an error, [1] so rather >> leave it in for now. >> > Now there seems to be no driver to check the return value of > drm_irq_uninstall True. No clean-up code should ever fail. But currently, it's not handled by drm_irq_uninstall(). A better fix would be to have drm_irq_uninstall() return early with a warning if IRQs are disabled. And for most drivers, a managed version of drm_irq_install() would be useful. Best regards Thomas >> Instead, we could discuss if drm_irq_install() should become a managed= >> interface. >=20 > Codes like the following > diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c > index 09d6e9e..572357c 100644 > --- a/drivers/gpu/drm/drm_irq.c > +++ b/drivers/gpu/drm/drm_irq.c > @@ -172,6 +172,9 @@ int drm_irq_uninstall(struct drm_device *dev) > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bool irq_enabled; > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 int i; >=20 > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if(!dev->irq_enabled || !dev) > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 return 0; >=20 >> >> Best regards >> Thomas >> >> [1] >> https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/drm_irq= =2Ec#L201 >> >> >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pci_disable_msi(dev->pdev); >>> + >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 hibmc_kms_fini(priv); >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 hibmc_mm_fini(priv); >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dev->dev_private =3D NULL; >>> + >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return 0; >>> =C2=A0 } >>> =C2=A0 >> >=20 --=20 Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 N=C3=BCrnberg, Germany (HRB 36809, AG N=C3=BCrnberg) Gesch=C3=A4ftsf=C3=BChrer: Felix Imend=C3=B6rffer --------------4A01C9511A8AC4D5BDE5BE76 Content-Type: application/pgp-keys; name="OpenPGP_0x680DC11D530B7A23.asc" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="OpenPGP_0x680DC11D530B7A23.asc" -----BEGIN PGP PUBLIC KEY BLOCK----- xsBNBFs50uABCADEHPidWt974CaxBVbrIBwqcq/WURinJ3+2WlIrKWspiP83vfZKaXhFYsdgX= H47 fDVbPPj+d6tQrw5lPQCyqjwrCPYnq3WlIBnGPJ4/jreTL6V+qfKRDlGLWFjZcsrPJGE0BeB5B= bqP 5erN1qylK9i3gPoQjXGhpBpQYwRrEyQyjuvk+Ev0K1Jc5tVDeJAuau3TGNgah4YchdHm3bkPj= z9E ErV85RwvImQ1dptvx6s7xzwXTgGAsaYZsL8WCwDaTuqFa1d1jjlaxg6+tZsB9GluwvIhSezPg= nEm imZDkGnZRRSFiGP8yjqTjjWuf0bSj5rUnTGiyLyRZRNGcXmu6hjlABEBAAHNKFRob21hcyBaa= W1t ZXJtYW5uIDx0emltbWVybWFubkBzdXNlLmNvbT7CwI4EEwEIADgCGwMFCwkIBwIGFQoJCAsCB= BYC AwECHgECF4AWIQRyF/usjOnPY0ShaOVoDcEdUwt6IwUCXvxIWAAKCRBoDcEdUwt6I+aZB/9ih= Onf G4Lgf1L87cvoXh95/bnaJ6aQhP6/ZeRleuCXflnyDajlm3c9loQr0r2bQUi7JeYwUKbBab2QS= GJm DMRGlLMnmzWB8mHmZ6bHAu+2Sth8SraE42p6BB9d8dlYEID+dl/D/xUBeulfkck5rloGtYqDi= +1Q DfkEZJaxVSZ6FFkXuQi/G9qcI4iklN2nv02iQ7mZe8WYAysix6s/6vIobhirEBreclSNxXqis= p8n 91+v855JC11EgRdUXMRK81IAaCKXP8zLx3ixku7mvP9Om61yerHSbeU2HZbIggZYQlFh6llJm= zF1 CjCWgPTJyk4t4kMTcNOw5ykD47vU/KW+wl0EEBECAB0WIQQn6OOmnzvP/7ktjmoud6EwEfXTw= gUC WzodVwAKCRAud6EwEfXTwidvAKDkOADDHfI0QNXqAZcg6i1kOndAYACeLXHBwpjnumkPSyoab= IiL +he8r3zCwHMEEAEIAB0WIQQeXZghmQijlU7YzFiqUDvJrg9HpwUCWznxsQAKCRCqUDvJrg9Hp= 42f CADIvsZcAd04PDFclRltHr2huy6s7+ZZA6PgYlMblEBh4bJA+dNPBTvzpJ7FJv/bmHOa+phWy= Urj EpfFGuOKGuWAfzgVAEu52fMrW3/mm+O26z1AKIu8hiZ/x9OAe4AM71ZO2lZrV1/53ZdzWnRuO= 45N GQcotU8oeVfT9okAfmozmWMmIMq7Q0K6bV8W3qiD5XfDNxjr2caxc/9WX1bZPUo3n0H23MNaA= Tpy Oz732UtDh6sKUAB1RfzBBd/REbjHD7+quwJGAdRScyDRncX1vNb2+wihy0ipA69XY3bkhR5iD= u5r A9enuiMe6J1IBMI1PZh+vOufB/M6cd2D9RULIJaJwsBzBBABCAAdFiEEuyNtt7Ge78bIRx1op= /N8 GYw5MYEFAls6MrsACgkQp/N8GYw5MYEnLQf/dwqlDJVQL2q+i8FFaqTMAm0n9jLRV6pN8JxFH= j0g voyWUOnQuNdAFgtKd26ZhN8NkLoSMO8E19eBPfLoBIFK5yNNVmRHAZm07MzGbA0uNWINJhmdR= bZM RMh0nneXjcEU/IvUmd8TPFTAd24X2mbzHgcaHMLJSVx1ohd4alRJXHIqDobKmiVwekyPnInJn= zWw iuZUkIotTkQple1PT/dF3S+KtPXBL6ldQ4NkAeCjsz4wnzSa9+VKOxEhiHM0PMzXSbkCMP+4m= Xy9 RMplBw9Dm9hN2PSouBPifIrSodiiSWZYXOEkzLiBAB0frCKR63Dnx9kvjCD9Pz5wLd/70rjqI= c0n VGhvbWFzIFppbW1lcm1hbm4gPHR6aW1tZXJtYW5uQHN1c2UuZGU+wsCOBBMBCAA4AhsDBQsJC= AcC BhUKCQgLAgQWAgMBAh4BAheAFiEEchf7rIzpz2NEoWjlaA3BHVMLeiMFAl78SF4ACgkQaA3BH= VML eiOpGAgAih6C1OnWms/N8eBMC4Q93y/nyywe5vCL22Dr1rwgn6Iw2jOGziJSi7zhY4sEk2NKJ= 5cd lFrx8mP//b+xO4AGffwBD0Vwpf38Hj2Gt0KjpzRYccqqU+tJPO5c0pjI52ZIV3+kOEFvYGfkN= PHE flE+b81T8L2dSXCLtj4WAGUM1rmHn3bCYl+/RwkB+8XnoL5AvrmMcU4Uhb3FJpM4DHExccYkd= eSL ojBppOCztBCUpBx3le+8QPVvAvJDuur4wRmjk3sjKClAwzeqoYyUKcN3JDdb3mt3QcJal9rSh= VEI 7B25IvfmEbs42oGm8GPzPkaNJu3gcska+l5PSTfurNETGsJdBBARAgAdFiEEJ+jjpp87z/+5L= Y5q LnehMBH108IFAls6HVcACgkQLnehMBH108LTkACgjLQdDYMENi6BDjY/gd/LF9lMi8oAnR+o0= FwE Vb1K1tEMQ/1x+k1U6/xgwsBzBBABCAAdFiEEHl2YIZkIo5VO2MxYqlA7ya4PR6cFAls58bMAC= gkQ qlA7ya4PR6cvTAgAzY1N5QMKh8ECRtYcZNmilyV59uHTEY9hAR+203JqWnSGfUKtU7s6xfl5O= NGq DI5rULk4Cw2CEIzg9Sat+/lxn36w2f1tEznS5Vb0gVGWrzDAFjj7tB6MnmCzsNb/S1kgxnqJM= Yor RYQ7uB3Yr2Fdp08FJxN0ipd5YfzaZ6KoSWcRAv4r1R4ZQGuS77URAg7HDOIrBMOVO+HIn7GYQ= qPS 5ZFw5yXbvEtL1c5Y8Zdw1AG2VmEXx78TWQVG3kI8/lQF1QI3yrJ1Rp2x5eK9I0OJihv13IlIW= 3sb QGrj9pxF63kA20ZFaynzFglBGiyxExYvTD0/xKIhzYhj8mtCunPb2cLAcwQQAQgAHRYhBLsjb= bex nu/GyEcdaKfzfBmMOTGBBQJbOjLAAAoJEKfzfBmMOTGBBoMIALIW4EtBY28tPwZMOpN/+ARPO= a2g Qzpivw7iNtiDTnGIXMCoxly1CybfMdqTHYmuKbEO9AlFAlDOnkgInsn8E65IvgUTVI95Ah+Ob= iPI FkYc/9a+AexPl7f5kI9489k77eKtqtMpWFpo/vROmRroSw4JnM7ovwPq1QOSHExfTKbLunzD1= i3V 4PShSZ6bGsp1LW6Wk0lRMHDuAk3xsyjBWfJwSbrCe3E6OsLG7BuQqEUt2fR6NxdDRSR9tQUp9= Tri AYG5LndmUzxeU6FAQjD8Wt1ezOFH5ODcCDXfRyYmE6uCGA4EvO8l9R3o68NPlUjPRAZsCbxJa= UAg iazX1nyQGwvOwE0EWznS4AEIAMYmP4M/V+T5RY5at/g7rUdNsLhWv1APYrh9RQefODYHrNRHU= E9e osYbT6XMryR9hT8XlGOYRwKWwiQBoWSDiTMo/Xi29jUnn4BXfI2px2DTXwc22LKtLAgTRjP+q= bU6 3Y0xnQN29UGDbYgyyK51DW3H0If2a3JNsheAAK+Xc9baj0LGIc8T9uiEWHBnCH+RdhgATnWWG= KdD egUR5BkDfDg5O/FISymJBHx2Dyoklv5g4BzkgqTqwmaYzsl8UxZKvbaxq0zbehDda8lvhFXod= NFM AgTLJlLuDYOGLK2AwbrS3Sp0AEbkpdJBb44qVlGm5bApZouHeJ/+n+7r12+lqdsAEQEAAcLAf= AQY AQgAJhYhBHIX+6yM6c9jRKFo5WgNwR1TC3ojBQJbOdLgAhsMBQkDwmcAAAoJEGgNwR1TC3ojp= fcI AInwP5OlcEKokTnHCiDTz4Ony4GnHRP2fXATQZCKxmu4AJY2h9ifw9Nf2TjCZ6AMvC3thAN0r= FDj 55N9l4s1CpaDo4J+0fkrHuyNacnT206CeJV1E7NYntxUn+LSiRrOdywn6erjxRi9EYTVLCHcD= hBE jKmFZfg4AM4GZMWX1lg0+eHbd5oL1as28WvvI/uIaMyV8RbyXot1r/8QLlWldU3NrTF5p7TMU= 2y3 ZH2mf5suSKHAMtbE4jKJ8ZHFOo3GhLgjVrBWHE9JXO08xKkgD+w6v83+nomsEuf6C6LYrqY/t= sZv yEX6zN8CtirPdPWu/VXNRYAl/lat7lSI3H26qrE=3D =3DmxFq -----END PGP PUBLIC KEY BLOCK----- --------------4A01C9511A8AC4D5BDE5BE76-- --o50ajk3HyjBF76lkxY84lrMRnSAvAtvRW-- --nC81PDEybwZjXz3IETPWRNQOHINn0ZgaC Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wsB5BAABCAAjFiEEchf7rIzpz2NEoWjlaA3BHVMLeiMFAl+fy2sFAwAAAAAACgkQaA3BHVMLeiO1 sAgAsfTQ1kDhvhxkFA3EDUCxofomUA5dGyuB3VBR1ZZOFIOYMQvClCEbEgFE/iLYQrBS+fl76WRL 0JSwJx9KCghloM61gbodWwu7B//VkibgAwdeLQ725I/i8LRTnoTcfHT9xUIBCjmfYERTUTu2gRhd ItVyZbapb5oR7WEfQfmUMdofCuscjWWIeds5cgv4HpqacGbj4FyZZmE/9a5ro/ZWk6YMRTzb18ng wYblpMPxSR0XiAxnfxQ7YOD1GelON+5254U6MiHElZkTHZrcbZHngoSFm37In0TH8jBbx4IgrB0k iommW6k8E2C3C4+BB8UdvkbA2IdFNChGggPI4bNG0w== =qLpj -----END PGP SIGNATURE----- --nC81PDEybwZjXz3IETPWRNQOHINn0ZgaC--