diff options
Diffstat (limited to 'arch/powerpc/sysdev/ehv_pic.c')
| -rw-r--r-- | arch/powerpc/sysdev/ehv_pic.c | 11 | 
1 files changed, 3 insertions, 8 deletions
diff --git a/arch/powerpc/sysdev/ehv_pic.c b/arch/powerpc/sysdev/ehv_pic.c index 9cd0e60716f..2d20f10a420 100644 --- a/arch/powerpc/sysdev/ehv_pic.c +++ b/arch/powerpc/sysdev/ehv_pic.c @@ -19,6 +19,7 @@  #include <linux/slab.h>  #include <linux/spinlock.h>  #include <linux/of.h> +#include <linux/of_address.h>  #include <asm/io.h>  #include <asm/irq.h> @@ -27,8 +28,6 @@  #include <asm/ehv_pic.h>  #include <asm/fsl_hcalls.h> -#include "../../../kernel/irq/settings.h" -  static struct ehv_pic *global_ehv_pic;  static DEFINE_SPINLOCK(ehv_pic_lock); @@ -112,17 +111,13 @@ static unsigned int ehv_pic_type_to_vecpri(unsigned int type)  int ehv_pic_set_irq_type(struct irq_data *d, unsigned int flow_type)  {  	unsigned int src = virq_to_hw(d->irq); -	struct irq_desc *desc = irq_to_desc(d->irq);  	unsigned int vecpri, vold, vnew, prio, cpu_dest;  	unsigned long flags;  	if (flow_type == IRQ_TYPE_NONE)  		flow_type = IRQ_TYPE_LEVEL_LOW; -	irq_settings_clr_level(desc); -	irq_settings_set_trigger_mask(desc, flow_type); -	if (flow_type & (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW)) -		irq_settings_set_level(desc); +	irqd_set_trigger_type(d, flow_type);  	vecpri = ehv_pic_type_to_vecpri(flow_type); @@ -143,7 +138,7 @@ int ehv_pic_set_irq_type(struct irq_data *d, unsigned int flow_type)  	ev_int_set_config(src, vecpri, prio, cpu_dest);  	spin_unlock_irqrestore(&ehv_pic_lock, flags); -	return 0; +	return IRQ_SET_MASK_OK_NOCOPY;  }  static struct irq_chip ehv_pic_irq_chip = {  | 
