mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 07:12:09 +00:00
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>
This commit is contained in:
parent
0c02c8007e
commit
530210c781
19 changed files with 58 additions and 88 deletions
|
@ -8,22 +8,6 @@
|
|||
#include <linux/ioport.h>
|
||||
#include <linux/of.h>
|
||||
|
||||
/**
|
||||
* of_irq - container for device_node/irq_specifier pair for an irq controller
|
||||
* @controller: pointer to interrupt controller device tree node
|
||||
* @size: size of interrupt specifier
|
||||
* @specifier: array of cells @size long specifing the specific interrupt
|
||||
*
|
||||
* This structure is returned when an interrupt is mapped. The controller
|
||||
* field needs to be put() after use
|
||||
*/
|
||||
#define OF_MAX_IRQ_SPEC 4 /* We handle specifiers of at most 4 cells */
|
||||
struct of_irq {
|
||||
struct device_node *controller; /* Interrupt controller node */
|
||||
u32 size; /* Specifier size */
|
||||
u32 specifier[OF_MAX_IRQ_SPEC]; /* Specifier copy */
|
||||
};
|
||||
|
||||
typedef int (*of_irq_init_cb_t)(struct device_node *, struct device_node *);
|
||||
|
||||
/*
|
||||
|
@ -36,12 +20,12 @@ typedef int (*of_irq_init_cb_t)(struct device_node *, struct device_node *);
|
|||
extern unsigned int of_irq_workarounds;
|
||||
extern struct device_node *of_irq_dflt_pic;
|
||||
extern int of_irq_parse_oldworld(struct device_node *device, int index,
|
||||
struct of_irq *out_irq);
|
||||
struct of_phandle_args *out_irq);
|
||||
#else /* CONFIG_PPC32 && CONFIG_PPC_PMAC */
|
||||
#define of_irq_workarounds (0)
|
||||
#define of_irq_dflt_pic (NULL)
|
||||
static inline int of_irq_parse_oldworld(struct device_node *device, int index,
|
||||
struct of_irq *out_irq)
|
||||
struct of_phandle_args *out_irq)
|
||||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
|
@ -50,9 +34,9 @@ static inline int of_irq_parse_oldworld(struct device_node *device, int index,
|
|||
|
||||
extern int of_irq_parse_raw(struct device_node *parent, const __be32 *intspec,
|
||||
u32 ointsize, const __be32 *addr,
|
||||
struct of_irq *out_irq);
|
||||
struct of_phandle_args *out_irq);
|
||||
extern int of_irq_parse_one(struct device_node *device, int index,
|
||||
struct of_irq *out_irq);
|
||||
struct of_phandle_args *out_irq);
|
||||
extern unsigned int irq_create_of_mapping(struct device_node *controller,
|
||||
const u32 *intspec,
|
||||
unsigned int intsize);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue