From patchwork Mon Mar 24 09:29:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philipp Stanner X-Patchwork-Id: 14026974 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 0EEDF25DB1A; Mon, 24 Mar 2025 09:30:14 +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=1742808615; cv=none; b=tBFPm2/A+4G8GdZmbIxdF0vbjl+BfermY4968OThpTo22FvWYmLvkZxA10wl118DTAHX96u6J1S7qxdtVatrE9RM+/+/PQluDut14aBp/J7/vIcRrcSt65gcl6krlul+ZU/eKrlcglnNJlUpHKLe0MskplOxJ8VXKlv4HXLy8+k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742808615; c=relaxed/simple; bh=qvEF2fJCzu5X8V0NTQGWFGFuFTWwf3k9To8iBhwcuKU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jQnAgI3Jd3Cftbfuj/J4MNf6e5DddhFABa6xDuCQarR5Te5KIZTRUIrcB9BAULCXlcn6KG+vaHbZAcVVx4alcuuqzAytJ6ABJbO6Pmk3H8V46SuUkKmM0QLLoWQRlzG0FTzgsoaIimipBslLxYlLPiNbqP3d9JLr7DzlE7G//BE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=dQsnjwgT; 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="dQsnjwgT" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 09F0DC4CEDD; Mon, 24 Mar 2025 09:30:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1742808614; bh=qvEF2fJCzu5X8V0NTQGWFGFuFTWwf3k9To8iBhwcuKU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dQsnjwgT19IobHoC77xagOBHjM7+X2zTsG1p1KVZ3LoGlVjSTJPz53YbBM8usS1qy QHTbZJ0GfhHscbbCY+xKD+rYoIAWtWt7v9WSaTRWhXuw730nJMZjSQGnFgBVb1mhRW UB150Qv5i5rEO3kmLxtqk+r5/A3d6hdxUjE2sHM4aanOodw4SOTJ8P++ZtNsEHKQF/ HKNR+Fke3jd2L7d2Jw9jadWwZyPlGcZtyUN4x1naENebpKav3/V6W1xSp3OZ7evUTz k23hATeNsw3OK5W4O01F2DZH27fN5JY9otAVSwBxtrkKqhOUCvzX8/cQEmYoyTyIWZ 6onfFyj67rbgQ== From: Philipp Stanner To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Alexandre Torgue , Huacai Chen , Yanteng Si , Serge Semin , Yinggang Gu Cc: netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Philipp Stanner , Andrew Lunn , Huacai Chen , Henry Chen , Jacob Keller Subject: [PATCH net-next v4 1/3] stmmac: loongson: Remove surplus loop Date: Mon, 24 Mar 2025 10:29:28 +0100 Message-ID: <20250324092928.9482-4-phasta@kernel.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250324092928.9482-2-phasta@kernel.org> References: <20250324092928.9482-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 loongson_dwmac_probe() contains a loop which doesn't have an effect, because it tries to call pcim_iomap_regions() with the same parameters several times. The break statement at the loop's end furthermore ensures that the loop only runs once anyways. Remove the surplus loop. Signed-off-by: Philipp Stanner Reviewed-by: Andrew Lunn Reviewed-by: Yanteng Si Reviewed-by: Huacai Chen Tested-by: Henry Chen Reviewed-by: Jacob Keller --- .../net/ethernet/stmicro/stmmac/dwmac-loongson.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c index f1c62f237e58..7e8495547934 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c @@ -536,7 +536,7 @@ static int loongson_dwmac_probe(struct pci_dev *pdev, const struct pci_device_id struct stmmac_pci_info *info; struct stmmac_resources res; struct loongson_data *ld; - int ret, i; + int ret; plat = devm_kzalloc(&pdev->dev, sizeof(*plat), GFP_KERNEL); if (!plat) @@ -566,14 +566,9 @@ static int loongson_dwmac_probe(struct pci_dev *pdev, const struct pci_device_id pci_set_master(pdev); /* Get the base address of device */ - for (i = 0; i < PCI_STD_NUM_BARS; i++) { - if (pci_resource_len(pdev, i) == 0) - continue; - ret = pcim_iomap_regions(pdev, BIT(0), DRIVER_NAME); - if (ret) - goto err_disable_device; - break; - } + ret = pcim_iomap_regions(pdev, BIT(0), DRIVER_NAME); + if (ret) + goto err_disable_device; memset(&res, 0, sizeof(res)); res.addr = pcim_iomap_table(pdev)[0]; From patchwork Mon Mar 24 09:29:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philipp Stanner X-Patchwork-Id: 14026975 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 C31B225DCEF; Mon, 24 Mar 2025 09:30:19 +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=1742808619; cv=none; b=WT/dtA9l/GDEPYLHqZo3qld3YuX7OVeL3A5KNAmv/+MosjyZ09DXs+64AZkaKyBEWc8v7abhaTGjGtn3ttaX4gYt+8RpJgWTxHMKvTwfM0GA2NuiVuoyVyU2PwIKcsaVyKID8VBS/ZMdrIqbD7n+syDWzfs2O6cJsm6NeG+mygc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742808619; c=relaxed/simple; bh=psaOY5ZeahrGZpzq30alFkBQeU/NMOJb98eC6ZEqwbY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tnDQL0gDWe7ZoZKCiGyc0WwknCDTONHTX18DDsNBgKr/TUaHeqsGJNX2O4Fy/+5EPCrFF3iJCrJyc2LXXG14JI43lWSLvN4FPlmhdgdI4KHE7+FBJ90q6p+KtbBhnkMErQswlSiuC3VIzYILVaqJaho4Jd7Wx3h7Ov5b42IexmM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Ne+EECTv; 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="Ne+EECTv" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0DA39C4CEE4; Mon, 24 Mar 2025 09:30:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1742808619; bh=psaOY5ZeahrGZpzq30alFkBQeU/NMOJb98eC6ZEqwbY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Ne+EECTvB01cWO85loW2xuaenERgxUwoB6VUIjmaVrCWD+hvF2ToBYezsihD58Qcz 5jMvH4hxOZpLf7d9XZF28HUbJwioHic72EsEi2Gn3i3yTwY9m3F9xgj4UNWMHydoM0 0+7ygZFTa9qhNgqhI/+ZjezQ6AVipjE530KQlChwiNd7qNuKMqmzC2c1NN52kqwdsA f1y/8b86HIG7XPexUudNEXhfsOSv6TNI3RtykSGudWvVJEnXjKjcXKLJRsG02RDwDL Tx/Nd4G67kakPn0iupwb8vNZ/+P+4/WWDHajxeaz9yDeVH4fx2i3edz79D66GDQZmG osauy+8wB6s6w== From: Philipp Stanner To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Alexandre Torgue , Huacai Chen , Yanteng Si , Serge Semin , Yinggang Gu Cc: netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Philipp Stanner , Andrew Lunn , Henry Chen , Jacob Keller Subject: [PATCH net-next v4 2/3] stmmac: Remove pcim_* functions for driver detach Date: Mon, 24 Mar 2025 10:29:29 +0100 Message-ID: <20250324092928.9482-5-phasta@kernel.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250324092928.9482-2-phasta@kernel.org> References: <20250324092928.9482-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 Functions prefixed with "pcim_" are managed devres functions which perform automatic cleanup once the driver unloads. It is, thus, not necessary to call any cleanup functions in remove() callbacks. Remove the pcim_ cleanup function calls in the remove() callbacks. Signed-off-by: Philipp Stanner Reviewed-by: Andrew Lunn Reviewed-by: Yanteng Si Tested-by: Henry Chen Reviewed-by: Jacob Keller --- drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c | 8 -------- drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c | 12 +----------- 2 files changed, 1 insertion(+), 19 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c index 7e8495547934..e015e54d9190 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c @@ -619,7 +619,6 @@ static void loongson_dwmac_remove(struct pci_dev *pdev) struct net_device *ndev = dev_get_drvdata(&pdev->dev); struct stmmac_priv *priv = netdev_priv(ndev); struct loongson_data *ld; - int i; ld = priv->plat->bsp_priv; stmmac_dvr_remove(&pdev->dev); @@ -630,13 +629,6 @@ static void loongson_dwmac_remove(struct pci_dev *pdev) if (ld->loongson_id == DWMAC_CORE_LS_MULTICHAN) loongson_dwmac_msi_clear(pdev); - for (i = 0; i < PCI_STD_NUM_BARS; i++) { - if (pci_resource_len(pdev, i) == 0) - continue; - pcim_iounmap_regions(pdev, BIT(i)); - break; - } - pci_disable_device(pdev); } diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c index 352b01678c22..1637c8139b9d 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c @@ -226,21 +226,11 @@ static int stmmac_pci_probe(struct pci_dev *pdev, * stmmac_pci_remove * * @pdev: platform device pointer - * Description: this function calls the main to free the net resources - * and releases the PCI resources. + * Description: this function calls the main to free the net resources. */ static void stmmac_pci_remove(struct pci_dev *pdev) { - int i; - stmmac_dvr_remove(&pdev->dev); - - for (i = 0; i < PCI_STD_NUM_BARS; i++) { - if (pci_resource_len(pdev, i) == 0) - continue; - pcim_iounmap_regions(pdev, BIT(i)); - break; - } } static int __maybe_unused stmmac_pci_suspend(struct device *dev) From patchwork Mon Mar 24 09:29:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philipp Stanner X-Patchwork-Id: 14026976 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 5777F25D909; Mon, 24 Mar 2025 09:30:24 +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=1742808624; cv=none; b=GoQX/N2kbmyJLfnYmpmEa+00PKJ0K77OPAt7vWMnXSaikAos56B5brjqcYWT9ZC1Zu6ygc9PNeRkAEo4T+ArmMgjeDUlhivNY0RcPDY+iPxe5NXHnR0xqxvJplraTStpK0sRDEpjpGD9U9Qe7p1YiYcIZ9GSplKHpP6rRrZcS8Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742808624; c=relaxed/simple; bh=IPzrS0/Zcd1NgbTKD2p6gprmFogxoNJ569d846NwIW0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NCdWTtdvDy8V+0qWQWPyDOVMINjTHmM5lE8bsPppiuZdqszYPcMFV/CuHihvpOAFF8ZDSGTrxQuE0Ai+gBdvxoC++J5y5NMW/TzgrBKuMuKAO0HCHGMnn99/xvyJCBaubwBb7p5hRBeMPJk1XS7McLZ3y8Zjg5vQp0S0pgXmGE8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ijNDJqpO; 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="ijNDJqpO" Received: by smtp.kernel.org (Postfix) with ESMTPSA id BD1E9C4CEDD; Mon, 24 Mar 2025 09:30:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1742808624; bh=IPzrS0/Zcd1NgbTKD2p6gprmFogxoNJ569d846NwIW0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ijNDJqpOO/9i/N70VDeLvEcXIYYBfUVNZaMbGsiH+SN6JXsWEQNTYaU5Yg56bkDrq ASlVFNPr8XpZVXQbahLP5/XBLN6Vx9RDzHQKrh1XtCDR5FH8VEDTp+hM3jcvJotkZn Y9jx6KGtekRJi97hnODq2Qm2TsRIUYsPsZ+4w6RDLu5DhQuYQAeESzjUGqQUBo+Fpr cFBLJPAZjIjR9Xg6vbNAZtuiPACjWDcXk2OwCWR3gGSHBWEZmMghj+Cvty9uYa2ng1 Kl08LPtdM9Q6vSI829TTCo8Fd+e9OJ+64lpH2n35grdfFUhwmitVXWeAWCTLH3zIkW hfGs94nL4i1cQ== From: Philipp Stanner To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Alexandre Torgue , Huacai Chen , Yanteng Si , Serge Semin , Yinggang Gu Cc: netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Philipp Stanner , Andrew Lunn , Huacai Chen , Henry Chen , Jacob Keller Subject: [PATCH net-next v4 3/3] stmmac: Replace deprecated PCI functions Date: Mon, 24 Mar 2025 10:29:30 +0100 Message-ID: <20250324092928.9482-6-phasta@kernel.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250324092928.9482-2-phasta@kernel.org> References: <20250324092928.9482-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 PCI functions - pcim_iomap_regions() and - pcim_iomap_table() have been deprecated. Replace them with their successor function, pcim_iomap_region(). Make variable declaration order at closeby places comply with reverse christmas tree order. Reviewed-by: Andrew Lunn Reviewed-by: Huacai Chen Tested-by: Henry Chen Signed-off-by: Philipp Stanner Reviewed-by: Jacob Keller --- drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c | 8 +++----- drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c | 12 +++++------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c index e015e54d9190..1a93787056a7 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c @@ -533,8 +533,8 @@ static int loongson_dwmac_fix_reset(void *priv, void __iomem *ioaddr) static int loongson_dwmac_probe(struct pci_dev *pdev, const struct pci_device_id *id) { struct plat_stmmacenet_data *plat; + struct stmmac_resources res = {}; struct stmmac_pci_info *info; - struct stmmac_resources res; struct loongson_data *ld; int ret; @@ -566,13 +566,11 @@ static int loongson_dwmac_probe(struct pci_dev *pdev, const struct pci_device_id pci_set_master(pdev); /* Get the base address of device */ - ret = pcim_iomap_regions(pdev, BIT(0), DRIVER_NAME); + res.addr = pcim_iomap_region(pdev, 0, DRIVER_NAME); + ret = PTR_ERR_OR_ZERO(res.addr); if (ret) goto err_disable_device; - memset(&res, 0, sizeof(res)); - res.addr = pcim_iomap_table(pdev)[0]; - plat->bsp_priv = ld; plat->setup = loongson_dwmac_setup; plat->fix_soc_reset = loongson_dwmac_fix_reset; diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c index 1637c8139b9d..9c1b54b701f7 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c @@ -155,9 +155,9 @@ static int stmmac_pci_probe(struct pci_dev *pdev, { struct stmmac_pci_info *info = (struct stmmac_pci_info *)id->driver_data; struct plat_stmmacenet_data *plat; - struct stmmac_resources res; - int i; + struct stmmac_resources res = {}; int ret; + int i; plat = devm_kzalloc(&pdev->dev, sizeof(*plat), GFP_KERNEL); if (!plat) @@ -192,9 +192,9 @@ static int stmmac_pci_probe(struct pci_dev *pdev, for (i = 0; i < PCI_STD_NUM_BARS; i++) { if (pci_resource_len(pdev, i) == 0) continue; - ret = pcim_iomap_regions(pdev, BIT(i), pci_name(pdev)); - if (ret) - return ret; + res.addr = pcim_iomap_region(pdev, i, STMMAC_RESOURCE_NAME); + if (IS_ERR(res.addr)) + return PTR_ERR(res.addr); break; } @@ -204,8 +204,6 @@ static int stmmac_pci_probe(struct pci_dev *pdev, if (ret) return ret; - memset(&res, 0, sizeof(res)); - res.addr = pcim_iomap_table(pdev)[i]; res.wol_irq = pdev->irq; res.irq = pdev->irq;