* [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