Message ID | 56323104.2030606@baylibre.com |
---|---|
State | RFC, archived |
Delegated to: | David Miller |
Headers | show |
On Thu, Oct 29, 2015 at 03:45:24PM +0100, Neil Armstrong wrote: > Some switch drivers might request interrupts, remap register ranges, > allow such drivers to implement a "remove" callback doing just that. > > Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> > Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> > --- > include/net/dsa.h | 1 + > net/dsa/dsa.c | 4 ++++ > 2 files changed, 5 insertions(+) > > diff --git a/include/net/dsa.h b/include/net/dsa.h > index 98ccbde..0e1502c 100644 > --- a/include/net/dsa.h > +++ b/include/net/dsa.h > @@ -212,6 +212,7 @@ struct dsa_switch_driver { > */ > char *(*probe)(struct device *host_dev, int sw_addr); > int (*setup)(struct dsa_switch *ds); > + void (*remove)(struct dsa_switch *ds); > int (*set_addr)(struct dsa_switch *ds, u8 *addr); > u32 (*get_phy_flags)(struct dsa_switch *ds, int port); > > diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c > index 1eba07f..f462fc5 100644 > --- a/net/dsa/dsa.c > +++ b/net/dsa/dsa.c > @@ -459,6 +459,10 @@ static void dsa_switch_destroy(struct dsa_switch *ds) > } > > mdiobus_unregister(ds->slave_mii_bus); > + > + /* Leave a chance to the driver to cleanup */ > + if (ds->drv->remove) > + ds->drv->remove(ds); > } https://lkml.org/lkml/2015/10/28/532 ??? Andrew -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 10/29/2015 03:50 PM, Andrew Lunn wrote: > On Thu, Oct 29, 2015 at 03:45:24PM +0100, Neil Armstrong wrote: >> --- a/net/dsa/dsa.c >> +++ b/net/dsa/dsa.c >> @@ -459,6 +459,10 @@ static void dsa_switch_destroy(struct dsa_switch *ds) >> } >> >> mdiobus_unregister(ds->slave_mii_bus); >> + >> + /* Leave a chance to the driver to cleanup */ >> + if (ds->drv->remove) >> + ds->drv->remove(ds); >> } > > https://lkml.org/lkml/2015/10/28/532 ??? > > Andrew > Well, sorry, I did the change but it got lost when refactoring the ppu stuff. Neil -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/include/net/dsa.h b/include/net/dsa.h index 98ccbde..0e1502c 100644 --- a/include/net/dsa.h +++ b/include/net/dsa.h @@ -212,6 +212,7 @@ struct dsa_switch_driver { */ char *(*probe)(struct device *host_dev, int sw_addr); int (*setup)(struct dsa_switch *ds); + void (*remove)(struct dsa_switch *ds); int (*set_addr)(struct dsa_switch *ds, u8 *addr); u32 (*get_phy_flags)(struct dsa_switch *ds, int port); diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c index 1eba07f..f462fc5 100644 --- a/net/dsa/dsa.c +++ b/net/dsa/dsa.c @@ -459,6 +459,10 @@ static void dsa_switch_destroy(struct dsa_switch *ds) } mdiobus_unregister(ds->slave_mii_bus); + + /* Leave a chance to the driver to cleanup */ + if (ds->drv->remove) + ds->drv->remove(ds); } #ifdef CONFIG_PM_SLEEP