From 7c4ce55944cc5324ef8d387e9d27bf6fc8b96676 Mon Sep 17 00:00:00 2001 From: Kim Phillips Date: Mon, 8 Oct 2012 19:42:04 -0500 Subject: [PATCH] --- yaml --- r: 334473 b: refs/heads/master c: d2e4151821dc4d1db414de287f6e3503c1718815 h: refs/heads/master i: 334471: f23e9a96137edd3c8207e6c7063c70f6df7c4ce4 v: v3 --- [refs] | 2 +- trunk/drivers/of/irq.c | 8 +++++--- trunk/include/linux/of_irq.h | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index e9c9a0d39904..63341d08aafe 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 47b1e689db637ca6778c49d6c971af928cf0fb1d +refs/heads/master: d2e4151821dc4d1db414de287f6e3503c1718815 diff --git a/trunk/drivers/of/irq.c b/trunk/drivers/of/irq.c index a23ec7779997..a3c1c5aae6a9 100644 --- a/trunk/drivers/of/irq.c +++ b/trunk/drivers/of/irq.c @@ -192,11 +192,13 @@ int of_irq_map_raw(struct device_node *parent, const __be32 *intspec, /* Compare specifiers */ match = 1; for (i = 0; i < addrsize && match; ++i) { - u32 mask = imask ? imask[i] : 0xffffffffu; + __be32 mask = imask ? imask[i] + : cpu_to_be32(0xffffffffu); match = ((addr[i] ^ imap[i]) & mask) == 0; } for (; i < (addrsize + intsize) && match; ++i) { - u32 mask = imask ? imask[i] : 0xffffffffu; + __be32 mask = imask ? imask[i] + : cpu_to_be32(0xffffffffu); match = ((intspec[i-addrsize] ^ imap[i]) & mask) == 0; } @@ -465,7 +467,7 @@ void __init of_irq_init(const struct of_device_id *matches) pr_debug("of_irq_init: init %s @ %p, parent %p\n", match->compatible, desc->dev, desc->interrupt_parent); - irq_init_cb = match->data; + irq_init_cb = (of_irq_init_cb_t)match->data; ret = irq_init_cb(desc->dev, desc->interrupt_parent); if (ret) { kfree(desc); diff --git a/trunk/include/linux/of_irq.h b/trunk/include/linux/of_irq.h index b8e241125201..535cecf1e02f 100644 --- a/trunk/include/linux/of_irq.h +++ b/trunk/include/linux/of_irq.h @@ -58,8 +58,8 @@ static inline int of_irq_map_oldworld(struct device_node *device, int index, #endif /* CONFIG_PPC32 && CONFIG_PPC_PMAC */ -extern int of_irq_map_raw(struct device_node *parent, const u32 *intspec, - u32 ointsize, const u32 *addr, +extern int of_irq_map_raw(struct device_node *parent, const __be32 *intspec, + u32 ointsize, const __be32 *addr, struct of_irq *out_irq); extern int of_irq_map_one(struct device_node *device, int index, struct of_irq *out_irq);