Lines Matching full:irq

19 #include <asm/irq.h>
40 * irq handling routines.
42 * IRQF_SHARED - allow sharing the irq among several devices
46 * IRQF_NOBALANCING - Flag to exclude this interrupt from irq balancing
52 * irq line disabled until the threaded handler has been run.
53 * IRQF_NO_SUSPEND - Do not disable this IRQ during suspend. Does not guarantee
58 * IRQF_EARLY_RESUME - Resume IRQ early during syscore instead of at device
60 * IRQF_COND_SUSPEND - If the IRQ is shared with a NO_SUSPEND user, execute this
101 * @irq: interrupt number
108 * @dir: pointer to the proc/irq/NN/name entry
118 unsigned int irq; member
129 * If a (PCI) device interrupt is not connected we set dev->irq to
139 request_threaded_irq(unsigned int irq, irq_handler_t handler,
145 * @irq: The interrupt line to allocate
146 * @handler: Function to be called when the IRQ occurs.
157 request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, in request_irq() argument
160 return request_threaded_irq(irq, handler, NULL, flags, name, dev); in request_irq()
164 request_any_context_irq(unsigned int irq, irq_handler_t handler,
168 __request_percpu_irq(unsigned int irq, irq_handler_t handler,
173 request_nmi(unsigned int irq, irq_handler_t handler, unsigned long flags,
177 request_percpu_irq(unsigned int irq, irq_handler_t handler, in request_percpu_irq() argument
180 return __request_percpu_irq(irq, handler, 0, in request_percpu_irq()
185 request_percpu_nmi(unsigned int irq, irq_handler_t handler,
191 extern const void *free_nmi(unsigned int irq, void *dev_id);
192 extern void free_percpu_nmi(unsigned int irq, void __percpu *percpu_dev_id);
197 devm_request_threaded_irq(struct device *dev, unsigned int irq,
203 devm_request_irq(struct device *dev, unsigned int irq, irq_handler_t handler, in devm_request_irq() argument
206 return devm_request_threaded_irq(dev, irq, handler, NULL, irqflags, in devm_request_irq()
211 devm_request_any_context_irq(struct device *dev, unsigned int irq,
215 extern void devm_free_irq(struct device *dev, unsigned int irq, void *dev_id);
235 extern void disable_irq_nosync(unsigned int irq);
236 extern bool disable_hardirq(unsigned int irq);
237 extern void disable_irq(unsigned int irq);
238 extern void disable_percpu_irq(unsigned int irq);
239 extern void enable_irq(unsigned int irq);
240 extern void enable_percpu_irq(unsigned int irq, unsigned int type);
241 extern bool irq_percpu_is_enabled(unsigned int irq);
242 extern void irq_wake_thread(unsigned int irq, void *dev_id);
244 extern void disable_nmi_nosync(unsigned int irq);
245 extern void disable_percpu_nmi(unsigned int irq);
246 extern void enable_nmi(unsigned int irq);
247 extern void enable_percpu_nmi(unsigned int irq, unsigned int type);
248 extern int prepare_percpu_nmi(unsigned int irq);
249 extern void teardown_percpu_nmi(unsigned int irq);
251 extern int irq_inject_interrupt(unsigned int irq);
256 extern void rearm_wake_irq(unsigned int irq);
259 * struct irq_affinity_notify - context for notification of IRQ affinity changes
260 * @irq: Interrupt to which notification applies
271 unsigned int irq; member
281 * struct irq_affinity - Description for automatic irq affinity assignements
318 extern int __irq_set_affinity(unsigned int irq, const struct cpumask *cpumask,
322 * irq_set_affinity - Set the irq affinity of a given irq
323 * @irq: Interrupt to set affinity
329 irq_set_affinity(unsigned int irq, const struct cpumask *cpumask) in irq_set_affinity() argument
331 return __irq_set_affinity(irq, cpumask, false); in irq_set_affinity()
335 * irq_force_affinity - Force the irq affinity of a given irq
336 * @irq: Interrupt to set affinity
346 irq_force_affinity(unsigned int irq, const struct cpumask *cpumask) in irq_force_affinity() argument
348 return __irq_set_affinity(irq, cpumask, true); in irq_force_affinity()
351 extern int irq_can_set_affinity(unsigned int irq);
352 extern int irq_select_affinity(unsigned int irq);
354 extern int irq_set_affinity_hint(unsigned int irq, const struct cpumask *m);
357 irq_set_affinity_notifier(unsigned int irq, struct irq_affinity_notify *notify);
367 static inline int irq_set_affinity(unsigned int irq, const struct cpumask *m) in irq_set_affinity() argument
372 static inline int irq_force_affinity(unsigned int irq, const struct cpumask *cpumask) in irq_force_affinity() argument
377 static inline int irq_can_set_affinity(unsigned int irq) in irq_can_set_affinity() argument
382 static inline int irq_select_affinity(unsigned int irq) { return 0; } in irq_select_affinity() argument
384 static inline int irq_set_affinity_hint(unsigned int irq, in irq_set_affinity_hint() argument
391 irq_set_affinity_notifier(unsigned int irq, struct irq_affinity_notify *notify) in irq_set_affinity_notifier() argument
412 * Special lockdep variants of irq disabling/enabling.
414 * know that a particular irq context which is disabled,
415 * and which is the only irq-context user of a lock,
416 * that it's safe to take the lock in the irq-disabled
420 * irq disable/enable methods.
422 static inline void disable_irq_nosync_lockdep(unsigned int irq) in disable_irq_nosync_lockdep() argument
424 disable_irq_nosync(irq); in disable_irq_nosync_lockdep()
430 static inline void disable_irq_nosync_lockdep_irqsave(unsigned int irq, unsigned long *flags) in disable_irq_nosync_lockdep_irqsave() argument
432 disable_irq_nosync(irq); in disable_irq_nosync_lockdep_irqsave()
438 static inline void disable_irq_lockdep(unsigned int irq) in disable_irq_lockdep() argument
440 disable_irq(irq); in disable_irq_lockdep()
446 static inline void enable_irq_lockdep(unsigned int irq) in enable_irq_lockdep() argument
451 enable_irq(irq); in enable_irq_lockdep()
454 static inline void enable_irq_lockdep_irqrestore(unsigned int irq, unsigned long *flags) in enable_irq_lockdep_irqrestore() argument
459 enable_irq(irq); in enable_irq_lockdep_irqrestore()
462 /* IRQ wakeup (PM) control: */
463 extern int irq_set_irq_wake(unsigned int irq, unsigned int on);
465 static inline int enable_irq_wake(unsigned int irq) in enable_irq_wake() argument
467 return irq_set_irq_wake(irq, 1); in enable_irq_wake()
470 static inline int disable_irq_wake(unsigned int irq) in disable_irq_wake() argument
472 return irq_set_irq_wake(irq, 0); in disable_irq_wake()
482 IRQCHIP_STATE_LINE_LEVEL, /* Is IRQ line high? */
485 extern int irq_get_irqchip_state(unsigned int irq, enum irqchip_irq_state which,
487 extern int irq_set_irqchip_state(unsigned int irq, enum irqchip_irq_state which,
725 * for accurate IRQ probing during kernel initialization. They are
727 * and, unlike other attempts at IRQ probing, they do not get hung on
737 * 6. irq = probe_irq_off(irqs); // get IRQ number, 0=none, negative=multiple
741 * probe_irq_on() returns a mask of allocated irq's.
744 * and returns the irq number which occurred,
745 * or zero if none occurred, or a negative irq number
746 * if more than one irq occurred.
769 /* Initialize /proc/irq/ */