new file mode 100644
@@ -0,0 +1,35 @@
+#ifndef _BACKPORT_TIMER_H
+#define _BACKPORT_TIMER_H
+
+#include_next <linux/timer.h>
+
+#ifndef setup_deferrable_timer
+/*
+ * The TIMER_DEFERRABLE flag has not been around since 3.0 so
+ * two different backports are needed here.
+ */
+#ifdef TIMER_DEFERRABLE
+#define setup_deferrable_timer(timer, fn, data) \
+ __setup_timer((timer), (fn), (data), TIMER_DEFERRABLE)
+#else
+static inline void setup_deferrable_timer_key(struct timer_list *timer,
+ const char *name,
+ struct lock_class_key *key,
+ void (*func)(unsigned long),
+ unsigned long data)
+{
+ timer->function = func;
+ timer->data = data;
+ init_timer_deferrable_key(timer, name, key);
+}
+#define setup_deferrable_timer(timer, fn, data) \
+ do { \
+ static struct lock_class_key __key; \
+ setup_deferrable_timer_key((timer), #timer, &__key, \
+ (fn), (data)); \
+ } while (0)
+#endif
+
+#endif
+
+#endif /* _BACKPORT_TIMER_H */
Since commit f8f118ceaa56 ("mac80211: Use setup_timer instead of init_timer") mac80211 needs setup_deferrable_timer() which is not available in older kernels. Provide a backport in linux/timer.h. Really need two flavors of backport to support up to 3.0 kernel. Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com> --- Hit another one last night so here it is. Regards, Arend --- backport/backport-include/linux/timer.h | 35 +++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 backport/backport-include/linux/timer.h