aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/of_irq.h
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@linaro.org>2013-09-15 11:39:11 -0400
committerGrant Likely <grant.likely@linaro.org>2013-10-24 06:42:51 -0400
commit530210c7814e83564c7ca7bca8192515042c0b63 (patch)
tree09549bc731f9397cc6a533e091a47d116d5653b5 /include/linux/of_irq.h
parent0c02c8007ea5554d028f99fd3e29fc201fdeeab3 (diff)
of/irq: Replace of_irq with of_phandle_args
struct of_irq and struct of_phandle_args are exactly the same structure. This patch makes the kernel use of_phandle_args everywhere. This in itself isn't a big deal, but it makes some follow-on patches simpler. Signed-off-by: Grant Likely <grant.likely@linaro.org> Acked-by: Michal Simek <monstr@monstr.eu> Acked-by: Tony Lindgren <tony@atomide.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'include/linux/of_irq.h')
-rw-r--r--include/linux/of_irq.h24
1 files changed, 4 insertions, 20 deletions
diff --git a/include/linux/of_irq.h b/include/linux/of_irq.h
index a00bc71e62a3..8d9f85560d48 100644
--- a/include/linux/of_irq.h
+++ b/include/linux/of_irq.h
@@ -8,22 +8,6 @@
8#include <linux/ioport.h> 8#include <linux/ioport.h>
9#include <linux/of.h> 9#include <linux/of.h>
10 10
11/**
12 * of_irq - container for device_node/irq_specifier pair for an irq controller
13 * @controller: pointer to interrupt controller device tree node
14 * @size: size of interrupt specifier
15 * @specifier: array of cells @size long specifing the specific interrupt
16 *
17 * This structure is returned when an interrupt is mapped. The controller
18 * field needs to be put() after use
19 */
20#define OF_MAX_IRQ_SPEC 4 /* We handle specifiers of at most 4 cells */
21struct of_irq {
22 struct device_node *controller; /* Interrupt controller node */
23 u32 size; /* Specifier size */
24 u32 specifier[OF_MAX_IRQ_SPEC]; /* Specifier copy */
25};
26
27typedef int (*of_irq_init_cb_t)(struct device_node *, struct device_node *); 11typedef int (*of_irq_init_cb_t)(struct device_node *, struct device_node *);
28 12
29/* 13/*
@@ -36,12 +20,12 @@ typedef int (*of_irq_init_cb_t)(struct device_node *, struct device_node *);
36extern unsigned int of_irq_workarounds; 20extern unsigned int of_irq_workarounds;
37extern struct device_node *of_irq_dflt_pic; 21extern struct device_node *of_irq_dflt_pic;
38extern int of_irq_parse_oldworld(struct device_node *device, int index, 22extern int of_irq_parse_oldworld(struct device_node *device, int index,
39 struct of_irq *out_irq); 23 struct of_phandle_args *out_irq);
40#else /* CONFIG_PPC32 && CONFIG_PPC_PMAC */ 24#else /* CONFIG_PPC32 && CONFIG_PPC_PMAC */
41#define of_irq_workarounds (0) 25#define of_irq_workarounds (0)
42#define of_irq_dflt_pic (NULL) 26#define of_irq_dflt_pic (NULL)
43static inline int of_irq_parse_oldworld(struct device_node *device, int index, 27static inline int of_irq_parse_oldworld(struct device_node *device, int index,
44 struct of_irq *out_irq) 28 struct of_phandle_args *out_irq)
45{ 29{
46 return -EINVAL; 30 return -EINVAL;
47} 31}
@@ -50,9 +34,9 @@ static inline int of_irq_parse_oldworld(struct device_node *device, int index,
50 34
51extern int of_irq_parse_raw(struct device_node *parent, const __be32 *intspec, 35extern int of_irq_parse_raw(struct device_node *parent, const __be32 *intspec,
52 u32 ointsize, const __be32 *addr, 36 u32 ointsize, const __be32 *addr,
53 struct of_irq *out_irq); 37 struct of_phandle_args *out_irq);
54extern int of_irq_parse_one(struct device_node *device, int index, 38extern int of_irq_parse_one(struct device_node *device, int index,
55 struct of_irq *out_irq); 39 struct of_phandle_args *out_irq);
56extern unsigned int irq_create_of_mapping(struct device_node *controller, 40extern unsigned int irq_create_of_mapping(struct device_node *controller,
57 const u32 *intspec, 41 const u32 *intspec,
58 unsigned int intsize); 42 unsigned int intsize);