These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / include / linux / interrupt.h
index fe25455..655cee0 100644 (file)
@@ -208,6 +208,7 @@ extern void resume_device_irqs(void);
  * @irq:               Interrupt to which notification applies
  * @kref:              Reference count, for internal use
  * @work:              Work item, for internal use
+ * @list:              List item for deferred callbacks
  * @notify:            Function to be called on change.  This will be
  *                     called in process context.
  * @release:           Function to be called on release.  This will be
@@ -422,7 +423,8 @@ enum
        BLOCK_IOPOLL_SOFTIRQ,
        TASKLET_SOFTIRQ,
        SCHED_SOFTIRQ,
-       HRTIMER_SOFTIRQ,
+       HRTIMER_SOFTIRQ, /* Unused, but kept as tools rely on the
+                           numbering. Sigh! */
        RCU_SOFTIRQ,    /* Preferable RCU should always be the last softirq */
 
        NR_SOFTIRQS
@@ -463,6 +465,14 @@ extern void thread_do_softirq(void);
 extern void open_softirq(int nr, void (*action)(struct softirq_action *));
 extern void softirq_init(void);
 extern void __raise_softirq_irqoff(unsigned int nr);
+#ifdef CONFIG_PREEMPT_RT_FULL
+extern void __raise_softirq_irqoff_ksoft(unsigned int nr);
+#else
+static inline void __raise_softirq_irqoff_ksoft(unsigned int nr)
+{
+       __raise_softirq_irqoff(nr);
+}
+#endif
 
 extern void raise_softirq_irqoff(unsigned int nr);
 extern void raise_softirq(unsigned int nr);
@@ -611,10 +621,10 @@ tasklet_hrtimer_init(struct tasklet_hrtimer *ttimer,
                     clockid_t which_clock, enum hrtimer_mode mode);
 
 static inline
-int tasklet_hrtimer_start(struct tasklet_hrtimer *ttimer, ktime_t time,
-                         const enum hrtimer_mode mode)
+void tasklet_hrtimer_start(struct tasklet_hrtimer *ttimer, ktime_t time,
+                          const enum hrtimer_mode mode)
 {
-       return hrtimer_start(&ttimer->timer, time, mode);
+       hrtimer_start(&ttimer->timer, time, mode);
 }
 
 static inline