Subject: Re: [PATCH net-next v2 5/5] net: dsa: bcm_sf2: Register our slave MDIO bus

From: Florian Fainelli <[email-masked]>
Date: Tue, 7 Jun 2016 12:29:52 -0700

On 06/07/2016 12:11 PM, Vivien Didelot wrote:
> Hi Andrew,
> 
> Andrew Lunn <[email-masked]> writes:
> 
>>>> 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