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

m68knommu: stop using __do_IRQ

The use of __do_IRQ is deprecated, so lets stop using it.
Generally the interrupts on the supported processors here are
level triggered, so this is strait forward to switch over to
using the standard handle_level_irq flow handler. (Although
some ColdFire parts support edge triggered GPIO line interrupts
we have no support for them yet).

Signed-off-by: Greg Ungerer <gerg@uclinux.org>

+26 -27
+4
arch/m68knommu/Kconfig
··· 59 59 bool 60 60 default y 61 61 62 + config GENERIC_HARDIRQS_NO__DO_IRQ 63 + bool 64 + default y 65 + 62 66 config GENERIC_CALIBRATE_DELAY 63 67 bool 64 68 default y
+3 -5
arch/m68knommu/platform/5272/intc.c
··· 128 128 writel(0x88888888, MCF_MBAR + MCFSIM_ICR4); 129 129 130 130 for (irq = 0; (irq < NR_IRQS); irq++) { 131 - irq_desc[irq].status = IRQ_DISABLED; 132 - irq_desc[irq].action = NULL; 133 - irq_desc[irq].depth = 1; 134 - irq_desc[irq].chip = &intc_irq_chip; 135 - intc_irq_set_type(irq, 0); 131 + set_irq_chip(irq, &intc_irq_chip); 132 + set_irq_type(irq, IRQ_TYPE_LEVEL_HIGH); 133 + set_irq_handler(irq, handle_level_irq); 136 134 } 137 135 } 138 136
+2 -4
arch/m68knommu/platform/68328/ints.c
··· 179 179 IMR = ~0; 180 180 181 181 for (i = 0; (i < NR_IRQS); i++) { 182 - irq_desc[i].status = IRQ_DISABLED; 183 - irq_desc[i].action = NULL; 184 - irq_desc[i].depth = 1; 185 - irq_desc[i].chip = &intc_irq_chip; 182 + set_irq_chip(irq, &intc_irq_chip); 183 + set_irq_handler(irq, handle_level_irq); 186 184 } 187 185 } 188 186
+2 -4
arch/m68knommu/platform/68360/ints.c
··· 132 132 pquicc->intr_cimr = 0x00000000; 133 133 134 134 for (i = 0; (i < NR_IRQS); i++) { 135 - irq_desc[i].status = IRQ_DISABLED; 136 - irq_desc[i].action = NULL; 137 - irq_desc[i].depth = 1; 138 - irq_desc[i].chip = &intc_irq_chip; 135 + set_irq_chip(irq, &intc_irq_chip); 136 + set_irq_handler(irq, handle_level_irq); 139 137 } 140 138 } 141 139
+9 -4
arch/m68knommu/platform/coldfire/intc-2.c
··· 93 93 } 94 94 } 95 95 96 + static int intc_irq_set_type(unsigned int irq, unsigned int type) 97 + { 98 + return 0; 99 + } 100 + 96 101 static struct irq_chip intc_irq_chip = { 97 102 .name = "CF-INTC", 98 103 .mask = intc_irq_mask, 99 104 .unmask = intc_irq_unmask, 105 + .set_type = intc_irq_set_type, 100 106 }; 101 107 102 108 void __init init_IRQ(void) ··· 118 112 #endif 119 113 120 114 for (irq = 0; (irq < NR_IRQS); irq++) { 121 - irq_desc[irq].status = IRQ_DISABLED; 122 - irq_desc[irq].action = NULL; 123 - irq_desc[irq].depth = 1; 124 - irq_desc[irq].chip = &intc_irq_chip; 115 + set_irq_chip(irq, &intc_irq_chip); 116 + set_irq_type(irq, IRQ_TYPE_LEVEL_HIGH); 117 + set_irq_handler(irq, handle_level_irq); 125 118 } 126 119 } 127 120
+3 -5
arch/m68knommu/platform/coldfire/intc-simr.c
··· 70 70 __raw_writeb(0xff, MCFINTC1_SIMR); 71 71 72 72 for (irq = 0; (irq < NR_IRQS); irq++) { 73 - irq_desc[irq].status = IRQ_DISABLED; 74 - irq_desc[irq].action = NULL; 75 - irq_desc[irq].depth = 1; 76 - irq_desc[irq].chip = &intc_irq_chip; 77 - intc_irq_set_type(irq, 0); 73 + set_irq_chip(irq, &intc_irq_chip); 74 + set_irq_type(irq, IRQ_TYPE_LEVEL_HIGH); 75 + set_irq_handler(irq, handle_level_irq); 78 76 } 79 77 } 80 78
+3 -5
arch/m68knommu/platform/coldfire/intc.c
··· 143 143 mcf_maskimr(0xffffffff); 144 144 145 145 for (irq = 0; (irq < NR_IRQS); irq++) { 146 - irq_desc[irq].status = IRQ_DISABLED; 147 - irq_desc[irq].action = NULL; 148 - irq_desc[irq].depth = 1; 149 - irq_desc[irq].chip = &intc_irq_chip; 150 - intc_irq_set_type(irq, 0); 146 + set_irq_chip(irq, &intc_irq_chip); 147 + set_irq_type(irq, IRQ_TYPE_LEVEL_HIGH); 148 + set_irq_handler(irq, handle_level_irq); 151 149 } 152 150 } 153 151