Re: [PATCH v3] MIPS: Replace setup_irq() by request_irq()

From: afzal mohammed
Date: Thu Mar 05 2020 - 07:42:45 EST


Hi Thomas,

On Thu, Mar 05, 2020 at 05:59:50PM +0530, afzal mohammed wrote:

> For your reference, diff between v4 & v3 below,

i messed up with the diff b/n v4 & v3, correct one as follows, v4 is a
proper one, only diff generation got messed up.

Regards
afzal

diff --git a/arch/mips/include/asm/sni.h b/arch/mips/include/asm/sni.h
index b8653de25ca1..7dfa297ce597 100644
--- a/arch/mips/include/asm/sni.h
+++ b/arch/mips/include/asm/sni.h
@@ -11,6 +11,8 @@
#ifndef __ASM_SNI_H
#define __ASM_SNI_H

+#include <linux/irqreturn.h>
+
extern unsigned int sni_brd_type;

#define SNI_BRD_10 2
diff --git a/arch/mips/pmcs-msp71xx/msp_time.c b/arch/mips/pmcs-msp71xx/msp_time.c
index 5f211d2d14ff..baf0da8b4c98 100644
--- a/arch/mips/pmcs-msp71xx/msp_time.c
+++ b/arch/mips/pmcs-msp71xx/msp_time.c
@@ -76,7 +76,7 @@ void __init plat_time_init(void)

unsigned int get_c0_compare_int(void)
{
- unsigned log flags = IRQF_PERCPU | IRQF_TIMER | IRQF_SHARED;
+ unsigned long flags = IRQF_PERCPU | IRQF_TIMER | IRQF_SHARED;

/* MIPS_MT modes may want timer for second VPE */
if ((get_current_vpe()) && !tim_installed) {
diff --git a/arch/mips/ralink/cevt-rt3352.c b/arch/mips/ralink/cevt-rt3352.c
index 84013214434a..269d4877d120 100644
--- a/arch/mips/ralink/cevt-rt3352.c
+++ b/arch/mips/ralink/cevt-rt3352.c
@@ -89,7 +89,7 @@ static int systick_shutdown(struct clock_event_device *evt)
sdev = container_of(evt, struct systick_device, dev);

if (sdev->irq_requested)
- free_irq(systick.dev.irq, &systick_irqaction);
+ free_irq(systick.dev.irq, &systick.dev);
sdev->irq_requested = 0;
iowrite32(0, systick.membase + SYSTICK_CONFIG);

diff --git a/arch/mips/sni/time.c b/arch/mips/sni/time.c
index 5254a3a1f37c..240bb68ec247 100644
--- a/arch/mips/sni/time.c
+++ b/arch/mips/sni/time.c
@@ -62,14 +62,12 @@ static irqreturn_t a20r_interrupt(int irq, void *dev_id)
static void __init sni_a20r_timer_setup(void)
{
struct clock_event_device *cd = &a20r_clockevent_device;
- struct irqaction *action = &a20r_irqaction;
unsigned int cpu = smp_processor_id();

cd->cpumask = cpumask_of(cpu);
clockevents_register_device(cd);
- action->dev_id = cd;
if (request_irq(SNI_A20R_IRQ_TIMER, a20r_interrupt,
- IRQF_PERCPU | IRQF_TIMER, "a20r-timer", NULL))
+ IRQF_PERCPU | IRQF_TIMER, "a20r-timer", cd))
pr_err("Failed to register a20r-timer interrupt\n");
}