mac80211: backport the new tasklet API
authorFelix Fietkau <nbd@nbd.name>
Wed, 11 Nov 2020 18:48:45 +0000 (19:48 +0100)
committerFelix Fietkau <nbd@nbd.name>
Thu, 12 Nov 2020 10:24:42 +0000 (11:24 +0100)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/kernel/mac80211/patches/subsys/073-backports-backport-tasklet_setup-from_tasklet.patch [new file with mode: 0644]

diff --git a/package/kernel/mac80211/patches/subsys/073-backports-backport-tasklet_setup-from_tasklet.patch b/package/kernel/mac80211/patches/subsys/073-backports-backport-tasklet_setup-from_tasklet.patch
new file mode 100644 (file)
index 0000000..486d10e
--- /dev/null
@@ -0,0 +1,35 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Wed, 11 Nov 2020 13:34:26 +0100
+Subject: [PATCH] backports: backport tasklet_setup, from_tasklet
+
+Backport the new tasklet API
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+
+--- a/backport-include/linux/interrupt.h
++++ b/backport-include/linux/interrupt.h
+@@ -31,6 +31,23 @@ static inline void backport_hrtimer_star
+       hrtimer_start(timer, _time, mode);
+ }
+ #define hrtimer_start LINUX_BACKPORT(hrtimer_start)
++
++#endif
++
++#if LINUX_VERSION_IS_LESS(5,9,0)
++
++static inline void
++tasklet_setup(struct tasklet_struct *t,
++            void (*callback)(struct tasklet_struct *))
++{
++      void (*cb)(unsigned long data) = (void *)callback;
++
++      tasklet_init(t, cb, (unsigned long)t);
++}
++
++#define from_tasklet(var, callback_tasklet, tasklet_fieldname) \
++      container_of(callback_tasklet, typeof(*var), tasklet_fieldname)
++
+ #endif
+ #endif /* _BP_LINUX_INTERRUPT_H */