diff mbox series

[net-next:,04/12] net: mvpp2: initialize port fwnode pointer

Message ID 20220620150225.1307946-5-mw@semihalf.com
State New
Headers show
Series ACPI support for DSA | expand

Commit Message

Marcin Wojtas June 20, 2022, 3:02 p.m. UTC
As a preparation to switch the DSA subsystem from using
of_find_net_device_by_node() to its more generic fwnode_
equivalent, the port's device structure should be updated
with its fwnode pointer, similarly to of_node - see analogous
commit c4053ef32208 ("net: mvpp2: initialize port of_node pointer").

This patch is required to prevent a regression before updating
the DSA API on boards that connect the mvpp2 port to switch,
such as Clearfog GT-8K or CN913x CEx7 Evaluation Board.

Signed-off-by: Marcin Wojtas <mw@semihalf.com>
---
 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Andy Shevchenko June 20, 2022, 5:43 p.m. UTC | #1
On Mon, Jun 20, 2022 at 05:02:17PM +0200, Marcin Wojtas wrote:
> As a preparation to switch the DSA subsystem from using
> of_find_net_device_by_node() to its more generic fwnode_
> equivalent, the port's device structure should be updated
> with its fwnode pointer, similarly to of_node - see analogous
> commit c4053ef32208 ("net: mvpp2: initialize port of_node pointer").
> 
> This patch is required to prevent a regression before updating
> the DSA API on boards that connect the mvpp2 port to switch,
> such as Clearfog GT-8K or CN913x CEx7 Evaluation Board.

...

>  	dev->dev.of_node = port_node;
> +	dev->dev.fwnode = port_fwnode;

device_set_node() ?
Andy Shevchenko June 20, 2022, 5:44 p.m. UTC | #2
On Mon, Jun 20, 2022 at 08:43:05PM +0300, Andy Shevchenko wrote:
> On Mon, Jun 20, 2022 at 05:02:17PM +0200, Marcin Wojtas wrote:
> > As a preparation to switch the DSA subsystem from using
> > of_find_net_device_by_node() to its more generic fwnode_
> > equivalent, the port's device structure should be updated
> > with its fwnode pointer, similarly to of_node - see analogous
> > commit c4053ef32208 ("net: mvpp2: initialize port of_node pointer").
> > 
> > This patch is required to prevent a regression before updating
> > the DSA API on boards that connect the mvpp2 port to switch,
> > such as Clearfog GT-8K or CN913x CEx7 Evaluation Board.
> 
> ...
> 
> >  	dev->dev.of_node = port_node;
> > +	dev->dev.fwnode = port_fwnode;
> 
> device_set_node() ?

Ah, important remark to all device_set_node() comments. It assumes that you
replace _both_ assignments with _single_ call.
Marcin Wojtas June 21, 2022, 9:28 a.m. UTC | #3
pon., 20 cze 2022 o 19:44 Andy Shevchenko
<andriy.shevchenko@linux.intel.com> napisaƂ(a):
>
> On Mon, Jun 20, 2022 at 08:43:05PM +0300, Andy Shevchenko wrote:
> > On Mon, Jun 20, 2022 at 05:02:17PM +0200, Marcin Wojtas wrote:
> > > As a preparation to switch the DSA subsystem from using
> > > of_find_net_device_by_node() to its more generic fwnode_
> > > equivalent, the port's device structure should be updated
> > > with its fwnode pointer, similarly to of_node - see analogous
> > > commit c4053ef32208 ("net: mvpp2: initialize port of_node pointer").
> > >
> > > This patch is required to prevent a regression before updating
> > > the DSA API on boards that connect the mvpp2 port to switch,
> > > such as Clearfog GT-8K or CN913x CEx7 Evaluation Board.
> >
> > ...
> >
> > >     dev->dev.of_node = port_node;
> > > +   dev->dev.fwnode = port_fwnode;
> >
> > device_set_node() ?
>
> Ah, important remark to all device_set_node() comments. It assumes that you
> replace _both_ assignments with _single_ call.
>

OK, will do.

Thanks,
Marcin
diff mbox series

Patch

diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
index b84128b549b4..cd2f113bb1a4 100644
--- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
+++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
@@ -6869,6 +6869,7 @@  static int mvpp2_port_probe(struct platform_device *pdev,
 	/* 9704 == 9728 - 20 and rounding to 8 */
 	dev->max_mtu = MVPP2_BM_JUMBO_PKT_SIZE;
 	dev->dev.of_node = port_node;
+	dev->dev.fwnode = port_fwnode;
 
 	port->pcs_gmac.ops = &mvpp2_phylink_gmac_pcs_ops;
 	port->pcs_xlg.ops = &mvpp2_phylink_xlg_pcs_ops;