Re: [PATCH net-next v2 5/5] net: dsa: bcm_sf2: Register our slave MDIO bus
From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2016-06-07 19:29:56
On 06/07/2016 12:11 PM, Vivien Didelot wrote:
Hi Andrew, Andrew Lunn [off-list ref] writes:quoted
quoted
quoted
With the legacy interface it is tricky. When would you call such a remove/tairdown function when using the old binding?That'd go in dsa_switch_destroy I guess, but it just covers the case where the whole DSA code is unloaded...I don't think that helps you. It should not be possible to unload the DSA core while there is an active driver. The drivers needs to unload first....Well, dsa_switch_destroy() is where ds->slave_mii_bus gets unregistered (if registered by the framework), so it seems fair to do something like: if (ds->drv->shutdown) ds->drv->shutdown(ds); But I'm still not sure if it is worth it to add a new legacy specific function to DSA drivers, unless there is a use case for such optional teardown callback for the new bindings too.
The new binding requires the use of dsa_unregister_switch() so this is where all the teardown and resource freeing should occur. I do not really think it is worth trying to fix the old binding and support code now, unless we want to migrate it somehow to using the code from net/dsa/dsa2.c. -- Florian