aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/sysdev/uic.c
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2012-02-14 16:06:50 -0500
committerGrant Likely <grant.likely@secretlab.ca>2012-02-14 16:06:50 -0500
commitbae1d8f19983fbfa25559aa3cb6a81a84aa82a18 (patch)
tree387012cc698159bfb5851c5022d5b55db2dafadc /arch/powerpc/sysdev/uic.c
parent644bd954313254b54e08b69077e16831b6e04dfa (diff)
irq_domain/powerpc: Use common irq_domain structure instead of irq_host
This patch drops the powerpc-specific irq_host structures and uses the common irq_domain strucutres defined in linux/irqdomain.h. It also fixes all the users to use the new structure names. Renaming irq_host to irq_domain has been discussed for a long time, and this patch is a step in the process of generalizing the powerpc virq code to be usable by all architecture. An astute reader will notice that this patch actually removes the irq_host structure instead of renaming it. This is because the irq_domain structure already exists in include/linux/irqdomain.h and has the needed data members. Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Milton Miller <miltonm@bga.com> Tested-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/powerpc/sysdev/uic.c')
-rw-r--r--arch/powerpc/sysdev/uic.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c
index 063c901b1265..7eea3a64bdf7 100644
--- a/arch/powerpc/sysdev/uic.c
+++ b/arch/powerpc/sysdev/uic.c
@@ -49,7 +49,7 @@ struct uic {
49 raw_spinlock_t lock; 49 raw_spinlock_t lock;
50 50
51 /* The remapper for this UIC */ 51 /* The remapper for this UIC */
52 struct irq_host *irqhost; 52 struct irq_domain *irqhost;
53}; 53};
54 54
55static void uic_unmask_irq(struct irq_data *d) 55static void uic_unmask_irq(struct irq_data *d)
@@ -174,7 +174,7 @@ static struct irq_chip uic_irq_chip = {
174 .irq_set_type = uic_set_irq_type, 174 .irq_set_type = uic_set_irq_type,
175}; 175};
176 176
177static int uic_host_map(struct irq_host *h, unsigned int virq, 177static int uic_host_map(struct irq_domain *h, unsigned int virq,
178 irq_hw_number_t hw) 178 irq_hw_number_t hw)
179{ 179{
180 struct uic *uic = h->host_data; 180 struct uic *uic = h->host_data;
@@ -190,7 +190,7 @@ static int uic_host_map(struct irq_host *h, unsigned int virq,
190 return 0; 190 return 0;
191} 191}
192 192
193static int uic_host_xlate(struct irq_host *h, struct device_node *ct, 193static int uic_host_xlate(struct irq_domain *h, struct device_node *ct,
194 const u32 *intspec, unsigned int intsize, 194 const u32 *intspec, unsigned int intsize,
195 irq_hw_number_t *out_hwirq, unsigned int *out_type) 195 irq_hw_number_t *out_hwirq, unsigned int *out_type)
196 196
@@ -202,7 +202,7 @@ static int uic_host_xlate(struct irq_host *h, struct device_node *ct,
202 return 0; 202 return 0;
203} 203}
204 204
205static struct irq_host_ops uic_host_ops = { 205static struct irq_domain_ops uic_host_ops = {
206 .map = uic_host_map, 206 .map = uic_host_map,
207 .xlate = uic_host_xlate, 207 .xlate = uic_host_xlate,
208}; 208};
@@ -270,7 +270,7 @@ static struct uic * __init uic_init_one(struct device_node *node)
270 } 270 }
271 uic->dcrbase = *dcrreg; 271 uic->dcrbase = *dcrreg;
272 272
273 uic->irqhost = irq_alloc_host(node, IRQ_HOST_MAP_LINEAR, 273 uic->irqhost = irq_alloc_host(node, IRQ_DOMAIN_MAP_LINEAR,
274 NR_UIC_INTS, &uic_host_ops, -1); 274 NR_UIC_INTS, &uic_host_ops, -1);
275 if (! uic->irqhost) 275 if (! uic->irqhost)
276 return NULL; /* FIXME: panic? */ 276 return NULL; /* FIXME: panic? */