Re: [PATCH net-next v6 6/6] net: dsa: microchip: ksz8: move all DSA configurations to one location

From: Arun.Ramadoss
Date: Fri Nov 25 2022 - 02:14:47 EST


Hi Oleksij,

On Fri, 2022-11-25 at 06:52 +0100, Oleksij Rempel wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
>
> Hi Arun,
>
> On Thu, Nov 24, 2022 at 03:05:27PM +0000, Arun.Ramadoss@xxxxxxxxxxxxx
> wrote:
> > Hi Oleksij,
> > On Thu, 2022-11-24 at 11:14 +0100, Oleksij Rempel wrote:
> > > EXTERNAL EMAIL: Do not click links or open attachments unless you
> > > know the content is safe
> > >
> > > To make the code more comparable to KSZ9477 code, move DSA
> > > configurations to the same location.
> > >
> > > Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
> > > ---
> > > drivers/net/dsa/microchip/ksz8795.c | 20 ++++++++++----------
> > > 1 file changed, 10 insertions(+), 10 deletions(-)
> > >
> > > diff --git a/drivers/net/dsa/microchip/ksz8795.c
> > > b/drivers/net/dsa/microchip/ksz8795.c
> > > index 060e41b9b6ef..003b0ac2854c 100644
> > > --- a/drivers/net/dsa/microchip/ksz8795.c
> > > +++ b/drivers/net/dsa/microchip/ksz8795.c
> > > @@ -1359,6 +1359,16 @@ int ksz8_setup(struct dsa_switch *ds)
> > >
> > > ds->mtu_enforcement_ingress = true;
> > >
> > > + /* We rely on software untagging on the CPU port, so that
> > > we
> > > + * can support both tagged and untagged VLANs
> > > + */
> > > + ds->untag_bridge_pvid = true;
> > > +
> > > + /* VLAN filtering is partly controlled by the global VLAN
> > > + * Enable flag
> > > + */
> > > + ds->vlan_filtering_is_global = true;
> > > +
> > > ksz_cfg(dev, S_REPLACE_VID_CTRL, SW_FLOW_CTRL, true);
> > >
> > > /* Enable automatic fast aging when link changed
> > > detected. */
> > > @@ -1418,16 +1428,6 @@ int ksz8_switch_init(struct ksz_device
> > > *dev)
> > > dev->phy_port_cnt = dev->info->port_cnt - 1;
> > > dev->port_mask = (BIT(dev->phy_port_cnt) - 1) | dev-
> > > >info-
> > > > cpu_ports;
> >
> > Since you moved dsa related items to ksz8_setup, remaining items in
> > ksz8_switch_init are
> > - dev->cpu_port - Used in ksz_setup but called after the individual
> > switch setup function. We can move it ksz8_setup.
> > - dev->phy_port_cnt - Used in ksz8_vlan_filtering and
> > ksz8_config_cpuport. We can move.
> > - dev->port_mask - used in ksz_switch_register. So we cannot move.
> >
> > To make the ksz8_switch_init and ksz9477_switch_init function
> > similar,
> > we can move dev->cpu_port and dev->phy_port_cnt from
> > ksz8_switch_init
> > to ksz8_setup
>
> It make no sense to move this variables. Every place where they are
> used, can be replaced with dsa functions like:
> dsa_switch_for_each_user_port() or dsa_cpu_ports()/dsa_is_cpu_port()
> Making this changes within this patch set make no sense to.

Agreed.
I thought of cleaning up
ksz8_switch_init/ksz9477_switch_init/lan937x_switch_init, since these
functions are not performing any useful activity other than
initializing these variables. Similarly all the exit function are
performing same reset function. I thought these init and exit function
in the ksz_dev_ops structure is reduntant.

>
> Regards,
> Oleksij
> --
> Pengutronix
> e.K. | |
> Steuerwalder Str. 21 |
> http://www.pengutronix.de/e/ |
> 31137 Hildesheim, Germany | Phone: +49-5121-206917-
> 0 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-
> 5555 |