Skip to contentSkip to conversation

pnx8xxx clocksource cleanups

PATCH In review Vitaly Wool 3 participants 4 messages Jan 12, 2008 – Jan 14, 2008 MIPS

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 pnx8xxx clocksource cleanups

This patch does some PNX8XXX clocksource cleanups.

arch/mips/philips/pnx8550/common/time.c | 35 ++++++++++----------------------

1 file changed, 11 insertions(+), 24 deletions(-)
arch/mips/philips/pnx8550/common/time.c +0 -0
Index: linux-mips.git/arch/mips/philips/pnx8550/common/time.c
===================================================================
@@ -47,11 +47,6 @@ static struct clocksource pnx_clocksourc

.flags = CLOCK_SOURCE_IS_CONTINUOUS,
};

-static void timer_ack(void)
-{
- write_c0_compare(cpj);
-}
-
static irqreturn_t pnx8xxx_timer_interrupt(int irq, void *dev_id)

{
	struct clock_event_device *c = dev_id;

@@ -94,30 +89,22 @@ static struct clock_event_device pnx8xxx
.set_next_event = pnx8xxx_set_next_event,
};

-/*
- * plat_time_init() - it does the following things:
- *
- * 1) plat_time_init() -
- * a) (optional) set up RTC routines,
- * b) (optional) calibrate and set the mips_hpt_frequency
- * (only needed if you intended to use cpu counter as timer interrupt
- * source)
- */
+static inline void timer_ack(void)
+{
+ write_c0_compare(cpj);
+}

__init void plat_time_init(void)
{

-	unsigned int             configPR;
-	unsigned int             n;
-	unsigned int             m;
-	unsigned int             p;
-	unsigned int             pow2p;

+ unsigned int configPR;
+ unsigned int n;
+ unsigned int m;
+ unsigned int p;
+ unsigned int pow2p;

	clockevents_register_device(&pnx8xxx_clockevent);
	clocksource_register(&pnx_clocksource);

- setup_irq(PNX8550_INT_TIMER1, &pnx8xxx_timer_irq);
- setup_irq(PNX8550_INT_TIMER2, &monotonic_irqaction);
-

	/* Timer 1 start */
	configPR = read_c0_config7();
	configPR &= ~0x00000008;
@@ -158,6 +145,6 @@ __init void plat_time_init(void)
	write_c0_count2(0);
	write_c0_compare2(0xffffffff);

+ setup_irq(PNX8550_INT_TIMER1, &pnx8xxx_timer_irq);
+ setup_irq(PNX8550_INT_TIMER2, &monotonic_irqaction);
}
-
-

#1 lore raw

Hello.

Quoted 34 lines · Vitaly Wool

This patch does some PNX8XXX clocksource cleanups.

Index: linux-mips.git/arch/mips/philips/pnx8550/common/time.c
===================================================================

arch/mips/philips/pnx8550/common/time.c +0 -12
@@ -47,11 +47,6 @@ static struct clocksource pnx_clocksourc
    .flags        = CLOCK_SOURCE_IS_CONTINUOUS,
 };
 
-static void timer_ack(void)
-{
-    write_c0_compare(cpj);
-}
-
 static irqreturn_t pnx8xxx_timer_interrupt(int irq, void *dev_id)
 {
    struct clock_event_device *c = dev_id;
@@ -94,30 +89,22 @@ static struct clock_event_device pnx8xxx
    .set_next_event = pnx8xxx_set_next_event,
 };
 
-/*
- * plat_time_init() - it does the following things:
- *
- * 1) plat_time_init() -
- *     a) (optional) set up RTC routines,
- *      b) (optional) calibrate and set the mips_hpt_frequency
- *        (only needed if you intended to use cpu counter as timer 

interrupt
- * source)
- */

arch/mips/philips/pnx8550/common/time.c

Quoted 4 lines
arch/mips/philips/pnx8550/common/time.c +4 -0
+static inline void timer_ack(void)
+{
+    write_c0_compare(cpj);
+}

I still don't understand why you need this function at all, and the 'cpj'
variable as well -- clockevents core will set the comparator to a needed value. Also, I don't see much value in moving that function...

WBR, Sergei

#2 lore raw
Quoted 8 lines

Review

Quoted 4 lines
(quoted diff) +4 -0
+static inline void timer_ack(void)
+{
+    write_c0_compare(cpj);
+}

I still don't understand why you need this function at all, and the 'cpj'
variable as well -- clockevents core will set the comparator to a needed value. Also, I don't see much value in moving that function...

Well, it's explicitly made inline and it has been moved closer to the calling function.

Vitaly