Re: [net-next: PATCH 03/12] net: dsa: switch to device_/fwnode_ APIs

From: Marcin Wojtas
Date: Tue Jun 21 2022 - 05:28:14 EST


pon., 20 cze 2022 o 19:41 Andy Shevchenko
<andriy.shevchenko@xxxxxxxxxxxxxxx> napisał(a):
>
> On Mon, Jun 20, 2022 at 05:02:16PM +0200, Marcin Wojtas wrote:
> > In order to support both ACPI and DT, modify the generic
> > DSA code to use device_/fwnode_ equivalent routines.
> > No functional change is introduced by this patch.
>
> ...
>
> > struct device_node *dn;
>
> What prevents us from removing this?

I left it to satisfy possible issues with backward compatibility - I
migrated mv88e6xxx, other DSA drivers still rely on of_* and may use
this field.

>
> > + struct fwnode_handle *fwnode;
>
> ...
>
> > - dn = of_get_child_by_name(ds->dev->of_node, "mdio");
> > + fwnode = fwnode_get_named_child_node(ds->dev->fwnode, "mdio");
>
> The rule of thumb is avoid dereferencing fwnode from struct device. So
> dev_fwnode(), but here it would be achieved by device_get_named_child_node().
>

Ok, thanks - will do for all occurences.

> ...
>
> > -static int dsa_switch_parse_of(struct dsa_switch *ds, struct device_node *dn)
> > +static int dsa_switch_parse_of(struct dsa_switch *ds, struct fwnode_handle *fwnode)
>
> Shouldn't _of suffix be replaced by, let's say, _fw?
>

I thought about it and can perform such naming update in next iteration.

> ...
>
> > - return dsa_switch_parse_ports_of(ds, dn);
> > + return dsa_switch_parse_ports_of(ds, fwnode);
>
> Ditto.
>
> ...
>
> > + fwnode = ds->dev->fwnode;
>
> dev_fwnode() or corresponding device_property_ API.
>

OK.

> ...
>
> > slave_dev->dev.of_node = port->dn;
> > + slave_dev->dev.fwnode = port->fwnode;
>
> device_set_node()
>

OK.

Thanks,
Marcin