[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190603010740.GI19081@lunn.ch>
Date: Mon, 3 Jun 2019 03:07:40 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Vladimir Oltean <olteanv@...il.com>
Cc: f.fainelli@...il.com, vivien.didelot@...il.com,
davem@...emloft.net, richardcochran@...il.com,
john.stultz@...aro.org, tglx@...utronix.de, sboyd@...nel.org,
linux-kernel@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: [PATCH v2 net-next 02/10] net: dsa: Add teardown callback for
drivers
On Mon, Jun 03, 2019 at 12:39:18AM +0300, Vladimir Oltean wrote:
> This is helpful for e.g. draining per-driver (not per-port) tagger
> queues.
>
> Signed-off-by: Vladimir Oltean <olteanv@...il.com>
> ---
> Changes in v2:
>
> Patch is new.
>
> include/net/dsa.h | 1 +
> net/dsa/dsa2.c | 3 +++
> 2 files changed, 4 insertions(+)
>
> diff --git a/include/net/dsa.h b/include/net/dsa.h
> index a7f36219904f..4033e0677be4 100644
> --- a/include/net/dsa.h
> +++ b/include/net/dsa.h
> @@ -361,6 +361,7 @@ struct dsa_switch_ops {
> int port);
>
> int (*setup)(struct dsa_switch *ds);
> + void (*teardown)(struct dsa_switch *ds);
> u32 (*get_phy_flags)(struct dsa_switch *ds, int port);
>
> /*
> diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c
> index b70befe8a3c8..5bd3e9a4c709 100644
> --- a/net/dsa/dsa2.c
> +++ b/net/dsa/dsa2.c
> @@ -407,6 +407,9 @@ static int dsa_switch_setup(struct dsa_switch *ds)
>
> static void dsa_switch_teardown(struct dsa_switch *ds)
> {
> + if (ds->ops->teardown)
> + ds->ops->teardown(ds);
> +
> if (ds->slave_mii_bus && ds->ops->phy_read)
> mdiobus_unregister(ds->slave_mii_bus);
>
Hi Vladimir
If we want to keep with symmetric with dsa_switch_setup(), this
teardown should be added after dsa_switch_unregister_notifier() and
before devlink_unregister().
Andrew
Powered by blists - more mailing lists