• Alexander Lobakin's avatar
    dsa: simplify Kconfig symbols and dependencies · 227d7206
    Alexander Lobakin authored
    1. Remove CONFIG_HAVE_NET_DSA.
    
    CONFIG_HAVE_NET_DSA is a legacy leftover from the times when drivers
    should have selected CONFIG_NET_DSA manually.
    Currently, all drivers has explicit 'depends on NET_DSA', so this is
    no more needed.
    
    2. CONFIG_HAVE_NET_DSA dependencies became CONFIG_NET_DSA's ones.
    
     - dropped !S390 dependency which was introduced to be sure NET_DSA
       can select CONFIG_PHYLIB. DSA migrated to Phylink almost 3 years
       ago and the PHY library itself doesn't depend on !S390 since
       commit 870a2b5e ("phylib: remove !S390 dependeny from Kconfig");
     - INET dependency is kept to be sure we can select NET_SWITCHDEV;
     - NETDEVICES dependency is kept to be sure we can select PHYLINK.
    
    3. DSA drivers menu now depends on NET_DSA.
    
    Instead on 'depends on NET_DSA' on every single driver, the entire
    menu now depends on it. This eliminates a lot of duplicated lines
    from Kconfig with no loss (when CONFIG_NET_DSA=m, drivers also can
    be only m or n).
    This also has a nice side effect that there's no more empty menu on
    configurations without DSA.
    
    4. Kbuild will now descend into 'drivers/net/dsa' only when
       CONFIG_NET_DSA is y or m.
    
    This is safe since no objects inside this folder can be built without
    DSA core, as well as when CONFIG_NET_DSA=m, no objects can be
    built-in.
    Signed-off-by: default avatarAlexander Lobakin <alobakin@pm.me>
    Reviewed-by: default avatarVladimir Oltean <olteanv@gmail.com>
    Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    227d7206
Kconfig 5.66 KB