Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

cris: remove deprecated IRQF_DISABLED

This patch proposes to remove the IRQF_DISABLED flag from CRIS
architecture code. It's a NOOP since 2.6.35 and it will be removed
one day.

Comments mentioning IRQF_DISABLED are also updated, knowing
that all interrupts are now "fast interrupts", their handlers
running with interrupts disabled.

Don't hesitate to let me know if you have other ways of
rephrasing the comments!

This is an update for 3.11 of a patch already sent for 3.10

Signed-off-by: Michael Opdenacker <michael.opdenacker@free-electrons.com>
Signed-off-by: Jesper Nilsson <jespern@axis.com>

authored by

Michael Opdenacker and committed by
Jesper Nilsson
64d8ad93 ceb3b021

+27 -34
+2 -2
arch/cris/arch-v10/drivers/gpio.c
··· 838 838 * in some tests. 839 839 */ 840 840 res = request_irq(TIMER0_IRQ_NBR, gpio_poll_timer_interrupt, 841 - IRQF_SHARED | IRQF_DISABLED, "gpio poll", gpio_name); 841 + IRQF_SHARED, "gpio poll", gpio_name); 842 842 if (res) { 843 843 printk(KERN_CRIT "err: timer0 irq for gpio\n"); 844 844 return res; 845 845 } 846 846 res = request_irq(PA_IRQ_NBR, gpio_interrupt, 847 - IRQF_SHARED | IRQF_DISABLED, "gpio PA", gpio_name); 847 + IRQF_SHARED, "gpio PA", gpio_name); 848 848 if (res) 849 849 printk(KERN_CRIT "err: PA irq for gpio\n"); 850 850
+2 -2
arch/cris/arch-v10/drivers/sync_serial.c
··· 580 580 if (port == &ports[0]) { 581 581 if (request_irq(8, 582 582 manual_interrupt, 583 - IRQF_SHARED | IRQF_DISABLED, 583 + IRQF_SHARED, 584 584 "synchronous serial manual irq", 585 585 &ports[0])) { 586 586 printk(KERN_CRIT "Can't alloc " ··· 590 590 } else if (port == &ports[1]) { 591 591 if (request_irq(8, 592 592 manual_interrupt, 593 - IRQF_SHARED | IRQF_DISABLED, 593 + IRQF_SHARED, 594 594 "synchronous serial manual irq", 595 595 &ports[1])) { 596 596 printk(KERN_CRIT "Can't alloc "
+2 -4
arch/cris/arch-v10/kernel/time.c
··· 178 178 return IRQ_HANDLED; 179 179 } 180 180 181 - /* timer is IRQF_SHARED so drivers can add stuff to the timer irq chain 182 - * it needs to be IRQF_DISABLED to make the jiffies update work properly 183 - */ 181 + /* timer is IRQF_SHARED so drivers can add stuff to the timer irq chain */ 184 182 185 183 static struct irqaction irq2 = { 186 184 .handler = timer_interrupt, 187 - .flags = IRQF_SHARED | IRQF_DISABLED, 185 + .flags = IRQF_SHARED, 188 186 .name = "timer", 189 187 }; 190 188
+1 -1
arch/cris/arch-v32/drivers/mach-a3/gpio.c
··· 978 978 CRIS_LED_DISK_WRITE(0); 979 979 980 980 int res2 = request_irq(GIO_INTR_VECT, gpio_interrupt, 981 - IRQF_SHARED | IRQF_DISABLED, "gpio", &alarmlist); 981 + IRQF_SHARED, "gpio", &alarmlist); 982 982 if (res2) { 983 983 printk(KERN_ERR "err: irq for gpio\n"); 984 984 return res2;
+2 -2
arch/cris/arch-v32/drivers/mach-fs/gpio.c
··· 964 964 * in some tests. 965 965 */ 966 966 if (request_irq(TIMER0_INTR_VECT, gpio_poll_timer_interrupt, 967 - IRQF_SHARED | IRQF_DISABLED, "gpio poll", &alarmlist)) 967 + IRQF_SHARED, "gpio poll", &alarmlist)) 968 968 printk(KERN_ERR "timer0 irq for gpio\n"); 969 969 970 970 if (request_irq(GIO_INTR_VECT, gpio_pa_interrupt, 971 - IRQF_SHARED | IRQF_DISABLED, "gpio PA", &alarmlist)) 971 + IRQF_SHARED, "gpio PA", &alarmlist)) 972 972 printk(KERN_ERR "PA irq for gpio\n"); 973 973 974 974 #ifdef CONFIG_ETRAX_VIRTUAL_GPIO
+1 -1
arch/cris/arch-v32/kernel/fasttimer.c
··· 786 786 proc_create("fasttimer", 0, NULL, &proc_fasttimer_fops); 787 787 #endif /* PROC_FS */ 788 788 if (request_irq(TIMER0_INTR_VECT, timer_trig_interrupt, 789 - IRQF_SHARED | IRQF_DISABLED, 789 + IRQF_SHARED, 790 790 "fast timer int", &fast_timer_list)) 791 791 printk(KERN_ERR "err: fasttimer irq\n"); 792 792 fast_timer_is_init = 1;
+5 -5
arch/cris/arch-v32/kernel/irq.c
··· 331 331 void 332 332 crisv32_do_IRQ(int irq, int block, struct pt_regs* regs) 333 333 { 334 - /* Interrupts that may not be moved to another CPU and 335 - * are IRQF_DISABLED may skip blocking. This is currently 336 - * only valid for the timer IRQ and the IPI and is used 337 - * for the timer interrupt to avoid watchdog starvation. 338 - */ 334 + /* Interrupts that may not be moved to another CPU may 335 + * skip blocking. This is currently only valid for the 336 + * timer IRQ and the IPI and is used for the timer 337 + * interrupt to avoid watchdog starvation. 338 + */ 339 339 if (!block) { 340 340 do_IRQ(irq, regs); 341 341 return;
+1 -1
arch/cris/arch-v32/kernel/smp.c
··· 64 64 static int send_ipi(int vector, int wait, cpumask_t cpu_mask); 65 65 static struct irqaction irq_ipi = { 66 66 .handler = crisv32_ipi_interrupt, 67 - .flags = IRQF_DISABLED, 67 + .flags = 0, 68 68 .name = "ipi", 69 69 }; 70 70
+2 -4
arch/cris/arch-v32/kernel/time.c
··· 216 216 return IRQ_HANDLED; 217 217 } 218 218 219 - /* Timer is IRQF_SHARED so drivers can add stuff to the timer irq chain. 220 - * It needs to be IRQF_DISABLED to make the jiffies update work properly. 221 - */ 219 + /* Timer is IRQF_SHARED so drivers can add stuff to the timer irq chain. */ 222 220 static struct irqaction irq_timer = { 223 221 .handler = timer_interrupt, 224 - .flags = IRQF_SHARED | IRQF_DISABLED, 222 + .flags = IRQF_SHARED, 225 223 .name = "timer" 226 224 }; 227 225
+2 -2
arch/cris/arch-v32/mach-a3/arbiter.c
··· 256 256 crisv32_arbiter_config(1, EXT_REGION, 0); 257 257 258 258 if (request_irq(MEMARB_FOO_INTR_VECT, crisv32_foo_arbiter_irq, 259 - IRQF_DISABLED, "arbiter", NULL)) 259 + 0, "arbiter", NULL)) 260 260 printk(KERN_ERR "Couldn't allocate arbiter IRQ\n"); 261 261 262 262 if (request_irq(MEMARB_BAR_INTR_VECT, crisv32_bar_arbiter_irq, 263 - IRQF_DISABLED, "arbiter", NULL)) 263 + 0, "arbiter", NULL)) 264 264 printk(KERN_ERR "Couldn't allocate arbiter IRQ\n"); 265 265 266 266 #ifndef CONFIG_ETRAX_KGDB
+1 -1
arch/cris/arch-v32/mach-fs/arbiter.c
··· 184 184 crisv32_arbiter_config(EXT_REGION, 0); 185 185 crisv32_arbiter_config(INT_REGION, 0); 186 186 187 - if (request_irq(MEMARB_INTR_VECT, crisv32_arbiter_irq, IRQF_DISABLED, 187 + if (request_irq(MEMARB_INTR_VECT, crisv32_arbiter_irq, 0, 188 188 "arbiter", NULL)) 189 189 printk(KERN_ERR "Couldn't allocate arbiter IRQ\n"); 190 190
+3 -3
arch/cris/include/arch-v10/arch/irq.h
··· 141 141 * handler is run and it prioritizes the timer interrupt. However if we had BLOCK'ed 142 142 * it here, we would not get the multiple_irq at all. 143 143 * 144 - * The non-blocking here is based on the knowledge that the timer interrupt is 145 - * registered as a fast interrupt (IRQF_DISABLED) so that we _know_ there will not 146 - * be an sti() before the timer irq handler is run to acknowledge the interrupt. 144 + * The non-blocking here is based on the knowledge that the timer interrupt runs 145 + * with interrupts disabled, and therefore there will not be an sti() before the 146 + * timer irq handler is run to acknowledge the interrupt. 147 147 */ 148 148 149 149 #define BUILD_TIMER_IRQ(nr,mask) \
+3 -3
arch/cris/include/arch-v32/arch/irq.h
··· 102 102 * multiple_irq handler is run and it prioritizes the timer interrupt. However 103 103 * if we had BLOCK'edit here, we would not get the multiple_irq at all. 104 104 * 105 - * The non-blocking here is based on the knowledge that the timer interrupt is 106 - * registered as a fast interrupt (IRQF_DISABLED) so that we _know_ there will not 107 - * be an sti() before the timer irq handler is run to acknowledge the interrupt. 105 + * The non-blocking here is based on the knowledge that the timer interrupt runs 106 + * with interrupts disabled, and therefore there will not be an sti() before the 107 + * timer irq handler is run to acknowledge the interrupt. 108 108 */ 109 109 #define BUILD_TIMER_IRQ(nr, mask) \ 110 110 void IRQ_NAME(nr); \
-3
arch/cris/kernel/irq.c
··· 40 40 41 41 /* called by the assembler IRQ entry functions defined in irq.h 42 42 * to dispatch the interrupts to registered handlers 43 - * interrupts are disabled upon entry - depending on if the 44 - * interrupt was registered with IRQF_DISABLED or not, interrupts 45 - * are re-enabled or not. 46 43 */ 47 44 48 45 asmlinkage void do_IRQ(int irq, struct pt_regs * regs)