aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/irqdesc.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h
index 472c021a2d4f..ff24667cd86c 100644
--- a/include/linux/irqdesc.h
+++ b/include/linux/irqdesc.h
@@ -12,6 +12,8 @@ struct irq_affinity_notify;
12struct proc_dir_entry; 12struct proc_dir_entry;
13struct module; 13struct module;
14struct irq_desc; 14struct irq_desc;
15struct irq_domain;
16struct pt_regs;
15 17
16/** 18/**
17 * struct irq_desc - interrupt descriptor 19 * struct irq_desc - interrupt descriptor
@@ -118,6 +120,23 @@ static inline void generic_handle_irq_desc(unsigned int irq, struct irq_desc *de
118 120
119int generic_handle_irq(unsigned int irq); 121int generic_handle_irq(unsigned int irq);
120 122
123#ifdef CONFIG_HANDLE_DOMAIN_IRQ
124/*
125 * Convert a HW interrupt number to a logical one using a IRQ domain,
126 * and handle the result interrupt number. Return -EINVAL if
127 * conversion failed. Providing a NULL domain indicates that the
128 * conversion has already been done.
129 */
130int __handle_domain_irq(struct irq_domain *domain, unsigned int hwirq,
131 bool lookup, struct pt_regs *regs);
132
133static inline int handle_domain_irq(struct irq_domain *domain,
134 unsigned int hwirq, struct pt_regs *regs)
135{
136 return __handle_domain_irq(domain, hwirq, true, regs);
137}
138#endif
139
121/* Test to see if a driver has successfully requested an irq */ 140/* Test to see if a driver has successfully requested an irq */
122static inline int irq_has_action(unsigned int irq) 141static inline int irq_has_action(unsigned int irq)
123{ 142{