aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2017-08-18 11:22:27 +0200
committerThomas Gleixner <tglx@linutronix.de>2017-08-18 11:22:27 +0200
commit6629695465ee6eb9f4afab74f1531a89692a136e (patch)
tree05b2ea052bdec2051beb0102e0c43d8046c6baa2 /include/linux
parentirqchip/xtensa-mx: Report that effective affinity is a single target (diff)
parentirqdomain: Add irq_domain_{push,pop}_irq() functions (diff)
downloadwireguard-linux-6629695465ee6eb9f4afab74f1531a89692a136e.tar.xz
wireguard-linux-6629695465ee6eb9f4afab74f1531a89692a136e.zip
Merge branch 'irq/for-gpio' into irq/core
Merge the flow handlers and irq domain extensions which are in a separate branch so they can be consumed by the gpio folks.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/irq.h2
-rw-r--r--include/linux/irqdomain.h3
2 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/irq.h b/include/linux/irq.h
index dcfac6c8ba18..b99a784635ff 100644
--- a/include/linux/irq.h
+++ b/include/linux/irq.h
@@ -568,6 +568,8 @@ extern int irq_chip_compose_msi_msg(struct irq_data *data, struct msi_msg *msg);
extern int irq_chip_pm_get(struct irq_data *data);
extern int irq_chip_pm_put(struct irq_data *data);
#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY
+extern void handle_fasteoi_ack_irq(struct irq_desc *desc);
+extern void handle_fasteoi_mask_irq(struct irq_desc *desc);
extern void irq_chip_enable_parent(struct irq_data *data);
extern void irq_chip_disable_parent(struct irq_data *data);
extern void irq_chip_ack_parent(struct irq_data *data);
diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h
index cac77a5c5555..2318f29054af 100644
--- a/include/linux/irqdomain.h
+++ b/include/linux/irqdomain.h
@@ -460,6 +460,9 @@ extern void irq_domain_free_irqs_common(struct irq_domain *domain,
extern void irq_domain_free_irqs_top(struct irq_domain *domain,
unsigned int virq, unsigned int nr_irqs);
+extern int irq_domain_push_irq(struct irq_domain *domain, int virq, void *arg);
+extern int irq_domain_pop_irq(struct irq_domain *domain, int virq);
+
extern int irq_domain_alloc_irqs_parent(struct irq_domain *domain,
unsigned int irq_base,
unsigned int nr_irqs, void *arg);