datapath: Provide compatibility code for SET_ETHTOOL_OPS constness.
authorJesse Gross <jesse@nicira.com>
Wed, 24 Nov 2010 17:27:10 +0000 (09:27 -0800)
committerJesse Gross <jesse@nicira.com>
Fri, 3 Dec 2010 01:10:16 +0000 (17:10 -0800)
On 2.6.18 dev->ethtool_ops was not marked as const.  This adds a
compatibility macro that casts away the constness so we can mark
our ethtool ops as const on later kernels.

Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
datapath/linux-2.6/compat-2.6/include/linux/netdevice.h

index e8988c909b7963de0e46cc416450423f6fad70e0..ac1ff82820c8e338bd7a5578bca2c05c3f0d6c4e 100644 (file)
@@ -110,4 +110,10 @@ static inline void netdev_rx_handler_unregister(struct net_device *dev)
 }
 #endif
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
+#undef SET_ETHTOOL_OPS
+#define SET_ETHTOOL_OPS(netdev, ops) \
+       ( (netdev)->ethtool_ops = (struct ethtool_ops *)(ops) )
+#endif
+
 #endif