• Vladimir Oltean's avatar
    net: dsa: tag_8021q: absorb dsa_8021q_setup into dsa_tag_8021q_{,un}register · 328621f6
    Vladimir Oltean authored
    Right now, setting up tag_8021q is a 2-step operation for a driver,
    first the context structure needs to be created, then the VLANs need to
    be installed on the ports. A similar thing is true for teardown.
    
    Merge the 2 steps into the register/unregister methods, to be as
    transparent as possible for the driver as to what tag_8021q does behind
    the scenes. This also gets rid of the funny "bool setup == true means
    setup, == false means teardown" API that tag_8021q used to expose.
    
    Note that dsa_tag_8021q_register() must be called at least in the
    .setup() driver method and never earlier (like in the driver probe
    function). This is because the DSA switch tree is not initialized at
    probe time, and the cross-chip notifiers will not work.
    
    For symmetry with .setup(), the unregister method should be put in
    .teardown().
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    328621f6
sja1105_main.c 93.7 KB