Re: [PATCH net-next v3 4/5] net: stmmac: add support for RZ/N1 GMAC

From: Serge Semin
Date: Thu Apr 18 2024 - 09:00:01 EST


On Thu, Apr 18, 2024 at 01:57:47PM +0200, Romain Gantois wrote:
> Hi Serge,
>
> On Tue, 16 Apr 2024, Serge Semin wrote:
>
> > > +static int rzn1_dwmac_pcs_init(struct stmmac_priv *priv,
> >
> > > + struct mac_device_info *hw)
> >
> > AFAICS hw is unused, and the mac_device_info instance is reached via
> > the priv pointer. What about dropping the unused argument then?
>

> Unfortunately, this is an implementation of the pcs_init() callback, which is
> also used by socfpga (see patch 4/6 in this series). The socfpga implementations
> use the hw parameter for both pcs_init() and pcs_exit() so I can't remove it.

I had that patch content in mind when was writing my comment. There is
no point in passing the hw-pointer there either because you already
have the stmmac_priv pointer. There is stmmac_priv::hw field which you
can use instead in the same way as you do in this patch. Here is the
respective change for your SoCFPGA patch:

+static int socfpga_dwmac_pcs_init(struct stmmac_priv *priv,
+ struct mac_device_info *hw)
+{
..
+
+ priv->hw->phylink_pcs = pcs;
+ return 0;
+}
+
+static void socfpga_dwmac_pcs_exit(struct stmmac_priv *priv,
+ struct mac_device_info *hw)
+{
+ if (priv->hw->phylink_pcs)
+ lynx_pcs_destroy(priv->hw->phylink_pcs);
+}

-Serge(y)

>
> Thanks,
>
> --
> Romain Gantois, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com