MIPS: SMTC: Remove duplicate structure field initialization

Author: Julia Lawall <julia@diku.dk>

The definition of the irq_ipi structure has two initializations of the
flags field.  This combines them.

[Ralf: The issue was originally introduced by commit
be4894196d79455f420dd7bb78be7dc73bec115c (linux-mips.org) rsp.
033890b084adfa367c544864451d7730552ce8bf (kernel.org).  The original
intention of the code was to initialize .flags with both flags ored together.
The broken C code as actually implemented will be compiled by an equally
broken gcc to use only the last initialization, that is IRQF_PERCPU
which means this turned into an SMTC bug for 2.6.23 and newer.]

The semantic match that finds this problem is as follows:

identifier I, s, fld;
position p0,p;
expression E;

struct I s =@p0 { ... .fld@p = E, ...};

identifier I, s, r.fld;
position r.p0,p;
expression E;

struct I s =@p0 { ... .fld@p = E, ...};

p0 << r.p0;
fld << r.fld;
ps << s.p;
pr << r.p;

if int(ps[0].line)!=int(pr[0].line) or int(ps[0].column)!=int(pr[0].column):

Signed-off-by: Julia Lawall 
Signed-off-by: Ralf Baechle 
 arch/mips/kernel/smtc.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c
index 67153a0..4d181df4 100644
--- a/arch/mips/kernel/smtc.c
+++ b/arch/mips/kernel/smtc.c
@@ -1098,9 +1098,8 @@ static void ipi_irq_dispatch(void)
 static struct irqaction irq_ipi = {
 	.handler	= ipi_interrupt,
-	.flags		= IRQF_DISABLED,
-	.name		= "SMTC_IPI",
-	.flags		= IRQF_PERCPU
+	.name		= "SMTC_IPI"
 static void setup_cross_vpe_interrupts(unsigned int nvpe)