Replace LATCH with PIT_LATCH in i8253 clocksource driver
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
@@ -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