PKG_NAME:=batman-adv
-PKG_VERSION:=2017.4
+PKG_VERSION:=2018.0
PKG_RELEASE:=0
-PKG_MD5SUM:=5d5a845725ccc89255c9e8a714db4b75
-PKG_HASH:=8a50ffacd2bd5b65b2987eb2ae06fb9338c6af46935ec38ba869cca545719a4c
+PKG_MD5SUM:=c39d67cdb5509bf638efc9083e0dd41e
+PKG_HASH:=4826f838e8a2914a9470da25ea2f17f6325c464a130093b20dc7fb4e93f7576c
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
container_of(callback_timer, typeof(*var), timer_fieldname)
#endif /* !from_timer */
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)
+
+#ifdef __CHECK_POLL
+typedef unsigned __bitwise __poll_t;
+#else
+typedef unsigned __poll_t;
+#endif
+
+#endif /* < KERNEL_VERSION(4, 16, 0) */
/* <DECLARE_EWMA> */
static inline void ewma_##name##_add(struct ewma_##name *e, \
unsigned long val) \
{ \
- unsigned long internal = ACCESS_ONCE(e->internal); \
+ unsigned long internal = READ_ONCE(e->internal); \
unsigned long weight_rcp = ilog2(_weight_rcp); \
unsigned long precision = _precision; \
\
BUILD_BUG_ON((_precision) > 30); \
BUILD_BUG_ON_NOT_POWER_OF_2(_weight_rcp); \
\
- ACCESS_ONCE(e->internal) = internal ? \
+ WRITE_ONCE(e->internal, internal ? \
(((internal << weight_rcp) - internal) + \
(val << precision)) >> weight_rcp : \
- (val << precision); \
+ (val << precision)); \
}
/* </DECLARE_EWMA> */
--- /dev/null
+--- a/net/batman-adv/main.c
++++ b/net/batman-adv/main.c
+@@ -19,7 +19,7 @@
+ #include "main.h"
+
+ #include <linux/atomic.h>
+-#include <linux/build_bug.h>
++#include <linux/bug.h>
+ #include <linux/byteorder/generic.h>
+ #include <linux/crc32c.h>
+ #include <linux/errno.h>
+--- a/net/batman-adv/tp_meter.c
++++ b/net/batman-adv/tp_meter.c
+@@ -20,7 +20,7 @@
+ #include "main.h"
+
+ #include <linux/atomic.h>
+-#include <linux/build_bug.h>
++#include <linux/bug.h>
+ #include <linux/byteorder/generic.h>
+ #include <linux/cache.h>
+ #include <linux/compiler.h>
+--- a/net/batman-adv/translation-table.c
++++ b/net/batman-adv/translation-table.c
+@@ -21,7 +21,7 @@
+
+ #include <linux/atomic.h>
+ #include <linux/bitops.h>
+-#include <linux/build_bug.h>
++#include <linux/bug.h>
+ #include <linux/byteorder/generic.h>
+ #include <linux/cache.h>
+ #include <linux/compiler.h>