summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Ellerman <michael@ellerman.id.au>2005-06-30 15:15:53 +1000
committerPaul Mackerras <paulus@samba.org>2005-06-30 15:15:53 +1000
commit74889802a1585af4e1652f0cb853ac22a65816a4 (patch)
tree4edf4b33345b2a986a52d67d1b47137f399eef8c
parent937b31b114b5540f456ce1566aae67e02db41f2c (diff)
[PATCH] ppc64: Don't count number of events processed for caller
Currently we count the number of lpevents processed in 3 seperate places. One of these counters is never read, so just remove it. This means hvlpevent_queue_process() no longer needs to return the number of events processed. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r--arch/ppc64/kernel/ItLpQueue.c9
-rw-r--r--arch/ppc64/kernel/irq.c3
-rw-r--r--arch/ppc64/kernel/mf.c3
-rw-r--r--arch/ppc64/kernel/time.c3
-rw-r--r--include/asm-ppc64/iSeries/ItLpQueue.h2
5 files changed, 6 insertions, 14 deletions
diff --git a/arch/ppc64/kernel/ItLpQueue.c b/arch/ppc64/kernel/ItLpQueue.c
index a81e49b91af..a849f6775ad 100644
--- a/arch/ppc64/kernel/ItLpQueue.c
+++ b/arch/ppc64/kernel/ItLpQueue.c
@@ -127,14 +127,14 @@ static void hvlpevent_clear_valid( struct HvLpEvent * event )
event->xFlags.xValid = 0;
}
-unsigned process_hvlpevents(struct pt_regs *regs)
+void process_hvlpevents(struct pt_regs *regs)
{
unsigned numIntsProcessed = 0;
struct HvLpEvent * nextLpEvent;
/* If we have recursed, just return */
if ( !set_inUse() )
- return 0;
+ return;
if (ItLpQueueInProcess == 0)
ItLpQueueInProcess = 1;
@@ -144,9 +144,6 @@ unsigned process_hvlpevents(struct pt_regs *regs)
for (;;) {
nextLpEvent = get_next_hvlpevent();
if ( nextLpEvent ) {
- /* Count events to return to caller
- * and count processed events in hvlpevent_queue
- */
++numIntsProcessed;
hvlpevent_queue.xLpIntCount++;
/* Call appropriate handler here, passing
@@ -186,8 +183,6 @@ unsigned process_hvlpevents(struct pt_regs *regs)
clear_inUse();
get_paca()->lpevent_count += numIntsProcessed;
-
- return numIntsProcessed;
}
static int set_spread_lpevents(char *str)
diff --git a/arch/ppc64/kernel/irq.c b/arch/ppc64/kernel/irq.c
index bd4b035af62..e79420bb72a 100644
--- a/arch/ppc64/kernel/irq.c
+++ b/arch/ppc64/kernel/irq.c
@@ -66,7 +66,6 @@ EXPORT_SYMBOL(irq_desc);
int distribute_irqs = 1;
int __irq_offset_value;
int ppc_spurious_interrupts;
-unsigned long lpevent_count;
u64 ppc64_interrupt_controller;
int show_interrupts(struct seq_file *p, void *v)
@@ -295,7 +294,7 @@ void do_IRQ(struct pt_regs *regs)
}
#endif /* CONFIG_SMP */
if (hvlpevent_is_pending())
- lpevent_count += process_hvlpevents(regs);
+ process_hvlpevents(regs);
irq_exit();
diff --git a/arch/ppc64/kernel/mf.c b/arch/ppc64/kernel/mf.c
index 609bf1bda7b..ef4a338ebd0 100644
--- a/arch/ppc64/kernel/mf.c
+++ b/arch/ppc64/kernel/mf.c
@@ -801,9 +801,8 @@ int mf_get_boot_rtc(struct rtc_time *tm)
return rc;
/* We need to poll here as we are not yet taking interrupts */
while (rtc_data.busy) {
- extern unsigned long lpevent_count;
if (hvlpevent_is_pending())
- lpevent_count += process_hvlpevents(NULL);
+ process_hvlpevents(NULL);
}
return rtc_set_tm(rtc_data.rc, rtc_data.ce_msg.ce_msg, tm);
}
diff --git a/arch/ppc64/kernel/time.c b/arch/ppc64/kernel/time.c
index f9c18400ebf..909462e1ade 100644
--- a/arch/ppc64/kernel/time.c
+++ b/arch/ppc64/kernel/time.c
@@ -99,7 +99,6 @@ unsigned long tb_to_ns_shift;
struct gettimeofday_struct do_gtod;
extern unsigned long wall_jiffies;
-extern unsigned long lpevent_count;
extern int smp_tb_synchronized;
extern struct timezone sys_tz;
@@ -368,7 +367,7 @@ int timer_interrupt(struct pt_regs * regs)
#ifdef CONFIG_PPC_ISERIES
if (hvlpevent_is_pending())
- lpevent_count += process_hvlpevents(regs);
+ process_hvlpevents(regs);
#endif
/* collect purr register values often, for accurate calculations */
diff --git a/include/asm-ppc64/iSeries/ItLpQueue.h b/include/asm-ppc64/iSeries/ItLpQueue.h
index f0f24a39ff6..6ba74c0d910 100644
--- a/include/asm-ppc64/iSeries/ItLpQueue.h
+++ b/include/asm-ppc64/iSeries/ItLpQueue.h
@@ -77,7 +77,7 @@ struct hvlpevent_queue {
extern struct hvlpevent_queue hvlpevent_queue;
extern int hvlpevent_is_pending(void);
-extern unsigned process_hvlpevents(struct pt_regs *);
+extern void process_hvlpevents(struct pt_regs *);
extern void setup_hvlpevent_queue(void);
#endif /* _ITLPQUEUE_H */