diff options
-rw-r--r-- | arch/cris/arch-v10/drivers/gpio.c | 4 | ||||
-rw-r--r-- | arch/cris/arch-v10/kernel/time.c | 6 | ||||
-rw-r--r-- | arch/cris/arch-v32/drivers/gpio.c | 4 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/arbiter.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/fasttimer.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/irq.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/smp.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/time.c | 12 | ||||
-rw-r--r-- | arch/cris/kernel/irq.c | 2 | ||||
-rw-r--r-- | include/asm-cris/arch-v10/irq.h | 2 | ||||
-rw-r--r-- | include/asm-cris/arch-v32/irq.h | 2 | ||||
-rw-r--r-- | include/asm-cris/signal.h | 2 |
12 files changed, 22 insertions, 20 deletions
diff --git a/arch/cris/arch-v10/drivers/gpio.c b/arch/cris/arch-v10/drivers/gpio.c index 25df4ada951a..48fd801792d1 100644 --- a/arch/cris/arch-v10/drivers/gpio.c +++ b/arch/cris/arch-v10/drivers/gpio.c | |||
@@ -937,11 +937,11 @@ gpio_init(void) | |||
937 | * in some tests. | 937 | * in some tests. |
938 | */ | 938 | */ |
939 | if (request_irq(TIMER0_IRQ_NBR, gpio_poll_timer_interrupt, | 939 | if (request_irq(TIMER0_IRQ_NBR, gpio_poll_timer_interrupt, |
940 | SA_SHIRQ | SA_INTERRUPT,"gpio poll", NULL)) { | 940 | IRQF_SHARED | IRQF_DISABLED,"gpio poll", NULL)) { |
941 | printk(KERN_CRIT "err: timer0 irq for gpio\n"); | 941 | printk(KERN_CRIT "err: timer0 irq for gpio\n"); |
942 | } | 942 | } |
943 | if (request_irq(PA_IRQ_NBR, gpio_pa_interrupt, | 943 | if (request_irq(PA_IRQ_NBR, gpio_pa_interrupt, |
944 | SA_SHIRQ | SA_INTERRUPT,"gpio PA", NULL)) { | 944 | IRQF_SHARED | IRQF_DISABLED,"gpio PA", NULL)) { |
945 | printk(KERN_CRIT "err: PA irq for gpio\n"); | 945 | printk(KERN_CRIT "err: PA irq for gpio\n"); |
946 | } | 946 | } |
947 | 947 | ||
diff --git a/arch/cris/arch-v10/kernel/time.c b/arch/cris/arch-v10/kernel/time.c index fe65cb89f54c..9c22b76e129a 100644 --- a/arch/cris/arch-v10/kernel/time.c +++ b/arch/cris/arch-v10/kernel/time.c | |||
@@ -251,11 +251,11 @@ timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
251 | return IRQ_HANDLED; | 251 | return IRQ_HANDLED; |
252 | } | 252 | } |
253 | 253 | ||
254 | /* timer is SA_SHIRQ so drivers can add stuff to the timer irq chain | 254 | /* timer is IRQF_SHARED so drivers can add stuff to the timer irq chain |
255 | * it needs to be SA_INTERRUPT to make the jiffies update work properly | 255 | * it needs to be IRQF_DISABLED to make the jiffies update work properly |
256 | */ | 256 | */ |
257 | 257 | ||
258 | static struct irqaction irq2 = { timer_interrupt, SA_SHIRQ | SA_INTERRUPT, | 258 | static struct irqaction irq2 = { timer_interrupt, IRQF_SHARED | IRQF_DISABLED, |
259 | CPU_MASK_NONE, "timer", NULL, NULL}; | 259 | CPU_MASK_NONE, "timer", NULL, NULL}; |
260 | 260 | ||
261 | void __init | 261 | void __init |
diff --git a/arch/cris/arch-v32/drivers/gpio.c b/arch/cris/arch-v32/drivers/gpio.c index 113bdff4fd3c..00e9167de530 100644 --- a/arch/cris/arch-v32/drivers/gpio.c +++ b/arch/cris/arch-v32/drivers/gpio.c | |||
@@ -744,11 +744,11 @@ gpio_init(void) | |||
744 | * in some tests. | 744 | * in some tests. |
745 | */ | 745 | */ |
746 | if (request_irq(TIMER_INTR_VECT, gpio_poll_timer_interrupt, | 746 | if (request_irq(TIMER_INTR_VECT, gpio_poll_timer_interrupt, |
747 | SA_SHIRQ | SA_INTERRUPT,"gpio poll", &alarmlist)) { | 747 | IRQF_SHARED | IRQF_DISABLED,"gpio poll", &alarmlist)) { |
748 | printk("err: timer0 irq for gpio\n"); | 748 | printk("err: timer0 irq for gpio\n"); |
749 | } | 749 | } |
750 | if (request_irq(GEN_IO_INTR_VECT, gpio_pa_interrupt, | 750 | if (request_irq(GEN_IO_INTR_VECT, gpio_pa_interrupt, |
751 | SA_SHIRQ | SA_INTERRUPT,"gpio PA", &alarmlist)) { | 751 | IRQF_SHARED | IRQF_DISABLED,"gpio PA", &alarmlist)) { |
752 | printk("err: PA irq for gpio\n"); | 752 | printk("err: PA irq for gpio\n"); |
753 | } | 753 | } |
754 | /* enable the gio and timer irq in global config */ | 754 | /* enable the gio and timer irq in global config */ |
diff --git a/arch/cris/arch-v32/kernel/arbiter.c b/arch/cris/arch-v32/kernel/arbiter.c index 82d44c9afc1e..420a5312ed03 100644 --- a/arch/cris/arch-v32/kernel/arbiter.c +++ b/arch/cris/arch-v32/kernel/arbiter.c | |||
@@ -119,7 +119,7 @@ static void crisv32_arbiter_init(void) | |||
119 | crisv32_arbiter_config(EXT_REGION); | 119 | crisv32_arbiter_config(EXT_REGION); |
120 | crisv32_arbiter_config(INT_REGION); | 120 | crisv32_arbiter_config(INT_REGION); |
121 | 121 | ||
122 | if (request_irq(MEMARB_INTR_VECT, crisv32_arbiter_irq, SA_INTERRUPT, | 122 | if (request_irq(MEMARB_INTR_VECT, crisv32_arbiter_irq, IRQF_DISABLED, |
123 | "arbiter", NULL)) | 123 | "arbiter", NULL)) |
124 | printk(KERN_ERR "Couldn't allocate arbiter IRQ\n"); | 124 | printk(KERN_ERR "Couldn't allocate arbiter IRQ\n"); |
125 | 125 | ||
diff --git a/arch/cris/arch-v32/kernel/fasttimer.c b/arch/cris/arch-v32/kernel/fasttimer.c index caaa86bd5e87..5daeb6f7f3b7 100644 --- a/arch/cris/arch-v32/kernel/fasttimer.c +++ b/arch/cris/arch-v32/kernel/fasttimer.c | |||
@@ -981,7 +981,7 @@ void fast_timer_init(void) | |||
981 | proc_register_dynamic(&proc_root, &fasttimer_proc_entry); | 981 | proc_register_dynamic(&proc_root, &fasttimer_proc_entry); |
982 | #endif | 982 | #endif |
983 | #endif /* PROC_FS */ | 983 | #endif /* PROC_FS */ |
984 | if(request_irq(TIMER_INTR_VECT, timer_trig_interrupt, SA_INTERRUPT, | 984 | if(request_irq(TIMER_INTR_VECT, timer_trig_interrupt, IRQF_DISABLED, |
985 | "fast timer int", NULL)) | 985 | "fast timer int", NULL)) |
986 | { | 986 | { |
987 | printk("err: timer1 irq\n"); | 987 | printk("err: timer1 irq\n"); |
diff --git a/arch/cris/arch-v32/kernel/irq.c b/arch/cris/arch-v32/kernel/irq.c index e2d2b3fdb5b1..cc361bf578ae 100644 --- a/arch/cris/arch-v32/kernel/irq.c +++ b/arch/cris/arch-v32/kernel/irq.c | |||
@@ -268,7 +268,7 @@ void | |||
268 | crisv32_do_IRQ(int irq, int block, struct pt_regs* regs) | 268 | crisv32_do_IRQ(int irq, int block, struct pt_regs* regs) |
269 | { | 269 | { |
270 | /* Interrupts that may not be moved to another CPU and | 270 | /* Interrupts that may not be moved to another CPU and |
271 | * are SA_INTERRUPT may skip blocking. This is currently | 271 | * are IRQF_DISABLED may skip blocking. This is currently |
272 | * only valid for the timer IRQ and the IPI and is used | 272 | * only valid for the timer IRQ and the IPI and is used |
273 | * for the timer interrupt to avoid watchdog starvation. | 273 | * for the timer interrupt to avoid watchdog starvation. |
274 | */ | 274 | */ |
diff --git a/arch/cris/arch-v32/kernel/smp.c b/arch/cris/arch-v32/kernel/smp.c index da40d19a151e..464ecaec3bc0 100644 --- a/arch/cris/arch-v32/kernel/smp.c +++ b/arch/cris/arch-v32/kernel/smp.c | |||
@@ -62,7 +62,7 @@ static unsigned long irq_regs[NR_CPUS] = | |||
62 | 62 | ||
63 | static irqreturn_t crisv32_ipi_interrupt(int irq, void *dev_id, struct pt_regs *regs); | 63 | static irqreturn_t crisv32_ipi_interrupt(int irq, void *dev_id, struct pt_regs *regs); |
64 | static int send_ipi(int vector, int wait, cpumask_t cpu_mask); | 64 | static int send_ipi(int vector, int wait, cpumask_t cpu_mask); |
65 | static struct irqaction irq_ipi = { crisv32_ipi_interrupt, SA_INTERRUPT, | 65 | static struct irqaction irq_ipi = { crisv32_ipi_interrupt, IRQF_DISABLED, |
66 | CPU_MASK_NONE, "ipi", NULL, NULL}; | 66 | CPU_MASK_NONE, "ipi", NULL, NULL}; |
67 | 67 | ||
68 | extern void cris_mmu_init(void); | 68 | extern void cris_mmu_init(void); |
diff --git a/arch/cris/arch-v32/kernel/time.c b/arch/cris/arch-v32/kernel/time.c index 4bac1d6c37fb..50f3f93293d6 100644 --- a/arch/cris/arch-v32/kernel/time.c +++ b/arch/cris/arch-v32/kernel/time.c | |||
@@ -241,12 +241,16 @@ timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
241 | return IRQ_HANDLED; | 241 | return IRQ_HANDLED; |
242 | } | 242 | } |
243 | 243 | ||
244 | /* timer is SA_SHIRQ so drivers can add stuff to the timer irq chain | 244 | /* timer is IRQF_SHARED so drivers can add stuff to the timer irq chain |
245 | * it needs to be SA_INTERRUPT to make the jiffies update work properly | 245 | * it needs to be IRQF_DISABLED to make the jiffies update work properly |
246 | */ | 246 | */ |
247 | 247 | ||
248 | static struct irqaction irq_timer = { timer_interrupt, SA_SHIRQ | SA_INTERRUPT, | 248 | static struct irqaction irq_timer = { |
249 | CPU_MASK_NONE, "timer", NULL, NULL}; | 249 | .mask = timer_interrupt, |
250 | .flags = IRQF_SHARED | IRQF_DISABLED, | ||
251 | .mask = CPU_MASK_NONE, | ||
252 | .name = "timer" | ||
253 | }; | ||
250 | 254 | ||
251 | void __init | 255 | void __init |
252 | cris_timer_init(void) | 256 | cris_timer_init(void) |
diff --git a/arch/cris/kernel/irq.c b/arch/cris/kernel/irq.c index 1f9099627a72..903ea62c6e21 100644 --- a/arch/cris/kernel/irq.c +++ b/arch/cris/kernel/irq.c | |||
@@ -85,7 +85,7 @@ skip: | |||
85 | /* called by the assembler IRQ entry functions defined in irq.h | 85 | /* called by the assembler IRQ entry functions defined in irq.h |
86 | * to dispatch the interrupts to registred handlers | 86 | * to dispatch the interrupts to registred handlers |
87 | * interrupts are disabled upon entry - depending on if the | 87 | * interrupts are disabled upon entry - depending on if the |
88 | * interrupt was registred with SA_INTERRUPT or not, interrupts | 88 | * interrupt was registred with IRQF_DISABLED or not, interrupts |
89 | * are re-enabled or not. | 89 | * are re-enabled or not. |
90 | */ | 90 | */ |
91 | 91 | ||
diff --git a/include/asm-cris/arch-v10/irq.h b/include/asm-cris/arch-v10/irq.h index 4fa8945b0263..b1128a9984ae 100644 --- a/include/asm-cris/arch-v10/irq.h +++ b/include/asm-cris/arch-v10/irq.h | |||
@@ -141,7 +141,7 @@ __asm__ ( \ | |||
141 | * it here, we would not get the multiple_irq at all. | 141 | * it here, we would not get the multiple_irq at all. |
142 | * | 142 | * |
143 | * The non-blocking here is based on the knowledge that the timer interrupt is | 143 | * The non-blocking here is based on the knowledge that the timer interrupt is |
144 | * registred as a fast interrupt (SA_INTERRUPT) so that we _know_ there will not | 144 | * registred as a fast interrupt (IRQF_DISABLED) so that we _know_ there will not |
145 | * be an sti() before the timer irq handler is run to acknowledge the interrupt. | 145 | * be an sti() before the timer irq handler is run to acknowledge the interrupt. |
146 | */ | 146 | */ |
147 | 147 | ||
diff --git a/include/asm-cris/arch-v32/irq.h b/include/asm-cris/arch-v32/irq.h index eeb0a80262c8..bac94ee6bc90 100644 --- a/include/asm-cris/arch-v32/irq.h +++ b/include/asm-cris/arch-v32/irq.h | |||
@@ -98,7 +98,7 @@ __asm__ ( \ | |||
98 | * if we had BLOCK'edit here, we would not get the multiple_irq at all. | 98 | * if we had BLOCK'edit here, we would not get the multiple_irq at all. |
99 | * | 99 | * |
100 | * The non-blocking here is based on the knowledge that the timer interrupt is | 100 | * The non-blocking here is based on the knowledge that the timer interrupt is |
101 | * registred as a fast interrupt (SA_INTERRUPT) so that we _know_ there will not | 101 | * registred as a fast interrupt (IRQF_DISABLED) so that we _know_ there will not |
102 | * be an sti() before the timer irq handler is run to acknowledge the interrupt. | 102 | * be an sti() before the timer irq handler is run to acknowledge the interrupt. |
103 | */ | 103 | */ |
104 | #define BUILD_TIMER_IRQ(nr, mask) \ | 104 | #define BUILD_TIMER_IRQ(nr, mask) \ |
diff --git a/include/asm-cris/signal.h b/include/asm-cris/signal.h index dfe039593a78..349ae682b568 100644 --- a/include/asm-cris/signal.h +++ b/include/asm-cris/signal.h | |||
@@ -74,7 +74,6 @@ typedef unsigned long sigset_t; | |||
74 | * SA_FLAGS values: | 74 | * SA_FLAGS values: |
75 | * | 75 | * |
76 | * SA_ONSTACK indicates that a registered stack_t will be used. | 76 | * SA_ONSTACK indicates that a registered stack_t will be used. |
77 | * SA_INTERRUPT is a no-op, but left due to historical reasons. Use the | ||
78 | * SA_RESTART flag to get restarting signals (which were the default long ago) | 77 | * SA_RESTART flag to get restarting signals (which were the default long ago) |
79 | * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. | 78 | * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. |
80 | * SA_RESETHAND clears the handler when the signal is delivered. | 79 | * SA_RESETHAND clears the handler when the signal is delivered. |
@@ -95,7 +94,6 @@ typedef unsigned long sigset_t; | |||
95 | 94 | ||
96 | #define SA_NOMASK SA_NODEFER | 95 | #define SA_NOMASK SA_NODEFER |
97 | #define SA_ONESHOT SA_RESETHAND | 96 | #define SA_ONESHOT SA_RESETHAND |
98 | #define SA_INTERRUPT 0x20000000 /* dummy -- ignored */ | ||
99 | 97 | ||
100 | #define SA_RESTORER 0x04000000 | 98 | #define SA_RESTORER 0x04000000 |
101 | 99 | ||