| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- From f192535ab136905d87bc75a4e848b66f0aef315e Mon Sep 17 00:00:00 2001
- From: Hauke Mehrtens <[email protected]>
- Date: Sun, 1 Oct 2017 16:05:24 +0200
- Subject: header: fix compile error on PowerPC (PPC_85xx)
- Including linux/interrupt.h in linux/hrtimer.h causes this error message
- on PowerPC builds on x86, ARM and MIPS it works:
- CC [M] /backports-4.14-rc2-1/compat/main.o
- In file included from /backports-4.14-rc2-1/backport-include/linux/printk.h:5:0,
- from ./include/linux/kernel.h:13,
- from /backports-4.14-rc2-1/backport-include/linux/kernel.h:3,
- from ./include/linux/list.h:8,
- from /backports-4.14-rc2-1/backport-include/linux/list.h:3,
- from ./include/linux/module.h:9,
- from /backports-4.14-rc2-1/backport-include/linux/module.h:3,
- from /backports-4.14-rc2-1/compat/main.c:1:
- ./include/linux/ratelimit.h: In function 'ratelimit_state_exit':
- ./include/linux/ratelimit.h:62:11: error: dereferencing pointer to incomplete type 'struct task_struct'
- current->comm, rs->missed);
- ^
- ./include/linux/printk.h:279:37: note: in definition of macro 'pr_warning'
- printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
- ^
- ./include/linux/ratelimit.h:61:3: note: in expansion of macro 'pr_warn'
- pr_warn("%s: %d output lines suppressed due to ratelimiting\n",
- ^
- The backport of the hrtimer_start() functions needs the
- linux/interrupt.h because some parts are defined there. Fix this by
- moving the hrtimer_start() backport to the linux/interrupt.h backport
- header file.
- Signed-off-by: Hauke Mehrtens <[email protected]>
- ---
- backport-include/linux/hrtimer.h | 17 -----------------
- backport-include/linux/interrupt.h | 17 ++++++++++++++++-
- 2 files changed, 16 insertions(+), 18 deletions(-)
- delete mode 100644 backport-include/linux/hrtimer.h
- --- a/backport-include/linux/hrtimer.h
- +++ /dev/null
- @@ -1,17 +0,0 @@
- -#ifndef _BP_HRTIMER_H
- -#define _BP_HRTIMER_H
- -#include <linux/version.h>
- -#include_next <linux/hrtimer.h>
- -#include <linux/interrupt.h>
- -
- -#if LINUX_VERSION_IS_LESS(4,10,0)
- -static inline void backport_hrtimer_start(struct hrtimer *timer, s64 time,
- - const enum hrtimer_mode mode)
- -{
- - ktime_t _time = { .tv64 = time };
- - hrtimer_start(timer, _time, mode);
- -}
- -#define hrtimer_start LINUX_BACKPORT(hrtimer_start)
- -#endif
- -
- -#endif /* _BP_HRTIMER_H */
- --- a/backport-include/linux/interrupt.h
- +++ b/backport-include/linux/interrupt.h
- @@ -1,2 +1,17 @@
- -#include <linux/hrtimer.h>
- +#ifndef _BP_LINUX_INTERRUPT_H
- +#define _BP_LINUX_INTERRUPT_H
- +#include <linux/version.h>
- #include_next <linux/interrupt.h>
- +#include <linux/ktime.h>
- +
- +#if LINUX_VERSION_IS_LESS(4,10,0)
- +static inline void backport_hrtimer_start(struct hrtimer *timer, s64 time,
- + const enum hrtimer_mode mode)
- +{
- + ktime_t _time = { .tv64 = time };
- + hrtimer_start(timer, _time, mode);
- +}
- +#define hrtimer_start LINUX_BACKPORT(hrtimer_start)
- +#endif
- +
- +#endif /* _BP_LINUX_INTERRUPT_H */
|