diff options
Diffstat (limited to 'arch/powerpc/sysdev/ehv_pic.c')
| -rw-r--r-- | arch/powerpc/sysdev/ehv_pic.c | 14 | 
1 files changed, 6 insertions, 8 deletions
diff --git a/arch/powerpc/sysdev/ehv_pic.c b/arch/powerpc/sysdev/ehv_pic.c index b6731e4a664..6e0e1005227 100644 --- a/arch/powerpc/sysdev/ehv_pic.c +++ b/arch/powerpc/sysdev/ehv_pic.c @@ -182,13 +182,13 @@ unsigned int ehv_pic_get_irq(void)  	return irq_linear_revmap(global_ehv_pic->irqhost, irq);  } -static int ehv_pic_host_match(struct irq_host *h, struct device_node *node) +static int ehv_pic_host_match(struct irq_domain *h, struct device_node *node)  {  	/* Exact match, unless ehv_pic node is NULL */  	return h->of_node == NULL || h->of_node == node;  } -static int ehv_pic_host_map(struct irq_host *h, unsigned int virq, +static int ehv_pic_host_map(struct irq_domain *h, unsigned int virq,  			 irq_hw_number_t hw)  {  	struct ehv_pic *ehv_pic = h->host_data; @@ -217,7 +217,7 @@ static int ehv_pic_host_map(struct irq_host *h, unsigned int virq,  	return 0;  } -static int ehv_pic_host_xlate(struct irq_host *h, struct device_node *ct, +static int ehv_pic_host_xlate(struct irq_domain *h, struct device_node *ct,  			   const u32 *intspec, unsigned int intsize,  			   irq_hw_number_t *out_hwirq, unsigned int *out_flags) @@ -248,7 +248,7 @@ static int ehv_pic_host_xlate(struct irq_host *h, struct device_node *ct,  	return 0;  } -static struct irq_host_ops ehv_pic_host_ops = { +static const struct irq_domain_ops ehv_pic_host_ops = {  	.match = ehv_pic_host_match,  	.map = ehv_pic_host_map,  	.xlate = ehv_pic_host_xlate, @@ -275,9 +275,8 @@ void __init ehv_pic_init(void)  		return;  	} -	ehv_pic->irqhost = irq_alloc_host(np, IRQ_HOST_MAP_LINEAR, -		NR_EHV_PIC_INTS, &ehv_pic_host_ops, 0); - +	ehv_pic->irqhost = irq_domain_add_linear(np, NR_EHV_PIC_INTS, +						 &ehv_pic_host_ops, ehv_pic);  	if (!ehv_pic->irqhost) {  		of_node_put(np);  		kfree(ehv_pic); @@ -293,7 +292,6 @@ void __init ehv_pic_init(void)  		of_node_put(np2);  	} -	ehv_pic->irqhost->host_data = ehv_pic;  	ehv_pic->hc_irq = ehv_pic_irq_chip;  	ehv_pic->hc_irq.irq_set_affinity = ehv_pic_set_affinity;  	ehv_pic->coreint_flag = coreint_flag;  |