public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 0/5] net: ag71xx: small cleanups
@ 2024-09-30 18:18 Rosen Penev
  2024-09-30 18:18 ` [PATCH net-next 1/5] net: ag71xx: use devm_ioremap_resource Rosen Penev
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Rosen Penev @ 2024-09-30 18:18 UTC (permalink / raw)
  To: netdev
  Cc: davem, edumazet, kuba, pabeni, linux, linux-kernel, o.rempel,
	p.zabel

More devm and some loose ends.

Rosen Penev (5):
  net: ag71xx: use devm_ioremap_resource
  net: ag71xx: use some dev_err_probe
  net: ag71xx: remove platform_set_drvdata
  net: ag71xx: replace INIT_LIST_HEAD
  net: ag71xx: move assignment into main loop

 drivers/net/ethernet/atheros/ag71xx.c | 37 ++++++++++-----------------
 1 file changed, 14 insertions(+), 23 deletions(-)

-- 
2.46.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH net-next 1/5] net: ag71xx: use devm_ioremap_resource
  2024-09-30 18:18 [PATCH net-next 0/5] net: ag71xx: small cleanups Rosen Penev
@ 2024-09-30 18:18 ` Rosen Penev
  2024-09-30 18:18 ` [PATCH net-next 2/5] net: ag71xx: use some dev_err_probe Rosen Penev
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Rosen Penev @ 2024-09-30 18:18 UTC (permalink / raw)
  To: netdev
  Cc: davem, edumazet, kuba, pabeni, linux, linux-kernel, o.rempel,
	p.zabel

We can just use res directly.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 drivers/net/ethernet/atheros/ag71xx.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/atheros/ag71xx.c b/drivers/net/ethernet/atheros/ag71xx.c
index 9586b6894f7e..9c85450ce859 100644
--- a/drivers/net/ethernet/atheros/ag71xx.c
+++ b/drivers/net/ethernet/atheros/ag71xx.c
@@ -1841,9 +1841,9 @@ static int ag71xx_probe(struct platform_device *pdev)
 		return PTR_ERR(ag->mac_reset);
 	}
 
-	ag->mac_base = devm_ioremap(&pdev->dev, res->start, resource_size(res));
-	if (!ag->mac_base)
-		return -ENOMEM;
+	ag->mac_base = devm_ioremap_resource(&pdev->dev, res);
+	if (IS_ERR(ag->mac_base))
+		return PTR_ERR(ag->mac_base);
 
 	/* ensure that HW is in manual polling mode before interrupts are
 	 * activated. Otherwise ag71xx_interrupt might call napi_schedule
-- 
2.46.2


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net-next 2/5] net: ag71xx: use some dev_err_probe
  2024-09-30 18:18 [PATCH net-next 0/5] net: ag71xx: small cleanups Rosen Penev
  2024-09-30 18:18 ` [PATCH net-next 1/5] net: ag71xx: use devm_ioremap_resource Rosen Penev
@ 2024-09-30 18:18 ` Rosen Penev
  2024-09-30 18:18 ` [PATCH net-next 3/5] net: ag71xx: remove platform_set_drvdata Rosen Penev
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Rosen Penev @ 2024-09-30 18:18 UTC (permalink / raw)
  To: netdev
  Cc: davem, edumazet, kuba, pabeni, linux, linux-kernel, o.rempel,
	p.zabel

These functions can return EPROBE_DEFER. Don't warn in such a case.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 drivers/net/ethernet/atheros/ag71xx.c | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/drivers/net/ethernet/atheros/ag71xx.c b/drivers/net/ethernet/atheros/ag71xx.c
index 9c85450ce859..195354b0a187 100644
--- a/drivers/net/ethernet/atheros/ag71xx.c
+++ b/drivers/net/ethernet/atheros/ag71xx.c
@@ -1822,10 +1822,9 @@ static int ag71xx_probe(struct platform_device *pdev)
 	}
 
 	clk_eth = devm_clk_get_enabled(&pdev->dev, "eth");
-	if (IS_ERR(clk_eth)) {
-		netif_err(ag, probe, ndev, "Failed to get eth clk.\n");
-		return PTR_ERR(clk_eth);
-	}
+	if (IS_ERR(clk_eth))
+		return dev_err_probe(&pdev->dev, PTR_ERR(clk_eth),
+				     "Failed to get eth clk.");
 
 	SET_NETDEV_DEV(ndev, &pdev->dev);
 
@@ -1836,10 +1835,9 @@ static int ag71xx_probe(struct platform_device *pdev)
 	memcpy(ag->fifodata, dcfg->fifodata, sizeof(ag->fifodata));
 
 	ag->mac_reset = devm_reset_control_get(&pdev->dev, "mac");
-	if (IS_ERR(ag->mac_reset)) {
-		netif_err(ag, probe, ndev, "missing mac reset\n");
-		return PTR_ERR(ag->mac_reset);
-	}
+	if (IS_ERR(ag->mac_reset))
+		return dev_err_probe(&pdev->dev, PTR_ERR(ag->mac_reset),
+				     "missing mac reset");
 
 	ag->mac_base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(ag->mac_base))
@@ -1920,10 +1918,9 @@ static int ag71xx_probe(struct platform_device *pdev)
 	platform_set_drvdata(pdev, ndev);
 
 	err = ag71xx_phylink_setup(ag);
-	if (err) {
-		netif_err(ag, probe, ndev, "failed to setup phylink (%d)\n", err);
-		return err;
-	}
+	if (err)
+		return dev_err_probe(&pdev->dev, err,
+				     "failed to setup phylink");
 
 	err = devm_register_netdev(&pdev->dev, ndev);
 	if (err) {
-- 
2.46.2


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net-next 3/5] net: ag71xx: remove platform_set_drvdata
  2024-09-30 18:18 [PATCH net-next 0/5] net: ag71xx: small cleanups Rosen Penev
  2024-09-30 18:18 ` [PATCH net-next 1/5] net: ag71xx: use devm_ioremap_resource Rosen Penev
  2024-09-30 18:18 ` [PATCH net-next 2/5] net: ag71xx: use some dev_err_probe Rosen Penev
@ 2024-09-30 18:18 ` Rosen Penev
  2024-09-30 18:18 ` [PATCH net-next 4/5] net: ag71xx: replace INIT_LIST_HEAD Rosen Penev
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Rosen Penev @ 2024-09-30 18:18 UTC (permalink / raw)
  To: netdev
  Cc: davem, edumazet, kuba, pabeni, linux, linux-kernel, o.rempel,
	p.zabel

platform_get_drvdata is never called as a result of all the devm
conversions.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 drivers/net/ethernet/atheros/ag71xx.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/net/ethernet/atheros/ag71xx.c b/drivers/net/ethernet/atheros/ag71xx.c
index 195354b0a187..ec360a3e9f0e 100644
--- a/drivers/net/ethernet/atheros/ag71xx.c
+++ b/drivers/net/ethernet/atheros/ag71xx.c
@@ -1915,8 +1915,6 @@ static int ag71xx_probe(struct platform_device *pdev)
 	if (err)
 		return err;
 
-	platform_set_drvdata(pdev, ndev);
-
 	err = ag71xx_phylink_setup(ag);
 	if (err)
 		return dev_err_probe(&pdev->dev, err,
@@ -1925,7 +1923,6 @@ static int ag71xx_probe(struct platform_device *pdev)
 	err = devm_register_netdev(&pdev->dev, ndev);
 	if (err) {
 		netif_err(ag, probe, ndev, "unable to register net device\n");
-		platform_set_drvdata(pdev, NULL);
 		return err;
 	}
 
-- 
2.46.2


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net-next 4/5] net: ag71xx: replace INIT_LIST_HEAD
  2024-09-30 18:18 [PATCH net-next 0/5] net: ag71xx: small cleanups Rosen Penev
                   ` (2 preceding siblings ...)
  2024-09-30 18:18 ` [PATCH net-next 3/5] net: ag71xx: remove platform_set_drvdata Rosen Penev
@ 2024-09-30 18:18 ` Rosen Penev
  2024-09-30 18:18 ` [PATCH net-next 5/5] net: ag71xx: move assignment into main loop Rosen Penev
  2024-10-04 16:00 ` [PATCH net-next 0/5] net: ag71xx: small cleanups patchwork-bot+netdevbpf
  5 siblings, 0 replies; 7+ messages in thread
From: Rosen Penev @ 2024-09-30 18:18 UTC (permalink / raw)
  To: netdev
  Cc: davem, edumazet, kuba, pabeni, linux, linux-kernel, o.rempel,
	p.zabel

LIST_HEAD is a shorter macro. No real difference.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 drivers/net/ethernet/atheros/ag71xx.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/atheros/ag71xx.c b/drivers/net/ethernet/atheros/ag71xx.c
index ec360a3e9f0e..067a012a5799 100644
--- a/drivers/net/ethernet/atheros/ag71xx.c
+++ b/drivers/net/ethernet/atheros/ag71xx.c
@@ -1598,8 +1598,8 @@ static int ag71xx_rx_packets(struct ag71xx *ag, int limit)
 	int ring_mask, ring_size, done = 0;
 	unsigned int pktlen_mask, offset;
 	struct ag71xx_ring *ring;
-	struct list_head rx_list;
 	struct sk_buff *skb;
+	LIST_HEAD(rx_list);
 
 	ring = &ag->rx_ring;
 	pktlen_mask = ag->dcfg->desc_pktlen_mask;
@@ -1610,8 +1610,6 @@ static int ag71xx_rx_packets(struct ag71xx *ag, int limit)
 	netif_dbg(ag, rx_status, ndev, "rx packets, limit=%d, curr=%u, dirty=%u\n",
 		  limit, ring->curr, ring->dirty);
 
-	INIT_LIST_HEAD(&rx_list);
-
 	while (done < limit) {
 		unsigned int i = ring->curr & ring_mask;
 		struct ag71xx_desc *desc = ag71xx_ring_desc(ring, i);
-- 
2.46.2


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net-next 5/5] net: ag71xx: move assignment into main loop
  2024-09-30 18:18 [PATCH net-next 0/5] net: ag71xx: small cleanups Rosen Penev
                   ` (3 preceding siblings ...)
  2024-09-30 18:18 ` [PATCH net-next 4/5] net: ag71xx: replace INIT_LIST_HEAD Rosen Penev
@ 2024-09-30 18:18 ` Rosen Penev
  2024-10-04 16:00 ` [PATCH net-next 0/5] net: ag71xx: small cleanups patchwork-bot+netdevbpf
  5 siblings, 0 replies; 7+ messages in thread
From: Rosen Penev @ 2024-09-30 18:18 UTC (permalink / raw)
  To: netdev
  Cc: davem, edumazet, kuba, pabeni, linux, linux-kernel, o.rempel,
	p.zabel

Effectively what's going on here is there's a main loop and an identical
one below with a single assignment. Simpler to move it up.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 drivers/net/ethernet/atheros/ag71xx.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/atheros/ag71xx.c b/drivers/net/ethernet/atheros/ag71xx.c
index 067a012a5799..3d4c3d8698e2 100644
--- a/drivers/net/ethernet/atheros/ag71xx.c
+++ b/drivers/net/ethernet/atheros/ag71xx.c
@@ -1646,6 +1646,7 @@ static int ag71xx_rx_packets(struct ag71xx *ag, int limit)
 
 		skb->dev = ndev;
 		skb->ip_summed = CHECKSUM_NONE;
+		skb->protocol = eth_type_trans(skb, ndev);
 		list_add_tail(&skb->list, &rx_list);
 
 next:
@@ -1657,8 +1658,6 @@ static int ag71xx_rx_packets(struct ag71xx *ag, int limit)
 
 	ag71xx_ring_rx_refill(ag);
 
-	list_for_each_entry(skb, &rx_list, list)
-		skb->protocol = eth_type_trans(skb, ndev);
 	netif_receive_skb_list(&rx_list);
 
 	netif_dbg(ag, rx_status, ndev, "rx finish, curr=%u, dirty=%u, done=%d\n",
-- 
2.46.2


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH net-next 0/5] net: ag71xx: small cleanups
  2024-09-30 18:18 [PATCH net-next 0/5] net: ag71xx: small cleanups Rosen Penev
                   ` (4 preceding siblings ...)
  2024-09-30 18:18 ` [PATCH net-next 5/5] net: ag71xx: move assignment into main loop Rosen Penev
@ 2024-10-04 16:00 ` patchwork-bot+netdevbpf
  5 siblings, 0 replies; 7+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-10-04 16:00 UTC (permalink / raw)
  To: Rosen Penev
  Cc: netdev, davem, edumazet, kuba, pabeni, linux, linux-kernel,
	o.rempel, p.zabel

Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Mon, 30 Sep 2024 11:18:18 -0700 you wrote:
> More devm and some loose ends.
> 
> Rosen Penev (5):
>   net: ag71xx: use devm_ioremap_resource
>   net: ag71xx: use some dev_err_probe
>   net: ag71xx: remove platform_set_drvdata
>   net: ag71xx: replace INIT_LIST_HEAD
>   net: ag71xx: move assignment into main loop
> 
> [...]

Here is the summary with links:
  - [net-next,1/5] net: ag71xx: use devm_ioremap_resource
    https://git.kernel.org/netdev/net-next/c/ab4239c8a724
  - [net-next,2/5] net: ag71xx: use some dev_err_probe
    https://git.kernel.org/netdev/net-next/c/27dc497b7b7e
  - [net-next,3/5] net: ag71xx: remove platform_set_drvdata
    https://git.kernel.org/netdev/net-next/c/94656823c1ac
  - [net-next,4/5] net: ag71xx: replace INIT_LIST_HEAD
    https://git.kernel.org/netdev/net-next/c/8b4ed4d5ffb6
  - [net-next,5/5] net: ag71xx: move assignment into main loop
    https://git.kernel.org/netdev/net-next/c/d14fe43e0007

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-10-04 16:00 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-30 18:18 [PATCH net-next 0/5] net: ag71xx: small cleanups Rosen Penev
2024-09-30 18:18 ` [PATCH net-next 1/5] net: ag71xx: use devm_ioremap_resource Rosen Penev
2024-09-30 18:18 ` [PATCH net-next 2/5] net: ag71xx: use some dev_err_probe Rosen Penev
2024-09-30 18:18 ` [PATCH net-next 3/5] net: ag71xx: remove platform_set_drvdata Rosen Penev
2024-09-30 18:18 ` [PATCH net-next 4/5] net: ag71xx: replace INIT_LIST_HEAD Rosen Penev
2024-09-30 18:18 ` [PATCH net-next 5/5] net: ag71xx: move assignment into main loop Rosen Penev
2024-10-04 16:00 ` [PATCH net-next 0/5] net: ag71xx: small cleanups patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox