From patchwork Wed Apr 16 16:44:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philipp Stanner X-Patchwork-Id: 14054260 X-Patchwork-Delegate: kuba@kernel.org 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 D82BB1FBEA9; Wed, 16 Apr 2025 16:44:33 +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=1744821873; cv=none; b=sTvIFUqx9DXcoVO7ZS88mEWYMZO9sjZXZ3OkgJjqETZVaYr/j1tB80oD5aXwjA8aXmKCfLDPuVUFB1p21RjjFajYmtc8emuyF689ASBIcd2PggYOTqXB6KFob64cGGVlCoFx+8U9PbzkAJyN+CQPqaMKJd++FwtO7Sf5pd7hEcQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744821873; c=relaxed/simple; bh=OiO8b4cG5ozPDFrVf3pL6KsR9fmEuNLafgMjJ8kSJ00=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KQKtEzrw86lLN+1YMQbrVacPnPJWnQMdCZ8j4km8Ni7MxP2PP90DnbNUHXn6IppZjWeu19WNJKYDWinXj7wZrWmZ+Y/0uO8YvJaSBLScYsXd5dYmVacR+RtZ3ugjPwUGNY6F6f5ZUHBoSeg0u29IWBYzrwmZ4RNNqofckN/NtOI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jX1w3J8f; 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="jX1w3J8f" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0B527C4CEE2; Wed, 16 Apr 2025 16:44:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744821873; bh=OiO8b4cG5ozPDFrVf3pL6KsR9fmEuNLafgMjJ8kSJ00=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jX1w3J8fsjgGQxKtAIXxfFoh7p3oc59Kx6jg3eqY1wD1puiolXPZC/V58GvXwDlTM 1Q8sIUSjNgE9I34R7OLFG3OuCilHdZs0mETkAo0eqvYPaCzpWzZXk2+Mlfszxfdf6g JTgCvg3ePuskRI8UHBL+sKpo4TMmsn/F9kKSvxLL2OeDPEpvKFlnqNPAN1lRnZxnaK Htm9gutwc+mb16oBYt4rznTGburiaZxsn7RlU1BV3c55MpSGrpU0yKlCY3mZzCr3rJ i07L6AoY1xYhHXybLTputWlooNE7/Hn2b5Rv/x9YKPUCaD7NuKobCOEXby0WAmOv/O rO+E8JwE+frzw== From: Philipp Stanner To: Sunil Goutham , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Geetha sowjanya , Subbaraya Sundeep , hariprasad , Bharat Bhushan , Taras Chornyi , Daniele Venzano , Heiner Kallweit , Russell King , Thomas Gleixner , Philipp Stanner , Helge Deller , Ingo Molnar , Simon Horman , Al Viro , Sabrina Dubroca , Jacob Keller Cc: linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-parisc@vger.kernel.org Subject: [PATCH 1/8] net: prestera: Use pure PCI devres API Date: Wed, 16 Apr 2025 18:44:01 +0200 Message-ID: <20250416164407.127261-3-phasta@kernel.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250416164407.127261-2-phasta@kernel.org> References: <20250416164407.127261-2-phasta@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org The currently used function pci_request_regions() is one of the problematic "hybrid devres" PCI functions, which are sometimes managed through devres, and sometimes not (depending on whether pci_enable_device() or pcim_enable_device() has been called before). The PCI subsystem wants to remove this behavior and, therefore, needs to port all users to functions that don't have this problem. Furthermore, the PCI function being managed implies that it's not necessary to call pci_release_regions() manually. Remove the calls to pci_release_regions(). Replace pci_request_regions() with pcim_request_all_regions(). Signed-off-by: Philipp Stanner --- drivers/net/ethernet/marvell/prestera/prestera_pci.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/marvell/prestera/prestera_pci.c b/drivers/net/ethernet/marvell/prestera/prestera_pci.c index 35857dc19542..c45d108b2f6d 100644 --- a/drivers/net/ethernet/marvell/prestera/prestera_pci.c +++ b/drivers/net/ethernet/marvell/prestera/prestera_pci.c @@ -845,9 +845,9 @@ static int prestera_pci_probe(struct pci_dev *pdev, goto err_pci_enable_device; } - err = pci_request_regions(pdev, driver_name); + err = pcim_request_all_regions(pdev, driver_name); if (err) { - dev_err(&pdev->dev, "pci_request_regions failed\n"); + dev_err(&pdev->dev, "pcim_request_all_regions failed\n"); goto err_pci_request_regions; } @@ -938,7 +938,6 @@ static int prestera_pci_probe(struct pci_dev *pdev, err_pp_ioremap: err_mem_ioremap: err_dma_mask: - pci_release_regions(pdev); err_pci_request_regions: err_pci_enable_device: return err; @@ -953,7 +952,6 @@ static void prestera_pci_remove(struct pci_dev *pdev) pci_free_irq_vectors(pdev); destroy_workqueue(fw->wq); prestera_fw_uninit(fw); - pci_release_regions(pdev); } static const struct pci_device_id prestera_pci_devices[] = { From patchwork Wed Apr 16 16:44:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philipp Stanner X-Patchwork-Id: 14054261 X-Patchwork-Delegate: kuba@kernel.org 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 03EAA2135C7; Wed, 16 Apr 2025 16:44:39 +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=1744821880; cv=none; b=UnFg7AxoE1bBx0cOPJKjuMILZpf8l/I7i/k4/tIRqSWC3j+8CS1jUbMXUVovl9Ma+qy+n6Aee5S7PBGXS/hgS7WP0xtMeqk8fsiUPbSCmWgYcrnB/PoBdYtMpSSHi5VYlOabl3ubmiqQUNXmwz9FYKd4KjjrDWduws8qPu7UNoE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744821880; c=relaxed/simple; bh=MlToCWePVf2EnjbdIIgvSQQgrmnwAUG5WRD/p2xO3ss=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NsLS5zFThVwcw02Px3ihC1mUTyJvH0WrT9eQh+KqBzn68f1T7Kmkq+9JAqZepBUI7ucGS8WOkdZT4eMGQzVy97FAOYv5SXTDVrLQEs0qszyU8XhOmRSF8YhwF6RxdjTvWnE6FFkwD9yyFxZ/jJVmOinR/oVDN6ThJy+ELuXM31U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Aci34767; 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="Aci34767" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 36939C4CEE2; Wed, 16 Apr 2025 16:44:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744821879; bh=MlToCWePVf2EnjbdIIgvSQQgrmnwAUG5WRD/p2xO3ss=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Aci34767h+fcH4jNUxXGMWIf+Z/P2AsHgvmV+JqNiADqPGt0jgHrlylGMymeApR73 y59g/0JnSBqaJslBmOGd2zi0wkMglRg5uLkw57ogkpUIxLOBq7q7b9Yk4pHIWS0NUs ZnsWs/bNwkukJ876UXE7HwHS9XUBGlKBJRw2S46Mjb2pT1YiVPAmPGrKR00vty9yui XLdAYjCuGsF8ZGye+sh84TqMGFq/SepChsFfaaGLFZQ9SiTpQZK+ViN/fHCkavEeHd A137Q6UYPaVgWwyCKCQKyPWrJOaLhVKLfO698apVIyFdaaWEeeDL7eYfVqm5futCin GH1iw1NfJJqyg== From: Philipp Stanner To: Sunil Goutham , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Geetha sowjanya , Subbaraya Sundeep , hariprasad , Bharat Bhushan , Taras Chornyi , Daniele Venzano , Heiner Kallweit , Russell King , Thomas Gleixner , Philipp Stanner , Helge Deller , Ingo Molnar , Simon Horman , Al Viro , Sabrina Dubroca , Jacob Keller Cc: linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-parisc@vger.kernel.org Subject: [PATCH 2/8] net: octeontx2: Use pure PCI devres API Date: Wed, 16 Apr 2025 18:44:02 +0200 Message-ID: <20250416164407.127261-4-phasta@kernel.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250416164407.127261-2-phasta@kernel.org> References: <20250416164407.127261-2-phasta@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org The currently used function pci_request_regions() is one of the problematic "hybrid devres" PCI functions, which are sometimes managed through devres, and sometimes not (depending on whether pci_enable_device() or pcim_enable_device() has been called before). The PCI subsystem wants to remove this behavior and, therefore, needs to port all users to functions that don't have this problem. Furthermore, the PCI function being managed implies that it's not necessary to call pci_release_regions() manually. Remove the calls to pci_release_regions(). Replace pci_request_regions() with pcim_request_all_regions(). Signed-off-by: Philipp Stanner --- .../net/ethernet/marvell/octeontx2/nic/otx2_pf.c | 14 ++++---------- .../net/ethernet/marvell/octeontx2/nic/otx2_vf.c | 14 ++++---------- drivers/net/ethernet/marvell/octeontx2/nic/rep.c | 4 +--- 3 files changed, 9 insertions(+), 23 deletions(-) diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c index cfed9ec5b157..0aee8e3861f3 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c @@ -3048,7 +3048,7 @@ static int otx2_probe(struct pci_dev *pdev, const struct pci_device_id *id) return err; } - err = pci_request_regions(pdev, DRV_NAME); + err = pcim_request_all_regions(pdev, DRV_NAME); if (err) { dev_err(dev, "PCI request regions failed 0x%x\n", err); return err; @@ -3057,7 +3057,7 @@ static int otx2_probe(struct pci_dev *pdev, const struct pci_device_id *id) err = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(48)); if (err) { dev_err(dev, "DMA mask config failed, abort\n"); - goto err_release_regions; + return err; } pci_set_master(pdev); @@ -3067,10 +3067,8 @@ static int otx2_probe(struct pci_dev *pdev, const struct pci_device_id *id) qos_txqs = min_t(int, qcount, OTX2_QOS_MAX_LEAF_NODES); netdev = alloc_etherdev_mqs(sizeof(*pf), qcount + qos_txqs, qcount); - if (!netdev) { - err = -ENOMEM; - goto err_release_regions; - } + if (!netdev) + return -ENOMEM; pci_set_drvdata(pdev, netdev); SET_NETDEV_DEV(netdev, &pdev->dev); @@ -3246,8 +3244,6 @@ static int otx2_probe(struct pci_dev *pdev, const struct pci_device_id *id) err_free_netdev: pci_set_drvdata(pdev, NULL); free_netdev(netdev); -err_release_regions: - pci_release_regions(pdev); return err; } @@ -3447,8 +3443,6 @@ static void otx2_remove(struct pci_dev *pdev) pci_free_irq_vectors(pf->pdev); pci_set_drvdata(pdev, NULL); free_netdev(netdev); - - pci_release_regions(pdev); } static struct pci_driver otx2_pf_driver = { diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c index 7ef3ba477d49..fb4da816d218 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c @@ -548,7 +548,7 @@ static int otx2vf_probe(struct pci_dev *pdev, const struct pci_device_id *id) return err; } - err = pci_request_regions(pdev, DRV_NAME); + err = pcim_request_all_regions(pdev, DRV_NAME); if (err) { dev_err(dev, "PCI request regions failed 0x%x\n", err); return err; @@ -557,7 +557,7 @@ static int otx2vf_probe(struct pci_dev *pdev, const struct pci_device_id *id) err = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(48)); if (err) { dev_err(dev, "DMA mask config failed, abort\n"); - goto err_release_regions; + return err; } pci_set_master(pdev); @@ -565,10 +565,8 @@ static int otx2vf_probe(struct pci_dev *pdev, const struct pci_device_id *id) qcount = num_online_cpus(); qos_txqs = min_t(int, qcount, OTX2_QOS_MAX_LEAF_NODES); netdev = alloc_etherdev_mqs(sizeof(*vf), qcount + qos_txqs, qcount); - if (!netdev) { - err = -ENOMEM; - goto err_release_regions; - } + if (!netdev) + return -ENOMEM; pci_set_drvdata(pdev, netdev); SET_NETDEV_DEV(netdev, &pdev->dev); @@ -765,8 +763,6 @@ static int otx2vf_probe(struct pci_dev *pdev, const struct pci_device_id *id) err_free_netdev: pci_set_drvdata(pdev, NULL); free_netdev(netdev); -err_release_regions: - pci_release_regions(pdev); return err; } @@ -815,8 +811,6 @@ static void otx2vf_remove(struct pci_dev *pdev) pci_free_irq_vectors(vf->pdev); pci_set_drvdata(pdev, NULL); free_netdev(netdev); - - pci_release_regions(pdev); } static struct pci_driver otx2vf_driver = { diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/rep.c b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c index 04e08e06f30f..516471f172d1 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/rep.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c @@ -763,7 +763,7 @@ static int rvu_rep_probe(struct pci_dev *pdev, const struct pci_device_id *id) return err; } - err = pci_request_regions(pdev, DRV_NAME); + err = pcim_request_all_regions(pdev, DRV_NAME); if (err) { dev_err(dev, "PCI request regions failed 0x%x\n", err); return err; @@ -822,7 +822,6 @@ static int rvu_rep_probe(struct pci_dev *pdev, const struct pci_device_id *id) pci_free_irq_vectors(pdev); err_release_regions: pci_set_drvdata(pdev, NULL); - pci_release_regions(pdev); return err; } @@ -842,7 +841,6 @@ static void rvu_rep_remove(struct pci_dev *pdev) otx2_pfaf_mbox_destroy(priv); pci_free_irq_vectors(priv->pdev); pci_set_drvdata(pdev, NULL); - pci_release_regions(pdev); } static struct pci_driver rvu_rep_driver = { From patchwork Wed Apr 16 16:44:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philipp Stanner X-Patchwork-Id: 14054262 X-Patchwork-Delegate: kuba@kernel.org 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 6962221324F; Wed, 16 Apr 2025 16:44:46 +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=1744821887; cv=none; b=cmaAxR6IQFAX0l61c/Sh0G4583Ca/vP0ZfHvIueTV99BcLY8uoqvTY183AIPPjrGE213hsdVNzf6pJMgTa2hQwVtqVqA/tBcuaf8vQ5UEJGtlNrG09ZNAWIxOY/E5ftQg3ViT74yVaLCUfZadrBeqNAh/J2pbd7GWzbEcnl4XX0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744821887; c=relaxed/simple; bh=jHtCD2QxkF5BIe7+BmmcWSeYcXdRHKumusbGoJamdHQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=EylsAtp+W3IOlory8Orntbw43Fj/AgnN47H2WokvKDEq4DqvQ8f8ebzF70SKLxQmqZCvGwt6vFpcraX5vvQ5NMMLZ1Rf5KwqfQQX45iiiQEGNOPx+YXJ69ktTks100WnYsueKkdQmnavLVEwRlukNiiv67trGArBQpeEsGojs3Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=oVnUHRbb; 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="oVnUHRbb" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 58305C4CEE2; Wed, 16 Apr 2025 16:44:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744821885; bh=jHtCD2QxkF5BIe7+BmmcWSeYcXdRHKumusbGoJamdHQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oVnUHRbb7tjjxube3cXSPU4s1AEzrYBJ6GB5oOUpTS6ku8ZkRCNLgGmvlMmd75dsx 1F5BNSVcILNkvY9wh6DVBe2oMeO0g947R4VMUcMD29p+5Wlns1BqN88Y66mUPmE78B oHjiBu7PZyV7fmVsKxdhS2Ubm10xZzFsA6AgqHM6SLRDkFAg8XBri6DFtoKaHNt6jG ZZfB8YM+KlKbnE5RL8V/jsZluMjUKqVcXC0WCWR/uWMUnxRkpSYAroKE4btW3wGN5z Gvxu6wF30yyrdK2Mdxfp35QIw4QXPSjT9A7sPSH2D7vKdVTxGc3o5//0wF02r+l1dG /BSqBMyaDL/HA== From: Philipp Stanner To: Sunil Goutham , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Geetha sowjanya , Subbaraya Sundeep , hariprasad , Bharat Bhushan , Taras Chornyi , Daniele Venzano , Heiner Kallweit , Russell King , Thomas Gleixner , Philipp Stanner , Helge Deller , Ingo Molnar , Simon Horman , Al Viro , Sabrina Dubroca , Jacob Keller Cc: linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-parisc@vger.kernel.org Subject: [PATCH 3/8] net: tulip: Use pure PCI devres API Date: Wed, 16 Apr 2025 18:44:03 +0200 Message-ID: <20250416164407.127261-5-phasta@kernel.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250416164407.127261-2-phasta@kernel.org> References: <20250416164407.127261-2-phasta@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org The currently used function pci_request_regions() is one of the problematic "hybrid devres" PCI functions, which are sometimes managed through devres, and sometimes not (depending on whether pci_enable_device() or pcim_enable_device() has been called before). The PCI subsystem wants to remove this behavior and, therefore, needs to port all users to functions that don't have this problem. Replace pci_request_regions() with pcim_request_all_regions(). Signed-off-by: Philipp Stanner --- drivers/net/ethernet/dec/tulip/tulip_core.c | 2 +- drivers/net/ethernet/dec/tulip/winbond-840.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/dec/tulip/tulip_core.c b/drivers/net/ethernet/dec/tulip/tulip_core.c index c8c53121557f..bec76e7bf5dd 100644 --- a/drivers/net/ethernet/dec/tulip/tulip_core.c +++ b/drivers/net/ethernet/dec/tulip/tulip_core.c @@ -1411,7 +1411,7 @@ static int tulip_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) /* grab all resources from both PIO and MMIO regions, as we * don't want anyone else messing around with our hardware */ - if (pci_request_regions(pdev, DRV_NAME)) + if (pcim_request_all_regions(pdev, DRV_NAME)) return -ENODEV; ioaddr = pcim_iomap(pdev, TULIP_BAR, tulip_tbl[chip_idx].io_size); diff --git a/drivers/net/ethernet/dec/tulip/winbond-840.c b/drivers/net/ethernet/dec/tulip/winbond-840.c index 5930cdec6f2f..e593273b2867 100644 --- a/drivers/net/ethernet/dec/tulip/winbond-840.c +++ b/drivers/net/ethernet/dec/tulip/winbond-840.c @@ -375,7 +375,7 @@ static int w840_probe1(struct pci_dev *pdev, const struct pci_device_id *ent) return -ENOMEM; SET_NETDEV_DEV(dev, &pdev->dev); - if (pci_request_regions(pdev, DRV_NAME)) + if (pcim_request_all_regions(pdev, DRV_NAME)) goto err_out_netdev; ioaddr = pci_iomap(pdev, TULIP_BAR, netdev_res_size); From patchwork Wed Apr 16 16:44:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philipp Stanner X-Patchwork-Id: 14054263 X-Patchwork-Delegate: kuba@kernel.org 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 3713C21506B; Wed, 16 Apr 2025 16:44:52 +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=1744821892; cv=none; b=slhqR4jqXrKMO2l1KVwugCirNT6Cen6cV6ewCRM+Ve0oaZ4aYahxqRTc488712diSmXRKKNN2nkIhadxFb1jroBqHXGlgTGyScz/w9MPcwiPwfLITleN94OO83gJS3xiBHBYO+XB+2f8saFSJKIdn8NhsSmW6x8TuH6OoWF7Qfs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744821892; c=relaxed/simple; bh=VylpoJr/xCnl8WcBXr2d8cdXmdql2CE4ZK2UhVwVCpQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UkHkH1lR7KWfH75TYeqs53UAyvO++hky3Y02Mf3MpV30jQyaGKwrOMVVL1f6bgIYYzukxmelLSc7w7XeTyj+7PsyyfTsKNKAQJiqYLd4WgoO/zPd8vj0RI3bvdNERrFcvwMyPZGv7lSUadL0PIwpLQ1HmUUqxc8qNlMVwys9ARE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=FYTb/0PU; 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="FYTb/0PU" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7B8BEC4CEE4; Wed, 16 Apr 2025 16:44:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744821892; bh=VylpoJr/xCnl8WcBXr2d8cdXmdql2CE4ZK2UhVwVCpQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FYTb/0PUk8ojmN7UBIxKHfkRSeMEwg/0hUpAiEDvb0zobjPvLYKXP1UYT/FK+pmnf Y0TfMWE/fCWME4nMJEB8KEc8SN09++vKcmgsztDEOkQ2+iqSWaePeSzhGbJxB6xA14 Gh3FPo2jopKKvJG1vAsP4mIFk3Qy7e1AcpgsFpR+awci4na/nE3YcNcxUPr+8Ik4U6 FIojIt+lijROedTs4jPsDFDtUzuqcsYD6HXqjaIOYcL3cJgrx96dKivmrWnjjxTFkN ObF5qD9Rc32Wi9S7wecLwzKdiTnspJHg77XIyP1sufOGbSm+OLUcXLWY5ALJv55erA niIsPcRdjxHVQ== From: Philipp Stanner To: Sunil Goutham , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Geetha sowjanya , Subbaraya Sundeep , hariprasad , Bharat Bhushan , Taras Chornyi , Daniele Venzano , Heiner Kallweit , Russell King , Thomas Gleixner , Philipp Stanner , Helge Deller , Ingo Molnar , Simon Horman , Al Viro , Sabrina Dubroca , Jacob Keller Cc: linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-parisc@vger.kernel.org Subject: [PATCH 4/8] net: ethernet: natsemi: Use pure PCI devres API Date: Wed, 16 Apr 2025 18:44:04 +0200 Message-ID: <20250416164407.127261-6-phasta@kernel.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250416164407.127261-2-phasta@kernel.org> References: <20250416164407.127261-2-phasta@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org The currently used function pci_request_regions() is one of the problematic "hybrid devres" PCI functions, which are sometimes managed through devres, and sometimes not (depending on whether pci_enable_device() or pcim_enable_device() has been called before). The PCI subsystem wants to remove this behavior and, therefore, needs to port all users to functions that don't have this problem. Replace pci_request_regions() with pcim_request_all_regions(). Signed-off-by: Philipp Stanner --- drivers/net/ethernet/natsemi/natsemi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/natsemi/natsemi.c b/drivers/net/ethernet/natsemi/natsemi.c index 05606692e631..dd279788cf9e 100644 --- a/drivers/net/ethernet/natsemi/natsemi.c +++ b/drivers/net/ethernet/natsemi/natsemi.c @@ -846,7 +846,7 @@ static int natsemi_probe1(struct pci_dev *pdev, const struct pci_device_id *ent) return -ENOMEM; SET_NETDEV_DEV(dev, &pdev->dev); - i = pci_request_regions(pdev, DRV_NAME); + i = pcim_request_all_regions(pdev, DRV_NAME); if (i) goto err_pci_request_regions; From patchwork Wed Apr 16 16:44:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philipp Stanner X-Patchwork-Id: 14054264 X-Patchwork-Delegate: kuba@kernel.org 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 7CF6D2135AC; Wed, 16 Apr 2025 16:44:58 +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=1744821898; cv=none; b=YLI5mQATj6oDW3QvyKjYUJFgv7V6LKdDNHruoYSmA2VFFxH3ZpV6CaUmv7mrGB/k/Uam0vq4aH2TO2p5ecXhpBVU7uOQ8arf5cVt3fEjbBxButdTH5/iDL4Kya8wmxtT9RdWxOvnulykP+LVXCqOGr8f3MOt2pdXoiXghNEhUYo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744821898; c=relaxed/simple; bh=0r0mi/BP6F0I5TWSsjujNCjEBDZ11myDs0TAlZWLbbk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MFxzrfBmiusH/lLMVlnN8Xf2WMqbvpEB/3eLcNi5EAqnWXQW1LL91v8xU5vmyHUf2GyiUUFL/+9uncsrhqQXqjc5iEKBadV2+xtOBYxJbYSc2eAkeI2TbbhtnuePefavSlg1dyaYuLJI2EA24CMdpcrZo8K3tHk80ICpSXXQoL0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KNYJUhUX; 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="KNYJUhUX" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9EACAC4CEE2; Wed, 16 Apr 2025 16:44:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744821898; bh=0r0mi/BP6F0I5TWSsjujNCjEBDZ11myDs0TAlZWLbbk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KNYJUhUXz91F1oOr8Yl/Md/UxSC2sfD7qBpC1mgnGkKbbkKfVeoiCL6YOOeXEtz8T s2RhhYPvZC7npN3ldiTPwO8UAccI74kCJr1mejeJVsfw2i6apEFf3loy5Xb6ymS2gy lkrz/vrsZt+olcvVXyF38zfZVOlgGOP9zKHU6e0of4DD4SxJG5hC/NdY5rut8AuNSk Q61bIGWiQBxC+HGVvh8sEVtXY3t11gFxwjmWRQyKGhcp4HPhp7fAfsX4lrQFr1M1RS Mws1S3bIQfcmVS6PvCs5K1q9HrWBfNkAOBcE86ujyOUoHVYHJXbMOx+XCTIciOGU5c 94/5g9NU1aCVw== From: Philipp Stanner To: Sunil Goutham , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Geetha sowjanya , Subbaraya Sundeep , hariprasad , Bharat Bhushan , Taras Chornyi , Daniele Venzano , Heiner Kallweit , Russell King , Thomas Gleixner , Philipp Stanner , Helge Deller , Ingo Molnar , Simon Horman , Al Viro , Sabrina Dubroca , Jacob Keller Cc: linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-parisc@vger.kernel.org Subject: [PATCH 5/8] net: ethernet: sis900: Use pure PCI devres API Date: Wed, 16 Apr 2025 18:44:05 +0200 Message-ID: <20250416164407.127261-7-phasta@kernel.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250416164407.127261-2-phasta@kernel.org> References: <20250416164407.127261-2-phasta@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org The currently used function pci_request_regions() is one of the problematic "hybrid devres" PCI functions, which are sometimes managed through devres, and sometimes not (depending on whether pci_enable_device() or pcim_enable_device() has been called before). The PCI subsystem wants to remove this behavior and, therefore, needs to port all users to functions that don't have this problem. Replace pci_request_regions() with pcim_request_all_regions(). Signed-off-by: Philipp Stanner --- drivers/net/ethernet/sis/sis900.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/sis/sis900.c b/drivers/net/ethernet/sis/sis900.c index 332cbd725900..df869f82cae8 100644 --- a/drivers/net/ethernet/sis/sis900.c +++ b/drivers/net/ethernet/sis/sis900.c @@ -468,7 +468,7 @@ static int sis900_probe(struct pci_dev *pci_dev, SET_NETDEV_DEV(net_dev, &pci_dev->dev); /* We do a request_region() to register /proc/ioports info. */ - ret = pci_request_regions(pci_dev, "sis900"); + ret = pcim_request_all_regions(pci_dev, "sis900"); if (ret) goto err_out; From patchwork Wed Apr 16 16:44:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philipp Stanner X-Patchwork-Id: 14054265 X-Patchwork-Delegate: kuba@kernel.org 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 AF8062192EC; Wed, 16 Apr 2025 16:45:04 +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=1744821904; cv=none; b=BLl/jiXFi9cuTMluIbfCWc7hOaxZAh5ZnNkZsZUpGMy3Om3F+Hu2San89t4HTbKIcSq/fy/BucqSPcqSvwFeVRPx32IAmWpQUoRum2LnYnNxKrltzkZ1Fs16Iusaq0ZSbmCjQO9Bp3oZjYfq8dSytNv3GpGEI3ArWqevHl/0pvo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744821904; c=relaxed/simple; bh=aMbylj4k052FRMtMNFmpucn2eCtk3oK7X9pyLg34jlU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Z0gbUnmGjyr/wxGrlhQ2uEqRe9MoLcZa8s6otSc4ZdGtMPzbxuvmlOuQCZMkVlh0kQcjIxocuD/4yWG57jedXiIvBQdPWEaHen004fxCurWzonQinMN10ki3hUfSM/GxpJr7i0CxkAIbGdi5bLvbiv+AhSyflB48QERTm4jwmJw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=L+grd4nu; 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="L+grd4nu" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DC703C4AF0B; Wed, 16 Apr 2025 16:44:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744821904; bh=aMbylj4k052FRMtMNFmpucn2eCtk3oK7X9pyLg34jlU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=L+grd4nuGvqBhfRZWu3jTChWYz9QoRaywQ6SjKI6z36om6n4Ju5SOYJ98px4bAxtd rkh5ii5gBtGN9cXF06RnXcHfQvTcBaJGNnoyF+cvULp9Qo1+EauBXC+CUdSUSd7wrS c24tnxy3EMD7HzDchoUJukafq2MVmL4KqvKd/q9PfocuwZL2dH0p1WPN8tVp0DTqq2 L3RhfvFNIOMwp3BbON1Lpg5YRWkkAEDs3HMh4Bo4Tc1ezg00jrtRaqoFLujverkCU/ mtDWVYCEpKmOLfpS7MzdtIb/MCnfy5tr3b38Nyg5nOmTV0b3LIAzLO/rkeuhjTjiHK KR3yPoz+wy/CQ== From: Philipp Stanner To: Sunil Goutham , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Geetha sowjanya , Subbaraya Sundeep , hariprasad , Bharat Bhushan , Taras Chornyi , Daniele Venzano , Heiner Kallweit , Russell King , Thomas Gleixner , Philipp Stanner , Helge Deller , Ingo Molnar , Simon Horman , Al Viro , Sabrina Dubroca , Jacob Keller Cc: linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-parisc@vger.kernel.org Subject: [PATCH 6/8] net: mdio: thunder: Use pure PCI devres API Date: Wed, 16 Apr 2025 18:44:06 +0200 Message-ID: <20250416164407.127261-8-phasta@kernel.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250416164407.127261-2-phasta@kernel.org> References: <20250416164407.127261-2-phasta@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org The currently used function pci_request_regions() is one of the problematic "hybrid devres" PCI functions, which are sometimes managed through devres, and sometimes not (depending on whether pci_enable_device() or pcim_enable_device() has been called before). The PCI subsystem wants to remove this behavior and, therefore, needs to port all users to functions that don't have this problem. Furthermore, the PCI function being managed implies that it's not necessary to call pci_release_regions() manually. Remove the calls to pci_release_regions(). Replace pci_request_regions() with pcim_request_all_regions(). Signed-off-by: Philipp Stanner --- drivers/net/mdio/mdio-thunder.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/net/mdio/mdio-thunder.c b/drivers/net/mdio/mdio-thunder.c index 1e1aa72b1eff..a3047f7258a7 100644 --- a/drivers/net/mdio/mdio-thunder.c +++ b/drivers/net/mdio/mdio-thunder.c @@ -40,16 +40,16 @@ static int thunder_mdiobus_pci_probe(struct pci_dev *pdev, return err; } - err = pci_request_regions(pdev, KBUILD_MODNAME); + err = pcim_request_all_regions(pdev, KBUILD_MODNAME); if (err) { - dev_err(&pdev->dev, "pci_request_regions failed\n"); + dev_err(&pdev->dev, "pcim_request_all_regions failed\n"); goto err_disable_device; } nexus->bar0 = pcim_iomap(pdev, 0, pci_resource_len(pdev, 0)); if (!nexus->bar0) { err = -ENOMEM; - goto err_release_regions; + goto err_disable_device; } i = 0; @@ -107,9 +107,6 @@ static int thunder_mdiobus_pci_probe(struct pci_dev *pdev, } return 0; -err_release_regions: - pci_release_regions(pdev); - err_disable_device: pci_set_drvdata(pdev, NULL); return err; @@ -129,7 +126,6 @@ static void thunder_mdiobus_pci_remove(struct pci_dev *pdev) mdiobus_unregister(bus->mii_bus); oct_mdio_writeq(0, bus->register_base + SMI_EN); } - pci_release_regions(pdev); pci_set_drvdata(pdev, NULL); } From patchwork Wed Apr 16 16:44:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philipp Stanner X-Patchwork-Id: 14054266 X-Patchwork-Delegate: kuba@kernel.org 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 58A2E6F53E; Wed, 16 Apr 2025 16:45:10 +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=1744821912; cv=none; b=dh15fHxbKyXCwNl9+2o0uTBhDx/cbqGRBRD2EqE1tjRjJdLWcJRJ9fzNTM41l3ndHXtn7gAG1kLBrNt2CWaOvQXxNZJQqtmHL447ZwiXO6JbFeu83Twh3CpZy9vm6oMiC//moWAZg0vTwCxvY1ojBZOwRZ57vRzpUSKBaijOx0s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744821912; c=relaxed/simple; bh=5GFi/S9V+RPxeDj71v6She90EyPqsjI1DvAkv9zvuRk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ftCjzPBYUJShApsQbZ7Q9dlIorj/v53/NPCuc7PfLEoXHlDLrA4ck3otZR8RupXBp14OW8TVpgICqn0MPOmc1kymEiaI9EF7uqTrWUp+KuUIDXFw+kGLZ+6wXux+LI/XSlSHkWISqaq+opaTbRuRD+XSrQYSbqhZRFbc5Nr5f80= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=gsCchKDQ; 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="gsCchKDQ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2168FC4CEE2; Wed, 16 Apr 2025 16:45:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744821910; bh=5GFi/S9V+RPxeDj71v6She90EyPqsjI1DvAkv9zvuRk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gsCchKDQYSDDnMi/pwI8gZLEMbdalcKBBlw85eYmiIa5uEDm390FEvsSgm9R0RWwN jbv0T891L/P7C6oHPRXziwRI2FeMrGtX+oWrlM+Yw2sErb6Vi9vKi2y2sSFK8230QV LnENN1RJP42K/WWApFQ9wN+SQ+K107HvSPQqUg3hIGIXEZU4odDdsoBz9Zrm2sRliz 61WMC5dZAi+PDlzhQ6YGVne5VpHngSgOawt5B3RbtP1SmbiUvqy5VnbOb6MOJKy6Gh cWhFTZO8dw0BXnQ+5ch2ZuQCeB9CFm/+NrG01/ATAzd1bgvOGy/eSFEGlTssTt9RSr cQGbJHNbhrWtg== From: Philipp Stanner To: Sunil Goutham , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Geetha sowjanya , Subbaraya Sundeep , hariprasad , Bharat Bhushan , Taras Chornyi , Daniele Venzano , Heiner Kallweit , Russell King , Thomas Gleixner , Philipp Stanner , Helge Deller , Ingo Molnar , Simon Horman , Al Viro , Sabrina Dubroca , Jacob Keller Cc: linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-parisc@vger.kernel.org Subject: [PATCH 7/8] net: thunder_bgx: Use pure PCI devres API Date: Wed, 16 Apr 2025 18:44:07 +0200 Message-ID: <20250416164407.127261-9-phasta@kernel.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250416164407.127261-2-phasta@kernel.org> References: <20250416164407.127261-2-phasta@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org The currently used function pci_request_regions() is one of the problematic "hybrid devres" PCI functions, which are sometimes managed through devres, and sometimes not (depending on whether pci_enable_device() or pcim_enable_device() has been called before). The PCI subsystem wants to remove this behavior and, therefore, needs to port all users to functions that don't have this problem. Furthermore, the PCI function being managed implies that it's not necessary to call pci_release_regions() manually. Remove the calls to pci_release_regions(). Replace pci_request_regions() with pcim_request_all_regions(). Signed-off-by: Philipp Stanner --- drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c index 608cc6af5af1..c9369bdd04e0 100644 --- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c +++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c @@ -1605,7 +1605,7 @@ static int bgx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) return dev_err_probe(dev, err, "Failed to enable PCI device\n"); } - err = pci_request_regions(pdev, DRV_NAME); + err = pcim_request_all_regions(pdev, DRV_NAME); if (err) { dev_err(dev, "PCI request regions failed 0x%x\n", err); goto err_disable_device; @@ -1616,7 +1616,7 @@ static int bgx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) if (!bgx->reg_base) { dev_err(dev, "BGX: Cannot map CSR memory space, aborting\n"); err = -ENOMEM; - goto err_release_regions; + goto err_disable_device; } set_max_bgx_per_node(pdev); @@ -1688,8 +1688,6 @@ static int bgx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) err_enable: bgx_vnic[bgx->bgx_id] = NULL; pci_free_irq(pdev, GMPX_GMI_TX_INT, bgx); -err_release_regions: - pci_release_regions(pdev); err_disable_device: pci_disable_device(pdev); pci_set_drvdata(pdev, NULL); @@ -1710,7 +1708,6 @@ static void bgx_remove(struct pci_dev *pdev) pci_free_irq(pdev, GMPX_GMI_TX_INT, bgx); bgx_vnic[bgx->bgx_id] = NULL; - pci_release_regions(pdev); pci_disable_device(pdev); pci_set_drvdata(pdev, NULL); } From patchwork Wed Apr 16 16:44:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philipp Stanner X-Patchwork-Id: 14054267 X-Patchwork-Delegate: kuba@kernel.org 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 A5D432163B6; Wed, 16 Apr 2025 16:45:17 +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=1744821920; cv=none; b=o9qIEyYArYg4YjUVOP+U2xDpYsVw7rfxK186tNplr234C2dh0LF3punAfscSumlC34Xlzu5nNuqfJAD6WoXf9+RZAMYzjK6W82XTnplQxlqg5wvThgar5XBLqzvSUejuSktJSmicdF0YesPNXDtdQLi9CR648UG+H4nZsuAN18A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744821920; c=relaxed/simple; bh=NZjOGkOVi+7Jb5XsEcxcNcG9G1OBjaxyKDLMX1iDNwI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=APLzcuPDiY7eaxJXUGbJdpk0khqKFYsA1KXUiMpRUoeiTjyrDq8ANguXeWKyNaUFktUkGLu4zSKWYkaGXeH2jdO3dchSSU/Rbe0P/q9bumalcRDWvtANZJQ2sxOMi4Y03Pwi9jiRXJg0zZj50k+nbUSdM/iWzDrcE8DK3ccuHm0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=bBOpy31D; 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="bBOpy31D" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5FB1FC4CEE4; Wed, 16 Apr 2025 16:45:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744821917; bh=NZjOGkOVi+7Jb5XsEcxcNcG9G1OBjaxyKDLMX1iDNwI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bBOpy31DTEtqpmXaAlAh8RgRHpANHVxKHFZIWjkeLoHLMZLHaxr0nPEGAx2hJcYr9 v/W7PP4/MzIWHEnPuCuHMzuWSZupktvfTqlaqzyVID/C3+3pnvMovCKIn1QCffwxeI QgKIc+GQCGnm5qymBDf57Wk4CWoK/S3R2o6FyMZ61pn+E4bIDKA5D70KG+OmCsgn4P 9RKfzb1ykAQUuTOS6JZXjU+D7QMcDTmGUv/RRa7ns3pURy3uvSZ2y4gIcghq9kViLn eyqHdOkNNrtRlIDK1uwSvNaIpiRTYJVVfz/w9m+7u3N8l58xzP6TW8PnZ9RrROG4Qv d9ORT1a60H/wQ== From: Philipp Stanner To: Sunil Goutham , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Geetha sowjanya , Subbaraya Sundeep , hariprasad , Bharat Bhushan , Taras Chornyi , Daniele Venzano , Heiner Kallweit , Russell King , Thomas Gleixner , Philipp Stanner , Helge Deller , Ingo Molnar , Simon Horman , Al Viro , Sabrina Dubroca , Jacob Keller Cc: linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-parisc@vger.kernel.org Subject: [PATCH 8/8] net: thunder_bgx: Don't disable PCI device manually Date: Wed, 16 Apr 2025 18:44:08 +0200 Message-ID: <20250416164407.127261-10-phasta@kernel.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250416164407.127261-2-phasta@kernel.org> References: <20250416164407.127261-2-phasta@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org thunder_bgx's PCI device is enabled with pcim_enable_device(), a managed devres function which ensures that the device gets enabled on driver detach automatically. Remove the calls to pci_disable_device(). Signed-off-by: Philipp Stanner --- drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c index c9369bdd04e0..3b7ad744b2dd 100644 --- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c +++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c @@ -1608,7 +1608,7 @@ static int bgx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) err = pcim_request_all_regions(pdev, DRV_NAME); if (err) { dev_err(dev, "PCI request regions failed 0x%x\n", err); - goto err_disable_device; + goto err_zero_drv_data; } /* MAP configuration registers */ @@ -1616,7 +1616,7 @@ static int bgx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) if (!bgx->reg_base) { dev_err(dev, "BGX: Cannot map CSR memory space, aborting\n"); err = -ENOMEM; - goto err_disable_device; + goto err_zero_drv_data; } set_max_bgx_per_node(pdev); @@ -1688,8 +1688,7 @@ static int bgx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) err_enable: bgx_vnic[bgx->bgx_id] = NULL; pci_free_irq(pdev, GMPX_GMI_TX_INT, bgx); -err_disable_device: - pci_disable_device(pdev); +err_zero_drv_data: pci_set_drvdata(pdev, NULL); return err; } @@ -1708,7 +1707,6 @@ static void bgx_remove(struct pci_dev *pdev) pci_free_irq(pdev, GMPX_GMI_TX_INT, bgx); bgx_vnic[bgx->bgx_id] = NULL; - pci_disable_device(pdev); pci_set_drvdata(pdev, NULL); }