Skip to contentSkip to conversation

net: isa: include net/Space.h

PATCH Applied Arnd Bergmann 3 participants 6 messages May 16, 2023 – May 18, 2023

Subsystems (6)
lore
Share & tools
lore
#0 lore raw

PATCH 1/4 net: isa: include net/Space.h

From: Arnd Bergmann <[email protected]>

The legacy drivers that still get called from net/Space.c have prototypes in net/Space, but this header is not included in most of the files that define those functions:

drivers/net/ethernet/cirrus/cs89x0.c:1649:28: error: no previous prototype for 'cs89x0_probe' [-Werror=missing-prototypes] drivers/net/ethernet/8390/ne.c:947:28: error: no previous prototype for 'ne_probe' [-Werror=missing-prototypes] drivers/net/ethernet/8390/smc-ultra.c:167:28: error: no previous prototype for 'ultra_probe' [-Werror=missing-prototypes] drivers/net/ethernet/amd/lance.c:438:28: error: no previous prototype for 'lance_probe' [-Werror=missing-prototypes] drivers/net/ethernet/3com/3c515.c:422:20: error: no previous prototype for 'tc515_probe' [-Werror=missing-prototypes]

Add the inclusion to avoids the warnings.

---
 drivers/net/ethernet/3com/3c515.c     | 4 +++-
 drivers/net/ethernet/8390/ne.c        | 1 +
 drivers/net/ethernet/8390/smc-ultra.c | 1 +
 drivers/net/ethernet/8390/wd.c        | 1 +
 drivers/net/ethernet/amd/lance.c      | 1 +
 drivers/net/ethernet/cirrus/cs89x0.c  | 2 ++
 6 files changed, 9 insertions(+), 1 deletion(-)
drivers/net/ethernet/3com/3c515.c +3 -1
index d2f4358cc550..ba3e7aa1a28f 100644
@@ -66,8 +66,10 @@ static int max_interrupt_work = 20;
 #include <linux/timer.h>
 #include <linux/ethtool.h>
 #include <linux/bitops.h>
-
 #include <linux/uaccess.h>
+
+#include <net/Space.h>
+
 #include <asm/io.h>
 #include <asm/dma.h>
 
drivers/net/ethernet/8390/ne.c +1 -0
index 0a9118b8be0c..bc9c81dc00fd 100644
@@ -52,6 +52,7 @@ static const char version2[] =
 #include <linux/etherdevice.h>
 #include <linux/jiffies.h>
 #include <linux/platform_device.h>
+#include <net/Space.h>
 
 #include <asm/io.h>
 
drivers/net/ethernet/8390/smc-ultra.c +1 -0
index 6e62c37c9400..7465650c8078 100644
@@ -66,6 +66,7 @@ static const char version[] =
 #include <linux/isapnp.h>
 #include <linux/netdevice.h>
 #include <linux/etherdevice.h>
+#include <net/Space.h>
 
 #include <asm/io.h>
 #include <asm/irq.h>
drivers/net/ethernet/8390/wd.c +1 -0
index 5b00c452bede..119021d41451 100644
@@ -37,6 +37,7 @@ static const char version[] =
 #include <linux/delay.h>
 #include <linux/netdevice.h>
 #include <linux/etherdevice.h>
+#include <net/Space.h>
 
 #include <asm/io.h>
 
drivers/net/ethernet/amd/lance.c +1 -0
index 8971665a4b2a..6cf38180cc01 100644
@@ -59,6 +59,7 @@ static const char version[] = "lance.c:v1.16 2006/11/09 [email protected], becker@c
 #include <linux/skbuff.h>
 #include <linux/mm.h>
 #include <linux/bitops.h>
+#include <net/Space.h>
 
 #include <asm/io.h>
 #include <asm/dma.h>
drivers/net/ethernet/cirrus/cs89x0.c +2 -0
index 06a0c00af99c..276c32c3926a 100644
@@ -72,6 +72,8 @@
 #include <linux/gfp.h>
 #include <linux/io.h>
 
+#include <net/Space.h>
+
 #include <asm/irq.h>
 #include <linux/atomic.h>
 #if ALLOW_DMA
Signature · 1 line
2.39.2
#1 lore raw

PATCH 2/4 atm: hide unused procfs functions

From: Arnd Bergmann <[email protected]>

When CONFIG_PROC_FS is disabled, the function declarations for some procfs functions are hidden, but the definitions are still build, as shown by this compiler warning:

net/atm/resources.c:403:7: error: no previous prototype for 'atm_dev_seq_start' [-Werror=missing-prototypes] net/atm/resources.c:409:6: error: no previous prototype for 'atm_dev_seq_stop' [-Werror=missing-prototypes] net/atm/resources.c:414:7: error: no previous prototype for 'atm_dev_seq_next' [-Werror=missing-prototypes]

Add another #ifdef to leave these out of the build.

---
 net/atm/resources.c | 2 ++
 1 file changed, 2 insertions(+)
net/atm/resources.c +2 -0
index 2b2d33eeaf20..995d29e7fb13 100644
@@ -400,6 +400,7 @@ int atm_dev_ioctl(unsigned int cmd, void __user *buf, int __user *sioc_len,
 	return error;
 }
 
+#ifdef CONFIG_PROC_FS
 void *atm_dev_seq_start(struct seq_file *seq, loff_t *pos)
 {
 	mutex_lock(&atm_dev_mutex);
@@ -415,3 +416,4 @@ void *atm_dev_seq_next(struct seq_file *seq, void *v, loff_t *pos)
 {
 	return seq_list_next(v, &atm_devs, pos);
 }
+#endif
Signature · 1 line
2.39.2
#2 lore raw

PATCH 3/4 bridge: always declare tunnel functions

In reply to Arnd Bergmann

From: Arnd Bergmann <[email protected]>

When CONFIG_BRIDGE_VLAN_FILTERING is disabled, two functions are still defined but have no prototype or caller. This causes a W=1 warning for the missing prototypes:

net/bridge/br_netlink_tunnel.c:29:6: error: no previous prototype for 'vlan_tunid_inrange' [-Werror=missing-prototypes] net/bridge/br_netlink_tunnel.c:199:5: error: no previous prototype for 'br_vlan_tunnel_info' [-Werror=missing-prototypes]

The functions are already contitional on CONFIG_BRIDGE_VLAN_FILTERING, and I coulnd't easily figure out the right set of #ifdefs, so just move the declarations out of the #ifdef to avoid the warning, at a small cost in code size over a more elaborate fix.

---
 net/bridge/br_private_tunnel.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
net/bridge/br_private_tunnel.h +4 -4
index 2b053289f016..efb096025151 100644
@@ -27,6 +27,10 @@ int br_process_vlan_tunnel_info(const struct net_bridge *br,
 int br_get_vlan_tunnel_info_size(struct net_bridge_vlan_group *vg);
 int br_fill_vlan_tunnel_info(struct sk_buff *skb,
 			     struct net_bridge_vlan_group *vg);
+bool vlan_tunid_inrange(const struct net_bridge_vlan *v_curr,
+			const struct net_bridge_vlan *v_last);
+int br_vlan_tunnel_info(const struct net_bridge_port *p, int cmd,
+			u16 vid, u32 tun_id, bool *changed);
 
 #ifdef CONFIG_BRIDGE_VLAN_FILTERING
 /* br_vlan_tunnel.c */
@@ -43,10 +47,6 @@ void br_handle_ingress_vlan_tunnel(struct sk_buff *skb,
 				   struct net_bridge_vlan_group *vg);
 int br_handle_egress_vlan_tunnel(struct sk_buff *skb,
 				 struct net_bridge_vlan *vlan);
-bool vlan_tunid_inrange(const struct net_bridge_vlan *v_curr,
-			const struct net_bridge_vlan *v_last);
-int br_vlan_tunnel_info(const struct net_bridge_port *p, int cmd,
-			u16 vid, u32 tun_id, bool *changed);
 #else
 static inline int vlan_tunnel_init(struct net_bridge_vlan_group *vg)
 {
Signature · 1 line
2.39.2
maintainer Acked-by on v1 3/4
#3 lore raw

Re: [PATCH 3/4] bridge: always declare tunnel functions

Quoted 14 lines · Arnd Bergmann

From: Arnd Bergmann <[email protected]>

When CONFIG_BRIDGE_VLAN_FILTERING is disabled, two functions are still defined but have no prototype or caller. This causes a W=1 warning for the missing prototypes:

net/bridge/br_netlink_tunnel.c:29:6: error: no previous prototype for 'vlan_tunid_inrange' [-Werror=missing-prototypes] net/bridge/br_netlink_tunnel.c:199:5: error: no previous prototype for 'br_vlan_tunnel_info' [-Werror=missing-prototypes]

The functions are already contitional on CONFIG_BRIDGE_VLAN_FILTERING, and I coulnd't easily figure out the right set of #ifdefs, so just move the declarations out of the #ifdef to avoid the warning, at a small cost in code size over a more elaborate fix.

Quoted 5 lines
---
 net/bridge/br_private_tunnel.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

This should be for -net.

Fixes 188c67dd1906 ("net: bridge: vlan options: add support for tunnel id dumping")
Fixes 569da0822808 ("net: bridge: vlan options: add support for tunnel mapping set/del")

Thanks,
Nik

#4 lore raw

PATCH 4/4 mdio_bus: unhide mdio_bus_init prototype

In reply to Arnd Bergmann

From: Arnd Bergmann <[email protected]>

mdio_bus_init() is either used as a local module_init() entry, or it gets called in phy_device.c. In the former case, there is no declaration, which causes a warning:

drivers/net/phy/mdio_bus.c:1371:12: error: no previous prototype for 'mdio_bus_init' [-Werror=missing-prototypes]

Remove the #ifdef around the declaration to avoid the warning..

---
 include/linux/phy.h | 2 --
 1 file changed, 2 deletions(-)
include/linux/phy.h +0 -2
index c5a0dc829714..6478838405a0 100644
@@ -1900,10 +1900,8 @@ void phy_package_leave(struct phy_device *phydev);
 int devm_phy_package_join(struct device *dev, struct phy_device *phydev,
 			  int addr, size_t priv_size);
 
-#if IS_ENABLED(CONFIG_PHYLIB)
 int __init mdio_bus_init(void);
 void mdio_bus_exit(void);
-#endif
 
 int phy_ethtool_get_strings(struct phy_device *phydev, u8 *data);
 int phy_ethtool_get_sset_count(struct phy_device *phydev);
Signature · 1 line
2.39.2
#5 lore raw
In reply to Arnd Bergmann
This series was applied to netdev/net.git (main) by Jakub Kicinski <[email protected]>:

Hello:

This series was applied to netdev/net.git (main)
by Jakub Kicinski <[email protected]>:

Quoted 6 lines · On Tue, 16 May 2023 21:45:33 +0200 you wrote:

From: Arnd Bergmann <[email protected]>

The legacy drivers that still get called from net/Space.c have prototypes in net/Space, but this header is not included in most of the files that define those functions:

Quoted 7 lines

drivers/net/ethernet/cirrus/cs89x0.c:1649:28: error: no previous prototype for 'cs89x0_probe' [-Werror=missing-prototypes] drivers/net/ethernet/8390/ne.c:947:28: error: no previous prototype for 'ne_probe' [-Werror=missing-prototypes] drivers/net/ethernet/8390/smc-ultra.c:167:28: error: no previous prototype for 'ultra_probe' [-Werror=missing-prototypes] drivers/net/ethernet/amd/lance.c:438:28: error: no previous prototype for 'lance_probe' [-Werror=missing-prototypes] drivers/net/ethernet/3com/3c515.c:422:20: error: no previous prototype for 'tc515_probe' [-Werror=missing-prototypes]

[...]

Here is the summary with links:
- [1/4] net: isa: include net/Space.h

    https://git.kernel.org/netdev/net/c/067dee65751b
  - [2/4] atm: hide unused procfs functions
    https://git.kernel.org/netdev/net/c/fb1b7be9b16c
  - [3/4] bridge: always declare tunnel functions
    https://git.kernel.org/netdev/net/c/89dcd87ce534
  - [4/4] mdio_bus: unhide mdio_bus_init prototype
    https://git.kernel.org/netdev/net/c/2e9f8ab68f42

You are awesome, thank you!

Signature · 2 lines
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html