[PATCH net-next v2 3/3] net: emaclite: Adopt clock support
Pandey, Radhey Shyam
radhey.shyam.pandey at amd.com
Tue Oct 8 07:08:50 PDT 2024
> -----Original Message-----
> From: Kalesh Anakkur Purayil <kalesh-anakkur.purayil at broadcom.com>
> Sent: Tuesday, October 8, 2024 9:12 AM
> To: Pandey, Radhey Shyam <radhey.shyam.pandey at amd.com>
> Cc: davem at davemloft.net; edumazet at google.com; kuba at kernel.org;
> pabeni at redhat.com; robh at kernel.org; krzk+dt at kernel.org; conor+dt at kernel.org;
> Simek, Michal <michal.simek at amd.com>; Katakam, Harini
> <harini.katakam at amd.com>; netdev at vger.kernel.org; devicetree at vger.kernel.org;
> linux-kernel at vger.kernel.org; linux-arm-kernel at lists.infradead.org; git (AMD-Xilinx)
> <git at amd.com>; Joseph, Abin <Abin.Joseph at amd.com>
> Subject: Re: [PATCH net-next v2 3/3] net: emaclite: Adopt clock support
>
> On Mon, Oct 7, 2024 at 8:39 PM Radhey Shyam Pandey
> <radhey.shyam.pandey at amd.com> wrote:
> >
> > From: Abin Joseph <abin.joseph at amd.com>
> >
> > Adapt to use the clock framework. Add s_axi_aclk clock from the processor
> > bus clock domain and make clk optional to keep DTB backward compatibility.
> >
> > Signed-off-by: Abin Joseph <abin.joseph at amd.com>
> > Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey at amd.com>
> > ---
> > changes for v2:
> > - None.
> > ---
> > drivers/net/ethernet/xilinx/xilinx_emaclite.c | 8 ++++++++
> > 1 file changed, 8 insertions(+)
> >
> > diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> > index 418587942527..fe901af5ddfa 100644
> > --- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> > +++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> > @@ -7,6 +7,7 @@
> > * Copyright (c) 2007 - 2013 Xilinx, Inc.
> > */
> >
> > +#include <linux/clk.h>
> > #include <linux/module.h>
> > #include <linux/platform_device.h>
> > #include <linux/uaccess.h>
> > @@ -1091,6 +1092,7 @@ static int xemaclite_of_probe(struct platform_device
> *ofdev)
> > struct net_device *ndev = NULL;
> > struct net_local *lp = NULL;
> > struct device *dev = &ofdev->dev;
> > + struct clk *clkin;
> >
> > int rc = 0;
> >
> > @@ -1127,6 +1129,12 @@ static int xemaclite_of_probe(struct platform_device
> *ofdev)
> > lp->tx_ping_pong = get_bool(ofdev, "xlnx,tx-ping-pong");
> > lp->rx_ping_pong = get_bool(ofdev, "xlnx,rx-ping-pong");
> >
> > + clkin = devm_clk_get_optional_enabled(&ofdev->dev, NULL);
> > + if (IS_ERR(clkin)) {
> > + return dev_err_probe(&ofdev->dev, PTR_ERR(clkin),
> > + "Failed to get and enable clock from Device Tree\n");
> > + }
> [Kalesh] Braces are not needed here for a single statement block.
Yes, braces not required. Will fix that in next version.
>
> Also, I do not see where you use this "clkin" in this driver. I may be
> missing something as I am not an expert in this area.
devm_clk_get_optional_enabled() -> returned clk (if valid) is prepared
and enabled.
When the device is unbound from the bus the clock will
automatically be disabled, unprepared and freed.
So clkin is not used later on.
> > +
> > rc = of_get_ethdev_address(ofdev->dev.of_node, ndev);
> > if (rc) {
> > dev_warn(dev, "No MAC address found, using random\n");
> > --
> > 2.34.1
> >
> >
>
>
> --
> Regards,
> Kalesh A P
More information about the linux-arm-kernel
mailing list