Re: [PATCH net-next] net: dsa: Allow compiling out legacy support
From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2017-12-02 00:00:22
Also in:
lkml
On 12/01/2017 07:21 AM, Vivien Didelot wrote:
Hi Florian, Florian Fainelli [off-list ref] writes:quoted
+#if IS_ENABLED(CONFIG_NET_DSA_LEGACY) /* Legacy driver registration */ void register_switch_driver(struct dsa_switch_driver *type); void unregister_switch_driver(struct dsa_switch_driver *type); struct mii_bus *dsa_host_dev_to_mii_bus(struct device *dev); +#else +static inline void register_switch_driver(struct dsa_switch_driver *type) { } +static inline void unregister_switch_driver(struct dsa_switch_driver *type) { } +static inline struct mii_bus *dsa_host_dev_to_mii_bus(struct device *dev) +{ + return NULL; +} +#endifThe .probe dsa_switch_ops is part of the legacy code, we may want to wrap it in a CONFIG_NET_DSA_LEGACY check as well.
Fixed, also made 88e6060 dependent on CONFIG_NET_DSA_LEGACY as a result.
quoted
struct net_device *dsa_dev_to_net_device(struct device *dev); /* Keep inline for faster access in hot path */diff --git a/net/dsa/Kconfig b/net/dsa/Kconfig index 03c3bdf25468..b6ec8e9069e4 100644 --- a/net/dsa/Kconfig +++ b/net/dsa/Kconfig@@ -16,6 +16,14 @@ config NET_DSA if NET_DSA +config NET_DSA_LEGACYWe need to have it enabled by default, otherwise we'll miss errors when touching the code shared by both legacy and new bindings.
Fixed.
quoted
+ bool "Support for older platform device and Device Tree registration" + ---help--- + Say Y if you want to enable support for the older platform device and + deprectaed Device Tree binding registration.deprecated*quoted
+ + This feature is scheduled for removal in 4.17. + /* legacy.c */ +#if IS_ENABLED(CONFIG_NET_DSA_LEGACY) int dsa_legacy_register(void); void dsa_legacy_unregister(void); int dsa_legacy_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],@@ -106,6 +107,28 @@ int dsa_legacy_fdb_add(struct ndmsg *ndm, struct nlattr *tb[], int dsa_legacy_fdb_del(struct ndmsg *ndm, struct nlattr *tb[], struct net_device *dev, const unsigned char *addr, u16 vid);the dsa_legacy_fdb_{add,del} routines are "legacy" in terms of FDB handling, not in terms of DSA bindings, we must keep them.
Oh, right. This should probably be moved somewhere else then, right? The whole idea was to compile out net/dsa/legacy.c -- Florian