From nobody Sat Feb 7 18:28:57 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E74497BAEB for ; Thu, 29 Feb 2024 18:13:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709230390; cv=none; b=bFy9w/x6qaKAr2IWyP65EBVJ5xVS8fm/DuCxqXuNWcJxg31z/h96M0Xpp+Z4fk4HiZr549t0olNiF8jYBqVe7VfCP87HmV8zxT+c+VZZDBojscj+TDDL7nHQKAXFnB5B8vU/y06pEBc9EDISiGfkim/A5mDBXItjUeReXKdUf9Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709230390; c=relaxed/simple; bh=4UHafzd9xCDmrdK5pv4Mx3tzDTPiSQz7ubBe9sEoTrs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=okDQ6HNJm31d9LRXs4RvR5hhxQUH2MVSUYZ9W1jIizSBXqELVzJAoJNJTcD6qzA2zbZjxxPN5ckwzQFGDH+bf7intwrcgUKbg7rJa/HSHy9zxEiB/92LCwU22BklNEjeA4B3Za6lUKICQDsDYnMJ2WWbhMIUUrSvNmnv8iUFBW8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=fBwWb12H; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="fBwWb12H" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4808DC43394; Thu, 29 Feb 2024 18:13:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709230389; bh=4UHafzd9xCDmrdK5pv4Mx3tzDTPiSQz7ubBe9sEoTrs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fBwWb12HgkQEskAVKOOBPEXt6nrLTrqw8Vd9Z2e4IAmTl+AOC334G04LrqPPrNzUc c1605660oH8KtAZrOUCpdQge9+aGYC2RshjZK7x4mY+GrGBgI6mkUT+VB7OGw6VwnA hvTopz55/OBEtnP7l4LqGR4iWi9pJKkk6XI9JcF6HOyONJ0F4v5viUDvSrYh9cyuvH aZhQH61Wb/mLIBC9wvhymlsX+A/bc+QPCK2ekASfSeP1voKiD0x+vlypvjRUVKadL9 xHSS66qT/CsHQkK3xxY2DryONRBfwI8+kZYvNWa+3LaNqVm/mMviBtUwy7cVMZ+Nld YR0xHviTS9Q8g== From: Bjorn Helgaas To: Tomas Winkler , Arnd Bergmann , Greg Kroah-Hartman Cc: linux-kernel@vger.kernel.org, Bjorn Helgaas Subject: [PATCH 1/3] mei: gsc: remove unnecessary NULL pointer checks Date: Thu, 29 Feb 2024 12:12:58 -0600 Message-Id: <20240229181300.352077-2-helgaas@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240229181300.352077-1-helgaas@kernel.org> References: <20240229181300.352077-1-helgaas@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Bjorn Helgaas The .remove() and power management callbacks are never called unless .probe() has already returned success, which means it has set drvdata to a non-NULL pointer, so "dev" can never be NULL in the other callbacks. Remove the unnecessary checks. Signed-off-by: Bjorn Helgaas --- drivers/misc/mei/gsc-me.c | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/drivers/misc/mei/gsc-me.c b/drivers/misc/mei/gsc-me.c index 6be8f1cc052c..45c10974b12b 100644 --- a/drivers/misc/mei/gsc-me.c +++ b/drivers/misc/mei/gsc-me.c @@ -144,9 +144,6 @@ static void mei_gsc_remove(struct auxiliary_device *aux= _dev) struct mei_me_hw *hw; =20 dev =3D dev_get_drvdata(&aux_dev->dev); - if (!dev) - return; - hw =3D to_me_hw(dev); =20 mei_stop(dev); @@ -168,9 +165,6 @@ static int __maybe_unused mei_gsc_pm_suspend(struct dev= ice *device) { struct mei_device *dev =3D dev_get_drvdata(device); =20 - if (!dev) - return -ENODEV; - mei_stop(dev); =20 mei_disable_interrupts(dev); @@ -186,9 +180,6 @@ static int __maybe_unused mei_gsc_pm_resume(struct devi= ce *device) int err; struct mei_me_hw *hw; =20 - if (!dev) - return -ENODEV; - hw =3D to_me_hw(dev); aux_dev =3D to_auxiliary_dev(device); adev =3D auxiliary_dev_to_mei_aux_dev(aux_dev); @@ -211,8 +202,6 @@ static int __maybe_unused mei_gsc_pm_runtime_idle(struc= t device *device) { struct mei_device *dev =3D dev_get_drvdata(device); =20 - if (!dev) - return -ENODEV; if (mei_write_is_idle(dev)) pm_runtime_autosuspend(device); =20 @@ -225,9 +214,6 @@ static int __maybe_unused mei_gsc_pm_runtime_suspend(s= truct device *device) struct mei_me_hw *hw; int ret; =20 - if (!dev) - return -ENODEV; - mutex_lock(&dev->device_lock); =20 if (mei_write_is_idle(dev)) { @@ -252,9 +238,6 @@ static int __maybe_unused mei_gsc_pm_runtime_resume(str= uct device *device) struct mei_me_hw *hw; irqreturn_t irq_ret; =20 - if (!dev) - return -ENODEV; - mutex_lock(&dev->device_lock); =20 hw =3D to_me_hw(dev); --=20 2.34.1 From nobody Sat Feb 7 18:28:57 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F30A8134404 for ; Thu, 29 Feb 2024 18:13:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709230392; cv=none; b=ccMNGs7AeVHEIAjjSilWrrKOZ45I+RIoIATSOP/P4wRrqr7YO7P82L3hIx3Ge4fOIPPEBXo3Ol1QsPrSOXD2jI7syTNUvmrTkpxF7gGP7FwEfmVxP2xFpODghogizyTwC8vXY4/TBTcTB8M1YvMdLQOkVcwBb2Y44F967YjxNj0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709230392; c=relaxed/simple; bh=AE4Wax6AwWzhWNRdm2NepGfbrJaZkUojuHf7ZO1wUMM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ja+u4ckN71BSvyFpylKB0bTP35b6HtUnPU49xc5D/rtV9iH8vUPQZGsk/drIxUhwuMeV6QieFGqwVT4reDy7xnQDoJ+1X+uid9/n84LQCtZOQeP6ilIjJdJR13GuQBa46vi+4FM2ib2pFC1+l4X010SUMjcWEK076zeu8YPrxl8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=q4C7myv3; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="q4C7myv3" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2E3F3C433F1; Thu, 29 Feb 2024 18:13:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709230391; bh=AE4Wax6AwWzhWNRdm2NepGfbrJaZkUojuHf7ZO1wUMM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=q4C7myv3oAagE1rI8WVPi5L1zholvwFbhRoaGGTQf6moCO+soeLoTeMCxMxiXr5L3 pkH0Qt92RgAAWtbD5svK8/SWbnV2NPi7cG/Y+6l2cXL/fEoWrenkoYSL9yIgY7+IX7 83wzlTnwTdBQoQYxPa/vATWIKBupgTmCdCfa2gE6eVjoiQufJN4ggKmwWKo3Yhk9bv qo3WMUKq3lTT7H+mMiRhzGOm8cma2iVSblxT5/AqO1y3FNhyTAJRIvaGeZw59P1bt6 ea4xmkAoFsxiFPra7c8R70JJ7sD/P0xaoNOkkugooNlUryrub9tzVw6cwVWfe5u+E1 DaqxeLl8i5brQ== From: Bjorn Helgaas To: Tomas Winkler , Arnd Bergmann , Greg Kroah-Hartman Cc: linux-kernel@vger.kernel.org, Bjorn Helgaas Subject: [PATCH 2/3] mei: txe: remove unnecessary NULL pointer checks Date: Thu, 29 Feb 2024 12:12:59 -0600 Message-Id: <20240229181300.352077-3-helgaas@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240229181300.352077-1-helgaas@kernel.org> References: <20240229181300.352077-1-helgaas@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Bjorn Helgaas The .shutdown(), .remove(), and power management callbacks are never called unless .probe() has already returned success, which means it has set drvdata to a non-NULL pointer, so "dev" can never be NULL in the other callbacks. Remove the unnecessary checks. Signed-off-by: Bjorn Helgaas --- drivers/misc/mei/pci-txe.c | 40 ++++++-------------------------------- 1 file changed, 6 insertions(+), 34 deletions(-) diff --git a/drivers/misc/mei/pci-txe.c b/drivers/misc/mei/pci-txe.c index fa20d9a27813..2a584104ba38 100644 --- a/drivers/misc/mei/pci-txe.c +++ b/drivers/misc/mei/pci-txe.c @@ -166,11 +166,7 @@ static int mei_txe_probe(struct pci_dev *pdev, const s= truct pci_device_id *ent) */ static void mei_txe_shutdown(struct pci_dev *pdev) { - struct mei_device *dev; - - dev =3D pci_get_drvdata(pdev); - if (!dev) - return; + struct mei_device *dev =3D pci_get_drvdata(pdev); =20 dev_dbg(&pdev->dev, "shutdown\n"); mei_stop(dev); @@ -191,13 +187,7 @@ static void mei_txe_shutdown(struct pci_dev *pdev) */ static void mei_txe_remove(struct pci_dev *pdev) { - struct mei_device *dev; - - dev =3D pci_get_drvdata(pdev); - if (!dev) { - dev_err(&pdev->dev, "mei: dev =3D=3D NULL\n"); - return; - } + struct mei_device *dev =3D pci_get_drvdata(pdev); =20 pm_runtime_get_noresume(&pdev->dev); =20 @@ -218,9 +208,6 @@ static int mei_txe_pci_suspend(struct device *device) struct pci_dev *pdev =3D to_pci_dev(device); struct mei_device *dev =3D pci_get_drvdata(pdev); =20 - if (!dev) - return -ENODEV; - dev_dbg(&pdev->dev, "suspend\n"); =20 mei_stop(dev); @@ -236,13 +223,9 @@ static int mei_txe_pci_suspend(struct device *device) static int mei_txe_pci_resume(struct device *device) { struct pci_dev *pdev =3D to_pci_dev(device); - struct mei_device *dev; + struct mei_device *dev =3D pci_get_drvdata(pdev); int err; =20 - dev =3D pci_get_drvdata(pdev); - if (!dev) - return -ENODEV; - pci_enable_msi(pdev); =20 mei_clear_interrupts(dev); @@ -273,13 +256,10 @@ static int mei_txe_pci_resume(struct device *device) #ifdef CONFIG_PM static int mei_txe_pm_runtime_idle(struct device *device) { - struct mei_device *dev; + struct mei_device *dev =3D dev_get_drvdata(device); =20 dev_dbg(device, "rpm: txe: runtime_idle\n"); =20 - dev =3D dev_get_drvdata(device); - if (!dev) - return -ENODEV; if (mei_write_is_idle(dev)) pm_runtime_autosuspend(device); =20 @@ -287,15 +267,11 @@ static int mei_txe_pm_runtime_idle(struct device *dev= ice) } static int mei_txe_pm_runtime_suspend(struct device *device) { - struct mei_device *dev; + struct mei_device *dev =3D dev_get_drvdata(device); int ret; =20 dev_dbg(device, "rpm: txe: runtime suspend\n"); =20 - dev =3D dev_get_drvdata(device); - if (!dev) - return -ENODEV; - mutex_lock(&dev->device_lock); =20 if (mei_write_is_idle(dev)) @@ -317,15 +293,11 @@ static int mei_txe_pm_runtime_suspend(struct device *= device) =20 static int mei_txe_pm_runtime_resume(struct device *device) { - struct mei_device *dev; + struct mei_device *dev =3D dev_get_drvdata(device); int ret; =20 dev_dbg(device, "rpm: txe: runtime resume\n"); =20 - dev =3D dev_get_drvdata(device); - if (!dev) - return -ENODEV; - mutex_lock(&dev->device_lock); =20 mei_enable_interrupts(dev); --=20 2.34.1 From nobody Sat Feb 7 18:28:57 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9DEA012FB0B for ; Thu, 29 Feb 2024 18:13:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709230393; cv=none; b=KfFmdRC3j0PTbus6eUMtRCe25k0pjrigG/lWBaTqLRI/P/qm+2U36ZJbUcM6ZpcygDeNWrwiPbivjiSYt4FbuemVrFVPuLsc93xalK4AFTijuln0Ft9XYl3CqI8RbQ0I4iKp+eAXTZ3XbHwBRUO01YWqaSexgPtPTwhN7hLtZF8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709230393; c=relaxed/simple; bh=Dkk4i1JgX0DpGT8BHQSypGGCaf+0/nlf7ejjaAd9LM4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=QD7yXmPoPhCKB95ZXsgs90l2ipmUwBO5+snBQJwdAXSuD0+L+ETpkHvTx4mviCa7xoKFCW9+e+7ODsGgO10TYNwoYXPASQjUHoOuDXe/D03j7qVNzdRNWpT3X4aljSKhNn0N08TBmRyU567MrwMfUC2xZcIskBo2FJ3mEDoh6UY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kLx6jYEv; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="kLx6jYEv" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 029D1C43394; Thu, 29 Feb 2024 18:13:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709230393; bh=Dkk4i1JgX0DpGT8BHQSypGGCaf+0/nlf7ejjaAd9LM4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kLx6jYEvLDIJSohi1mL2aFZMKS5uU2mNnrYEkCq/W8DJMzoI873tRTsRnzQXMG/YZ ugENU1BojjNHkG/un/SXNZeBmRkekNS07BaH9oiDHC8I2qt0lwI8KBTU6GsV836uaa O2J4PuhTqxUhaXsAVet9f2U9C5Qx+g7bgUf8N1+T6SH6+uRKzrseoSzqHlH8iCIyp6 he4iqhdzEgw8bBMYYIFF2GwS96VMrGG84NZkGB0H9h31H1yf2k/8cixzNYuW5B1q9l wEDDIYOLYhQro3EATwlFPEqfL++F2HmHWS/n1SGvTHO45Z9PXevSNPQYIkzzW/zaAy fBCzDkJtrlcJQ== From: Bjorn Helgaas To: Tomas Winkler , Arnd Bergmann , Greg Kroah-Hartman Cc: linux-kernel@vger.kernel.org, Bjorn Helgaas Subject: [PATCH 3/3] mei: me: remove unnecessary NULL pointer checks Date: Thu, 29 Feb 2024 12:13:00 -0600 Message-Id: <20240229181300.352077-4-helgaas@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240229181300.352077-1-helgaas@kernel.org> References: <20240229181300.352077-1-helgaas@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Bjorn Helgaas The .shutdown(), .remove(), and power management callbacks are never called unless .probe() has already returned success, which means it has set drvdata to a non-NULL pointer, so "dev" can never be NULL in the other callbacks. Remove the unnecessary checks. Signed-off-by: Bjorn Helgaas --- drivers/misc/mei/pci-me.c | 38 ++++++-------------------------------- 1 file changed, 6 insertions(+), 32 deletions(-) diff --git a/drivers/misc/mei/pci-me.c b/drivers/misc/mei/pci-me.c index 676d566f38dd..1f0d983d3f06 100644 --- a/drivers/misc/mei/pci-me.c +++ b/drivers/misc/mei/pci-me.c @@ -295,11 +295,7 @@ static int mei_me_probe(struct pci_dev *pdev, const st= ruct pci_device_id *ent) */ static void mei_me_shutdown(struct pci_dev *pdev) { - struct mei_device *dev; - - dev =3D pci_get_drvdata(pdev); - if (!dev) - return; + struct mei_device *dev =3D pci_get_drvdata(pdev); =20 dev_dbg(&pdev->dev, "shutdown\n"); mei_stop(dev); @@ -320,11 +316,7 @@ static void mei_me_shutdown(struct pci_dev *pdev) */ static void mei_me_remove(struct pci_dev *pdev) { - struct mei_device *dev; - - dev =3D pci_get_drvdata(pdev); - if (!dev) - return; + struct mei_device *dev =3D pci_get_drvdata(pdev); =20 if (mei_pg_is_enabled(dev)) pm_runtime_get_noresume(&pdev->dev); @@ -353,9 +345,6 @@ static int mei_me_pci_suspend(struct device *device) struct pci_dev *pdev =3D to_pci_dev(device); struct mei_device *dev =3D pci_get_drvdata(pdev); =20 - if (!dev) - return -ENODEV; - dev_dbg(&pdev->dev, "suspend\n"); =20 mei_stop(dev); @@ -371,14 +360,10 @@ static int mei_me_pci_suspend(struct device *device) static int mei_me_pci_resume(struct device *device) { struct pci_dev *pdev =3D to_pci_dev(device); - struct mei_device *dev; + struct mei_device *dev =3D pci_get_drvdata(pdev); unsigned int irqflags; int err; =20 - dev =3D pci_get_drvdata(pdev); - if (!dev) - return -ENODEV; - pci_enable_msi(pdev); =20 irqflags =3D pci_dev_msi_enabled(pdev) ? IRQF_ONESHOT : IRQF_SHARED; @@ -419,13 +404,10 @@ static void mei_me_pci_complete(struct device *device) #ifdef CONFIG_PM static int mei_me_pm_runtime_idle(struct device *device) { - struct mei_device *dev; + struct mei_device *dev =3D dev_get_drvdata(device); =20 dev_dbg(device, "rpm: me: runtime_idle\n"); =20 - dev =3D dev_get_drvdata(device); - if (!dev) - return -ENODEV; if (mei_write_is_idle(dev)) pm_runtime_autosuspend(device); =20 @@ -434,15 +416,11 @@ static int mei_me_pm_runtime_idle(struct device *devi= ce) =20 static int mei_me_pm_runtime_suspend(struct device *device) { - struct mei_device *dev; + struct mei_device *dev =3D dev_get_drvdata(device); int ret; =20 dev_dbg(device, "rpm: me: runtime suspend\n"); =20 - dev =3D dev_get_drvdata(device); - if (!dev) - return -ENODEV; - mutex_lock(&dev->device_lock); =20 if (mei_write_is_idle(dev)) @@ -462,15 +440,11 @@ static int mei_me_pm_runtime_suspend(struct device *d= evice) =20 static int mei_me_pm_runtime_resume(struct device *device) { - struct mei_device *dev; + struct mei_device *dev =3D dev_get_drvdata(device); int ret; =20 dev_dbg(device, "rpm: me: runtime resume\n"); =20 - dev =3D dev_get_drvdata(device); - if (!dev) - return -ENODEV; - mutex_lock(&dev->device_lock); =20 ret =3D mei_me_pg_exit_sync(dev); --=20 2.34.1