[NET]: Fix GCC4 compile error: sysctl in linux/if_ether.h
authorBen Dooks <ben-linux@fluff.org>
Tue, 27 Sep 2005 22:59:43 +0000 (15:59 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 27 Sep 2005 22:59:43 +0000 (15:59 -0700)
The following is generated when compiling a
recent (2.6.14-rc2-git5) kernel configured for
ARM, with GCC4.

  CC      init/main.o
In file included from include/linux/netdevice.h:29,
                 from include/net/sock.h:48,
                 from init/main.c:50:
include/linux/if_ether.h:114: error: array type has incomplete element type

It seems that if CONFIG_SYSCTL is not set, then
the compiler will throw an error due to the definition
of the ether_table[] array

Attached is a solution to the problem

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/if_ether.h

index fc2d4c8225aa80d0429572594d26c87a8a5f9425..d21c305c6c64cec22a264fd6cb8f6ae6fb22e784 100644 (file)
@@ -111,7 +111,9 @@ static inline struct ethhdr *eth_hdr(const struct sk_buff *skb)
        return (struct ethhdr *)skb->mac.raw;
 }
 
        return (struct ethhdr *)skb->mac.raw;
 }
 
+#ifdef CONFIG_SYSCTL
 extern struct ctl_table ether_table[];
 #endif
 extern struct ctl_table ether_table[];
 #endif
+#endif
 
 #endif /* _LINUX_IF_ETHER_H */
 
 #endif /* _LINUX_IF_ETHER_H */