From: Rosen Penev <rosenp@gmail.com>
To: netdev@vger.kernel.org
Cc: davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
pabeni@redhat.com, linux@armlinux.org.uk,
linux-kernel@vger.kernel.org, o.rempel@pengutronix.de
Subject: [PATCH net-next 1/3] net: ag71xx: use devm_clk_get_enabled
Date: Mon, 12 Aug 2024 12:06:51 -0700 [thread overview]
Message-ID: <20240812190700.14270-2-rosenp@gmail.com> (raw)
In-Reply-To: <20240812190700.14270-1-rosenp@gmail.com>
Allows removal of clk_prepare_enable to simplify the code slightly.
Tested on a TP-LINK Archer C7v2.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
drivers/net/ethernet/atheros/ag71xx.c | 31 ++++++---------------------
1 file changed, 7 insertions(+), 24 deletions(-)
diff --git a/drivers/net/ethernet/atheros/ag71xx.c b/drivers/net/ethernet/atheros/ag71xx.c
index 6fc4996c8131..c22ebd3c1f46 100644
--- a/drivers/net/ethernet/atheros/ag71xx.c
+++ b/drivers/net/ethernet/atheros/ag71xx.c
@@ -691,7 +691,7 @@ static int ag71xx_mdio_probe(struct ag71xx *ag)
np = dev->of_node;
ag->mii_bus = NULL;
- ag->clk_mdio = devm_clk_get(dev, "mdio");
+ ag->clk_mdio = devm_clk_get_enabled(dev, "mdio");
if (IS_ERR(ag->clk_mdio)) {
netif_err(ag, probe, ndev, "Failed to get mdio clk.\n");
return PTR_ERR(ag->clk_mdio);
@@ -704,16 +704,13 @@ static int ag71xx_mdio_probe(struct ag71xx *ag)
}
mii_bus = devm_mdiobus_alloc(dev);
- if (!mii_bus) {
- err = -ENOMEM;
- goto mdio_err_put_clk;
- }
+ if (!mii_bus)
+ return -ENOMEM;
ag->mdio_reset = of_reset_control_get_exclusive(np, "mdio");
if (IS_ERR(ag->mdio_reset)) {
netif_err(ag, probe, ndev, "Failed to get reset mdio.\n");
- err = PTR_ERR(ag->mdio_reset);
- goto mdio_err_put_clk;
+ return PTR_ERR(ag->mdio_reset);
}
mii_bus->name = "ag71xx_mdio";
@@ -735,22 +732,17 @@ static int ag71xx_mdio_probe(struct ag71xx *ag)
err = of_mdiobus_register(mii_bus, mnp);
of_node_put(mnp);
if (err)
- goto mdio_err_put_clk;
+ return err;
ag->mii_bus = mii_bus;
return 0;
-
-mdio_err_put_clk:
- clk_disable_unprepare(ag->clk_mdio);
- return err;
}
static void ag71xx_mdio_remove(struct ag71xx *ag)
{
if (ag->mii_bus)
mdiobus_unregister(ag->mii_bus);
- clk_disable_unprepare(ag->clk_mdio);
}
static void ag71xx_hw_stop(struct ag71xx *ag)
@@ -1845,7 +1837,7 @@ static int ag71xx_probe(struct platform_device *pdev)
return -EINVAL;
}
- ag->clk_eth = devm_clk_get(&pdev->dev, "eth");
+ ag->clk_eth = devm_clk_get_enabled(&pdev->dev, "eth");
if (IS_ERR(ag->clk_eth)) {
netif_err(ag, probe, ndev, "Failed to get eth clk.\n");
return PTR_ERR(ag->clk_eth);
@@ -1925,19 +1917,13 @@ static int ag71xx_probe(struct platform_device *pdev)
netif_napi_add_weight(ndev, &ag->napi, ag71xx_poll,
AG71XX_NAPI_WEIGHT);
- err = clk_prepare_enable(ag->clk_eth);
- if (err) {
- netif_err(ag, probe, ndev, "Failed to enable eth clk.\n");
- return err;
- }
-
ag71xx_wr(ag, AG71XX_REG_MAC_CFG1, 0);
ag71xx_hw_init(ag);
err = ag71xx_mdio_probe(ag);
if (err)
- goto err_put_clk;
+ return err;
platform_set_drvdata(pdev, ndev);
@@ -1962,8 +1948,6 @@ static int ag71xx_probe(struct platform_device *pdev)
err_mdio_remove:
ag71xx_mdio_remove(ag);
-err_put_clk:
- clk_disable_unprepare(ag->clk_eth);
return err;
}
@@ -1978,7 +1962,6 @@ static void ag71xx_remove(struct platform_device *pdev)
ag = netdev_priv(ndev);
unregister_netdev(ndev);
ag71xx_mdio_remove(ag);
- clk_disable_unprepare(ag->clk_eth);
platform_set_drvdata(pdev, NULL);
}
--
2.46.0
next prev parent reply other threads:[~2024-08-12 19:07 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-12 19:06 [PATCH net-next 0/3] use more devm Rosen Penev
2024-08-12 19:06 ` Rosen Penev [this message]
2024-08-12 20:48 ` [PATCH net-next 1/3] net: ag71xx: use devm_clk_get_enabled Daniel Golle
2024-08-12 21:08 ` Rosen Penev
2024-08-12 19:06 ` [PATCH net-next 2/3] net: ag71xx: use devm for of_mdiobus_register Rosen Penev
2024-08-12 20:48 ` Daniel Golle
2024-08-12 21:27 ` Andrew Lunn
2024-08-12 21:35 ` Rosen Penev
2024-08-12 21:42 ` Andrew Lunn
2024-08-13 2:50 ` Rosen Penev
2024-08-12 23:35 ` Rosen Penev
2024-08-13 10:52 ` Simon Horman
2024-08-12 19:06 ` [PATCH net-next 3/3] net: ag71xx: use devm for register_netdev Rosen Penev
2024-08-12 20:49 ` Daniel Golle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240812190700.14270-2-rosenp@gmail.com \
--to=rosenp@gmail.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=o.rempel@pengutronix.de \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.