Thread (3 messages) 3 messages, 2 authors, 2017-12-02

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;
+}
+#endif
The .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_LEGACY
We 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help