Skip to contentSkip to conversation

Replace LATCH with PIT_LATCH in i8253 clocksource driver

PATCH New Deepak Saxena 1 participant 1 message Nov 1, 2011 Clocksource, clockevent drivers

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Replace LATCH with PIT_LATCH in i8253 clocksource driver

The i8253 clockevent & clocksource driver uses PIT_LATCH except for two cases where it uses LATCH:

1)

	/* VIA686a test code... reset the latch if count > max + 1 */
	if (count > LATCH) {

LATCH is based on CLOCK_TICK_RATE which is defined as PIT_TICK_RATE on x86 so this should just be the later.

2)

	...
	switch (mode) {
	case CLOCK_EVT_MODE_PERIODIC:
		/* binary, mode 2, LSB/MSB, ch 0 */
		outb_p(0x34, PIT_MODE);
		outb_p(LATCH & 0xff , PIT_CH0);	/* LSB */
		outb_p(LATCH >> 8 , PIT_CH0);		/* MSB */
	...

MIPS and ARM are the only other arches that use this driver. In the MIPS case CLOCK_TICK_RATE is defined as the same value as PIT_TICK_RATE. For ARM, the only machine that uses it is Footbridge which has a totally bogus CLOCK_TICK_RATE according to the comments. Furthermore, the clockevent_i8253_init() initializes the clockevent with PIT_TIC_RATE, so there's no reason to use the generic LATCH.

This is part of work to remove and depecrate the global CLOCK_TICK_RATE symbol.

---
 drivers/clocksource/i8253.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
drivers/clocksource/i8253.c +3 -3
index 27c49e6..e7cab2d 100644
@@ -53,7 +53,7 @@ static cycle_t i8253_read(struct clocksource *cs)
 	count |= inb_p(PIT_CH0) << 8;
 
 	/* VIA686a test code... reset the latch if count > max + 1 */
-	if (count > LATCH) {
+	if (count > PIT_LATCH) {
 		outb_p(0x34, PIT_MODE);
 		outb_p(PIT_LATCH & 0xff, PIT_CH0);
 		outb_p(PIT_LATCH >> 8, PIT_CH0);
@@ -114,8 +114,8 @@ static void init_pit_timer(enum clock_event_mode mode,
 	case CLOCK_EVT_MODE_PERIODIC:
 		/* binary, mode 2, LSB/MSB, ch 0 */
 		outb_p(0x34, PIT_MODE);
-		outb_p(LATCH & 0xff , PIT_CH0);	/* LSB */
-		outb_p(LATCH >> 8 , PIT_CH0);		/* MSB */
+		outb_p(PIT_LATCH & 0xff , PIT_CH0);	/* LSB */
+		outb_p(PIT_LATCH >> 8 , PIT_CH0);		/* MSB */
 		break;
 
 	case CLOCK_EVT_MODE_SHUTDOWN:
Signature · 1 line
1.7.4.1