From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: Yangtao Li <frank.li@vivo.com>
Cc: <clement.leger@bootlin.com>, <andrew@lunn.ch>,
<f.fainelli@gmail.com>, <olteanv@gmail.com>,
<davem@davemloft.net>, <edumazet@google.com>, <kuba@kernel.org>,
<pabeni@redhat.com>, <ulli.kroll@googlemail.com>,
<linus.walleij@linaro.org>, <marcin.s.wojtas@gmail.com>,
<linux@armlinux.org.uk>, <alexandre.torgue@foss.st.com>,
<joabreu@synopsys.com>, <mcoquelin.stm32@gmail.com>,
<hkallweit1@gmail.com>, <u.kleine-koenig@pengutronix.de>,
<jacob.e.keller@intel.com>, <justinstitt@google.com>,
<sd@queasysnail.net>, <horms@kernel.org>,
<linux-renesas-soc@vger.kernel.org>, <netdev@vger.kernel.org>,
<linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-stm32@st-md-mailman.stormreply.com>
Subject: Re: [net-next v3 4/9] net: mdio: hisi-femac: Convert to devm_clk_get_enabled()
Date: Tue, 27 Aug 2024 11:50:40 +0100 [thread overview]
Message-ID: <20240827115040.000017b0@Huawei.com> (raw)
In-Reply-To: <20240827095712.2672820-5-frank.li@vivo.com>
On Tue, 27 Aug 2024 03:57:07 -0600
Yangtao Li <frank.li@vivo.com> wrote:
> Convert devm_clk_get(), clk_prepare_enable() to a single
> call to devm_clk_get_enabled(), as this is exactly
> what this function does.
>
> Signed-off-by: Yangtao Li <frank.li@vivo.com>
Mixing an matching devm and otherwise can lead to subtle bugs
and generally makes the code harder to review
I'd also use devm_mdiobus_alloc_size() and devm_mdiobus_register()
and drop the remove() callback entirely.
I would not take this patch on its own as it causes a reordering
of cleanup we probably don't want.
As a general rule, single action devm cleanup series (so only using
one new type) fall into this trap. Much better to look at all the
improvements in each driver that are enabled by new infrastructure
rather than doing a single type change series like this one.
Thanks,
Jonathan
> ---
> drivers/net/mdio/mdio-hisi-femac.c | 18 +++++-------------
> 1 file changed, 5 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/net/mdio/mdio-hisi-femac.c b/drivers/net/mdio/mdio-hisi-femac.c
> index 6703f626ee83..f6fcb9e11624 100644
> --- a/drivers/net/mdio/mdio-hisi-femac.c
> +++ b/drivers/net/mdio/mdio-hisi-femac.c
> @@ -21,7 +21,6 @@
> #define BIT_WR_DATA_OFFSET 16
>
> struct hisi_femac_mdio_data {
> - struct clk *clk;
> void __iomem *membase;
> };
>
> @@ -74,6 +73,7 @@ static int hisi_femac_mdio_probe(struct platform_device *pdev)
> struct device_node *np = pdev->dev.of_node;
> struct mii_bus *bus;
> struct hisi_femac_mdio_data *data;
> + struct clk *clk;
> int ret;
>
> bus = mdiobus_alloc_size(sizeof(*data));
> @@ -93,26 +93,20 @@ static int hisi_femac_mdio_probe(struct platform_device *pdev)
> goto err_out_free_mdiobus;
> }
>
> - data->clk = devm_clk_get(&pdev->dev, NULL);
> - if (IS_ERR(data->clk)) {
> - ret = PTR_ERR(data->clk);
> + clk = devm_clk_get_prepared(&pdev->dev, NULL);
> + if (IS_ERR(clk)) {
> + ret = PTR_ERR(clk);
> goto err_out_free_mdiobus;
> }
>
> - ret = clk_prepare_enable(data->clk);
> - if (ret)
> - goto err_out_free_mdiobus;
> -
> ret = of_mdiobus_register(bus, np);
> if (ret)
> - goto err_out_disable_clk;
> + goto err_out_free_mdiobus;
>
> platform_set_drvdata(pdev, bus);
>
> return 0;
>
> -err_out_disable_clk:
> - clk_disable_unprepare(data->clk);
> err_out_free_mdiobus:
> mdiobus_free(bus);
> return ret;
> @@ -121,10 +115,8 @@ static int hisi_femac_mdio_probe(struct platform_device *pdev)
> static void hisi_femac_mdio_remove(struct platform_device *pdev)
> {
> struct mii_bus *bus = platform_get_drvdata(pdev);
> - struct hisi_femac_mdio_data *data = bus->priv;
>
> mdiobus_unregister(bus);
> - clk_disable_unprepare(data->clk);
> mdiobus_free(bus);
> }
>
next prev parent reply other threads:[~2024-08-27 10:50 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-27 9:57 [net-next v3 0/9] net: convert to devm_clk_get_enabled() and devm_clk_get_optional_enabled() Yangtao Li
2024-08-27 9:57 ` [net-next v3 1/9] net: stmmac: dwmac-intel-plat: Convert to devm_clk_get_enabled() Yangtao Li
2024-08-27 11:20 ` Russell King (Oracle)
2024-08-27 14:51 ` Simon Horman
2024-08-27 9:57 ` [net-next v3 2/9] net: stmmac: platform: Convert to devm_clk_get_enabled() and devm_clk_get_optional_enabled() Yangtao Li
2024-08-27 14:53 ` Simon Horman
2024-08-29 7:22 ` Serge Semin
2024-08-27 9:57 ` [net-next v3 3/9] net: ethernet: cortina: Convert to devm_clk_get_enabled() Yangtao Li
2024-08-27 10:53 ` Jonathan Cameron
2024-08-27 11:25 ` Russell King (Oracle)
2024-08-27 9:57 ` [net-next v3 4/9] net: mdio: hisi-femac: " Yangtao Li
2024-08-27 10:50 ` Jonathan Cameron [this message]
2024-08-27 9:57 ` [net-next v3 5/9] net: dsa: rzn1_a5psw: " Yangtao Li
2024-08-27 12:03 ` Geert Uytterhoeven
2024-08-27 9:57 ` [net-next v3 6/9] net: ethernet: broadcom: bcm63xx_enet: " Yangtao Li
2024-08-27 10:57 ` Jonathan Cameron
2024-08-27 9:57 ` [net-next v3 7/9] net: ethernet: marvell: mvneta: " Yangtao Li
2024-08-27 10:58 ` Jonathan Cameron
2024-08-27 9:57 ` [net-next v3 8/9] net: mvpp2: Convert to devm_clk_get_enabled() and devm_clk_get_optional_enabled() Yangtao Li
2024-08-27 11:09 ` Jonathan Cameron
2024-08-28 6:25 ` Marcin Wojtas
2024-08-28 7:12 ` Geert Uytterhoeven
2024-08-28 13:39 ` Marcin Wojtas
2024-08-27 14:55 ` Simon Horman
2024-08-27 9:57 ` [net-next v3 9/9] net: marvell: pxa168_eth: Convert to devm_clk_get_enabled() Yangtao Li
2024-08-27 11:11 ` Jonathan Cameron
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=20240827115040.000017b0@Huawei.com \
--to=jonathan.cameron@huawei.com \
--cc=alexandre.torgue@foss.st.com \
--cc=andrew@lunn.ch \
--cc=clement.leger@bootlin.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=frank.li@vivo.com \
--cc=hkallweit1@gmail.com \
--cc=horms@kernel.org \
--cc=jacob.e.keller@intel.com \
--cc=joabreu@synopsys.com \
--cc=justinstitt@google.com \
--cc=kuba@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=linux@armlinux.org.uk \
--cc=marcin.s.wojtas@gmail.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=sd@queasysnail.net \
--cc=u.kleine-koenig@pengutronix.de \
--cc=ulli.kroll@googlemail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).