batman-adv: update to version 2023.0
[feed/routing.git] / batman-adv / src / compat-hacks.h
index 0b8b2e18164a8bfb3f8c079d69c655634b112adf..646e179b0d0f825836ef847a2815ab97691d8e67 100644 (file)
@@ -5,50 +5,6 @@
 #include <linux/version.h>     /* LINUX_VERSION_CODE */
 #include <linux/types.h>
 
-#if LINUX_VERSION_IS_LESS(5, 10, 0)
-
-#include <linux/if_bridge.h>
-
-struct batadv_br_ip {
-       union {
-               __be32  ip4;
-#if IS_ENABLED(CONFIG_IPV6)
-               struct in6_addr ip6;
-#endif
-       } dst;
-       __be16          proto;
-       __u16           vid;
-};
-
-struct batadv_br_ip_list {
-       struct list_head list;
-       struct batadv_br_ip addr;
-};
-
-#if 0
-/* "static" dropped to force compiler to evaluate it as part of multicast.c
- * might need to be added again and then called in some kind of dummy
- * compat.c in case this header is included in multiple files.
- */
-inline void __batadv_br_ip_list_check(void)
-{
-       BUILD_BUG_ON(sizeof(struct batadv_br_ip_list) != sizeof(struct br_ip_list));
-       BUILD_BUG_ON(offsetof(struct batadv_br_ip_list, list) != offsetof(struct br_ip_list, list));
-       BUILD_BUG_ON(offsetof(struct batadv_br_ip_list, addr) != offsetof(struct br_ip_list, addr));
-
-       BUILD_BUG_ON(sizeof(struct batadv_br_ip) != sizeof(struct br_ip));
-       BUILD_BUG_ON(offsetof(struct batadv_br_ip, dst.ip4) != offsetof(struct br_ip, u.ip4));
-       BUILD_BUG_ON(offsetof(struct batadv_br_ip, dst.ip6) != offsetof(struct br_ip, u.ip6));
-       BUILD_BUG_ON(offsetof(struct batadv_br_ip, proto) != offsetof(struct br_ip, proto));
-       BUILD_BUG_ON(offsetof(struct batadv_br_ip, vid) != offsetof(struct br_ip, vid));
-}
-#endif
-
-#define br_ip batadv_br_ip
-#define br_ip_list batadv_br_ip_list
-
-#endif /* LINUX_VERSION_IS_LESS(5, 10, 0) */
-
 #if LINUX_VERSION_IS_LESS(5, 14, 0)
 
 #include <linux/if_bridge.h>
@@ -92,27 +48,28 @@ br_multicast_has_router_adjacent(struct net_device *dev, int proto)
 
 #endif /* LINUX_VERSION_IS_LESS(5, 14, 0) */
 
-#if LINUX_VERSION_IS_LESS(5, 15, 0)
+#if LINUX_VERSION_IS_LESS(6, 0, 0)
 
-static inline void batadv_dev_put(struct net_device *dev)
-{
-       if (!dev)
-               return;
+#define __vstring(item, fmt, ap) __dynamic_array(char, item, 256)
+#define __assign_vstr(dst, fmt, va) \
+       WARN_ON_ONCE(vsnprintf(__get_dynamic_array(dst), 256, fmt, *va) >= 256)
 
-       dev_put(dev);
-}
-#define dev_put batadv_dev_put
+#endif /* LINUX_VERSION_IS_LESS(6, 0, 0) */
 
-static inline void batadv_dev_hold(struct net_device *dev)
-{
-       if (!dev)
-               return;
+#if LINUX_VERSION_IS_LESS(6, 2, 0)
 
-       dev_hold(dev);
+#include <linux/random.h>
+
+#define genl_split_ops genl_ops
+
+static inline u32 batadv_get_random_u32_below(u32 ep_ro)
+{
+       return prandom_u32_max(ep_ro);
 }
-#define dev_hold batadv_dev_hold
 
-#endif /* LINUX_VERSION_IS_LESS(5, 15, 0) */
+#define get_random_u32_below batadv_get_random_u32_below
+
+#endif /* LINUX_VERSION_IS_LESS(6, 2, 0) */
 
 /* <DECLARE_EWMA> */