diff options
Diffstat (limited to 'arch/powerpc/sysdev/ehv_pic.c')
| -rw-r--r-- | arch/powerpc/sysdev/ehv_pic.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/arch/powerpc/sysdev/ehv_pic.c b/arch/powerpc/sysdev/ehv_pic.c index b74085cea1af..2d20f10a4203 100644 --- a/arch/powerpc/sysdev/ehv_pic.c +++ b/arch/powerpc/sysdev/ehv_pic.c | |||
| @@ -28,8 +28,6 @@ | |||
| 28 | #include <asm/ehv_pic.h> | 28 | #include <asm/ehv_pic.h> |
| 29 | #include <asm/fsl_hcalls.h> | 29 | #include <asm/fsl_hcalls.h> |
| 30 | 30 | ||
| 31 | #include "../../../kernel/irq/settings.h" | ||
| 32 | |||
| 33 | static struct ehv_pic *global_ehv_pic; | 31 | static struct ehv_pic *global_ehv_pic; |
| 34 | static DEFINE_SPINLOCK(ehv_pic_lock); | 32 | static DEFINE_SPINLOCK(ehv_pic_lock); |
| 35 | 33 | ||
| @@ -113,17 +111,13 @@ static unsigned int ehv_pic_type_to_vecpri(unsigned int type) | |||
| 113 | int ehv_pic_set_irq_type(struct irq_data *d, unsigned int flow_type) | 111 | int ehv_pic_set_irq_type(struct irq_data *d, unsigned int flow_type) |
| 114 | { | 112 | { |
| 115 | unsigned int src = virq_to_hw(d->irq); | 113 | unsigned int src = virq_to_hw(d->irq); |
| 116 | struct irq_desc *desc = irq_to_desc(d->irq); | ||
| 117 | unsigned int vecpri, vold, vnew, prio, cpu_dest; | 114 | unsigned int vecpri, vold, vnew, prio, cpu_dest; |
| 118 | unsigned long flags; | 115 | unsigned long flags; |
| 119 | 116 | ||
| 120 | if (flow_type == IRQ_TYPE_NONE) | 117 | if (flow_type == IRQ_TYPE_NONE) |
| 121 | flow_type = IRQ_TYPE_LEVEL_LOW; | 118 | flow_type = IRQ_TYPE_LEVEL_LOW; |
| 122 | 119 | ||
| 123 | irq_settings_clr_level(desc); | 120 | irqd_set_trigger_type(d, flow_type); |
| 124 | irq_settings_set_trigger_mask(desc, flow_type); | ||
| 125 | if (flow_type & (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW)) | ||
| 126 | irq_settings_set_level(desc); | ||
| 127 | 121 | ||
| 128 | vecpri = ehv_pic_type_to_vecpri(flow_type); | 122 | vecpri = ehv_pic_type_to_vecpri(flow_type); |
| 129 | 123 | ||
| @@ -144,7 +138,7 @@ int ehv_pic_set_irq_type(struct irq_data *d, unsigned int flow_type) | |||
| 144 | ev_int_set_config(src, vecpri, prio, cpu_dest); | 138 | ev_int_set_config(src, vecpri, prio, cpu_dest); |
| 145 | 139 | ||
| 146 | spin_unlock_irqrestore(&ehv_pic_lock, flags); | 140 | spin_unlock_irqrestore(&ehv_pic_lock, flags); |
| 147 | return 0; | 141 | return IRQ_SET_MASK_OK_NOCOPY; |
| 148 | } | 142 | } |
| 149 | 143 | ||
| 150 | static struct irq_chip ehv_pic_irq_chip = { | 144 | static struct irq_chip ehv_pic_irq_chip = { |
