···263 */264void mn10300_set_lateack_irq_type(int irq)265{266- set_irq_chip_and_handler(irq, &mn10300_cpu_pic_level,267 handle_level_irq);268}269···275 int irq;276277 for (irq = 0; irq < NR_IRQS; irq++)278- if (get_irq_chip(irq) == &no_irq_chip)279 /* due to the PIC latching interrupt requests, even280 * when the IRQ is disabled, IRQ_PENDING is superfluous281 * and we can use handle_level_irq() for edge-triggered282 * interrupts */283- set_irq_chip_and_handler(irq, &mn10300_cpu_pic_edge,284 handle_level_irq);285286 unit_init_IRQ();
···263 */264void mn10300_set_lateack_irq_type(int irq)265{266+ irq_set_chip_and_handler(irq, &mn10300_cpu_pic_level,267 handle_level_irq);268}269···275 int irq;276277 for (irq = 0; irq < NR_IRQS; irq++)278+ if (irq_get_chip(irq) == &no_irq_chip)279 /* due to the PIC latching interrupt requests, even280 * when the IRQ is disabled, IRQ_PENDING is superfluous281 * and we can use handle_level_irq() for edge-triggered282 * interrupts */283+ irq_set_chip_and_handler(irq, &mn10300_cpu_pic_edge,284 handle_level_irq);285286 unit_init_IRQ();
···156 u16 tmp16;157158 /* set up the reschedule IPI */159- set_irq_chip_and_handler(RESCHEDULE_IPI,160- &mn10300_ipi_type, handle_percpu_irq);161 setup_irq(RESCHEDULE_IPI, &reschedule_ipi);162 set_intr_level(RESCHEDULE_IPI, RESCHEDULE_GxICR_LV);163 mn10300_ipi_enable(RESCHEDULE_IPI);164165 /* set up the call function IPI */166- set_irq_chip_and_handler(CALL_FUNC_SINGLE_IPI,167- &mn10300_ipi_type, handle_percpu_irq);168 setup_irq(CALL_FUNC_SINGLE_IPI, &call_function_ipi);169 set_intr_level(CALL_FUNC_SINGLE_IPI, CALL_FUNCTION_GxICR_LV);170 mn10300_ipi_enable(CALL_FUNC_SINGLE_IPI);···172 /* set up the local timer IPI */173#if !defined(CONFIG_GENERIC_CLOCKEVENTS) || \174 defined(CONFIG_GENERIC_CLOCKEVENTS_BROADCAST)175- set_irq_chip_and_handler(LOCAL_TIMER_IPI,176- &mn10300_ipi_type, handle_percpu_irq);177 setup_irq(LOCAL_TIMER_IPI, &local_timer_ipi);178 set_intr_level(LOCAL_TIMER_IPI, LOCAL_TIMER_GxICR_LV);179 mn10300_ipi_enable(LOCAL_TIMER_IPI);
···156 u16 tmp16;157158 /* set up the reschedule IPI */159+ irq_set_chip_and_handler(RESCHEDULE_IPI, &mn10300_ipi_type,160+ handle_percpu_irq);161 setup_irq(RESCHEDULE_IPI, &reschedule_ipi);162 set_intr_level(RESCHEDULE_IPI, RESCHEDULE_GxICR_LV);163 mn10300_ipi_enable(RESCHEDULE_IPI);164165 /* set up the call function IPI */166+ irq_set_chip_and_handler(CALL_FUNC_SINGLE_IPI, &mn10300_ipi_type,167+ handle_percpu_irq);168 setup_irq(CALL_FUNC_SINGLE_IPI, &call_function_ipi);169 set_intr_level(CALL_FUNC_SINGLE_IPI, CALL_FUNCTION_GxICR_LV);170 mn10300_ipi_enable(CALL_FUNC_SINGLE_IPI);···172 /* set up the local timer IPI */173#if !defined(CONFIG_GENERIC_CLOCKEVENTS) || \174 defined(CONFIG_GENERIC_CLOCKEVENTS_BROADCAST)175+ irq_set_chip_and_handler(LOCAL_TIMER_IPI, &mn10300_ipi_type,176+ handle_percpu_irq);177 setup_irq(LOCAL_TIMER_IPI, &local_timer_ipi);178 set_intr_level(LOCAL_TIMER_IPI, LOCAL_TIMER_GxICR_LV);179 mn10300_ipi_enable(LOCAL_TIMER_IPI);
+2-1
arch/mn10300/unit-asb2364/irq-fpga.c
···100 SyncExBus();101102 for (irq = NR_CPU_IRQS; irq < NR_IRQS; irq++)103- set_irq_chip_and_handler(irq, &asb2364_fpga_pic, handle_level_irq);0104105 /* the FPGA drives the XIRQ1 input on the CPU PIC */106 setup_irq(XIRQ1, &fpga_irq[0]);
···100 SyncExBus();101102 for (irq = NR_CPU_IRQS; irq < NR_IRQS; irq++)103+ irq_set_chip_and_handler(irq, &asb2364_fpga_pic,104+ handle_level_irq);105106 /* the FPGA drives the XIRQ1 input on the CPU PIC */107 setup_irq(XIRQ1, &fpga_irq[0]);