Re: [PATCH] mpic_find() was overloaded to do two things introduce mpic_is_ipi() and simplify mpic_find()

2009-04-08 Thread Michael Ellerman
On Wed, 2009-04-08 at 14:26 +1000, Tony Breeds wrote:
 Also silences the warning:
 arch/powerpc/sysdev/mpic.c: In function 'mpic_irq_set_priority':
 arch/powerpc/sysdev/mpic.c:1382: warning: 'is_ipi' may be used uninitialized 
 in this function
 
 Signed-off-by: Tony Breeds t...@bakeyournoodle.com
 ---
 Only compile tested.

Not even compile tested, but looks good.

Acked-by: Michael Ellerman mich...@ellerman.id.au

cheers

-- 
Michael Ellerman
OzLabs, IBM Australia Development Lab

wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)

We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person


signature.asc
Description: This is a digitally signed message part
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

[PATCH] mpic_find() was overloaded to do two things introduce mpic_is_ipi() and simplify mpic_find()

2009-04-07 Thread Tony Breeds
Also silences the warning:
arch/powerpc/sysdev/mpic.c: In function 'mpic_irq_set_priority':
arch/powerpc/sysdev/mpic.c:1382: warning: 'is_ipi' may be used uninitialized in 
this function

Signed-off-by: Tony Breeds t...@bakeyournoodle.com
---
Only compile tested.

 arch/powerpc/sysdev/mpic.c |   23 +++
 1 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
index 21b9567..a09eaf9 100644
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
@@ -613,23 +613,23 @@ static int irq_choose_cpu(unsigned int virt_irq)
 #define mpic_irq_to_hw(virq)   ((unsigned int)irq_map[virq].hwirq)
 
 /* Find an mpic associated with a given linux interrupt */
-static struct mpic *mpic_find(unsigned int irq, unsigned int *is_ipi)
+static struct mpic *mpic_find(unsigned int irq)
 {
-   unsigned int src = mpic_irq_to_hw(irq);
-   struct mpic *mpic;
-
if (irq  NUM_ISA_INTERRUPTS)
return NULL;
 
-   mpic = irq_desc[irq].chip_data;
+   return irq_desc[irq].chip_data;
+}
 
-   if (is_ipi)
-   *is_ipi = (src = mpic-ipi_vecs[0] 
-  src = mpic-ipi_vecs[3]);
+/* Determine if the linux irq is an IPI */
+static unsigned int mpic_is_ipi(struct mpic *mpic, unsigned int irq)
+{
+   unsigned int src = mpic_irq_to_hw(irq);
 
-   return mpic;
+   return (src = mpic-ipi_vecs[0]  src = mpic-ipi_vecs[3]);
 }
 
+
 /* Convert a cpu mask from logical to physical cpu numbers. */
 static inline u32 mpic_physmask(u32 cpumask)
 {
@@ -1379,8 +1379,7 @@ void __init mpic_set_serial_int(struct mpic *mpic, int 
enable)
 
 void mpic_irq_set_priority(unsigned int irq, unsigned int pri)
 {
-   unsigned int is_ipi;
-   struct mpic *mpic = mpic_find(irq, is_ipi);
+   struct mpic *mpic = mpic_find(irq);
unsigned int src = mpic_irq_to_hw(irq);
unsigned long flags;
u32 reg;
@@ -1389,7 +1388,7 @@ void mpic_irq_set_priority(unsigned int irq, unsigned int 
pri)
return;
 
spin_lock_irqsave(mpic_lock, flags);
-   if (is_ipi) {
+   if (mpic_is_ipi(mpic, irq)) {
reg = mpic_ipi_read(src - mpic-ipi_vecs[0]) 
~MPIC_VECPRI_PRIORITY_MASK;
mpic_ipi_write(src - mpic-ipi_vecs[0],
-- 
1.6.0.6

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev