aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/cris/arch-v10/drivers/gpio.c4
-rw-r--r--arch/cris/arch-v10/kernel/time.c6
-rw-r--r--arch/cris/arch-v32/drivers/gpio.c4
-rw-r--r--arch/cris/arch-v32/kernel/arbiter.c2
-rw-r--r--arch/cris/arch-v32/kernel/fasttimer.c2
-rw-r--r--arch/cris/arch-v32/kernel/irq.c2
-rw-r--r--arch/cris/arch-v32/kernel/smp.c2
-rw-r--r--arch/cris/arch-v32/kernel/time.c12
-rw-r--r--arch/cris/kernel/irq.c2
-rw-r--r--include/asm-cris/arch-v10/irq.h2
-rw-r--r--include/asm-cris/arch-v32/irq.h2
-rw-r--r--include/asm-cris/signal.h2
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 25df4ada951..48fd801792d 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 fe65cb89f54..9c22b76e129 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
258static struct irqaction irq2 = { timer_interrupt, SA_SHIRQ | SA_INTERRUPT, 258static 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
261void __init 261void __init
diff --git a/arch/cris/arch-v32/drivers/gpio.c b/arch/cris/arch-v32/drivers/gpio.c
index 113bdff4fd3..00e9167de53 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 82d44c9afc1..420a5312ed0 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 caaa86bd5e8..5daeb6f7f3b 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 e2d2b3fdb5b..cc361bf578a 100644
--- a/arch/cris/arch-v32/kernel/irq.c
+++ b/arch/cris/arch-v32/kernel/irq.c
@@ -268,7 +268,7 @@ void
268crisv32_do_IRQ(int irq, int block, struct pt_regs* regs) 268crisv32_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 da40d19a151..464ecaec3bc 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
63static irqreturn_t crisv32_ipi_interrupt(int irq, void *dev_id, struct pt_regs *regs); 63static irqreturn_t crisv32_ipi_interrupt(int irq, void *dev_id, struct pt_regs *regs);
64static int send_ipi(int vector, int wait, cpumask_t cpu_mask); 64static int send_ipi(int vector, int wait, cpumask_t cpu_mask);
65static struct irqaction irq_ipi = { crisv32_ipi_interrupt, SA_INTERRUPT, 65static 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
68extern void cris_mmu_init(void); 68extern void cris_mmu_init(void);
diff --git a/arch/cris/arch-v32/kernel/time.c b/arch/cris/arch-v32/kernel/time.c
index 4bac1d6c37f..50f3f93293d 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
248static struct irqaction irq_timer = { timer_interrupt, SA_SHIRQ | SA_INTERRUPT, 248static 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
251void __init 255void __init
252cris_timer_init(void) 256cris_timer_init(void)
diff --git a/arch/cris/kernel/irq.c b/arch/cris/kernel/irq.c
index 1f9099627a7..903ea62c6e2 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 4fa8945b026..b1128a9984a 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 eeb0a80262c..bac94ee6bc9 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 dfe039593a7..349ae682b56 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