hc
2024-11-01 2f529f9b558ca1c1bd74be7437a84e4711743404
kernel/kernel/irq/settings.h
....@@ -19,6 +19,8 @@
1919 _IRQ_DISABLE_UNLAZY = IRQ_DISABLE_UNLAZY,
2020 _IRQ_HIDDEN = IRQ_HIDDEN,
2121 _IRQ_RAW = IRQ_RAW,
22
+ _IRQ_OOB = IRQ_OOB,
23
+ _IRQ_CHAINED = IRQ_CHAINED,
2224 _IRQF_MODIFY_MASK = IRQF_MODIFY_MASK,
2325 };
2426
....@@ -35,6 +37,8 @@
3537 #define IRQ_DISABLE_UNLAZY GOT_YOU_MORON
3638 #define IRQ_HIDDEN GOT_YOU_MORON
3739 #define IRQ_RAW GOT_YOU_MORON
40
+#define IRQ_OOB GOT_YOU_MORON
41
+#define IRQ_CHAINED GOT_YOU_MORON
3842 #undef IRQF_MODIFY_MASK
3943 #define IRQF_MODIFY_MASK GOT_YOU_MORON
4044
....@@ -195,3 +199,33 @@
195199 WARN_ON_ONCE(1);
196200 return false;
197201 }
202
+
203
+static inline bool irq_settings_is_oob(struct irq_desc *desc)
204
+{
205
+ return desc->status_use_accessors & _IRQ_OOB;
206
+}
207
+
208
+static inline void irq_settings_clr_oob(struct irq_desc *desc)
209
+{
210
+ desc->status_use_accessors &= ~_IRQ_OOB;
211
+}
212
+
213
+static inline void irq_settings_set_oob(struct irq_desc *desc)
214
+{
215
+ desc->status_use_accessors |= _IRQ_OOB;
216
+}
217
+
218
+static inline bool irq_settings_is_chained(struct irq_desc *desc)
219
+{
220
+ return desc->status_use_accessors & _IRQ_CHAINED;
221
+}
222
+
223
+static inline void irq_settings_set_chained(struct irq_desc *desc)
224
+{
225
+ desc->status_use_accessors |= _IRQ_CHAINED;
226
+}
227
+
228
+static inline void irq_settings_clr_chained(struct irq_desc *desc)
229
+{
230
+ desc->status_use_accessors &= ~_IRQ_CHAINED;
231
+}