40 .name =
"dc21285_timer2",
42 .read = cksrc_dc21285_read,
43 .enable = cksrc_dc21285_enable,
44 .disable = cksrc_dc21285_disable,
49 static void ckevt_dc21285_set_mode(
enum clock_event_mode
mode,
50 struct clock_event_device *
c)
53 case CLOCK_EVT_MODE_RESUME:
54 case CLOCK_EVT_MODE_PERIODIC:
67 static struct clock_event_device ckevt_dc21285 = {
68 .name =
"dc21285_timer1",
69 .features = CLOCK_EVT_FEAT_PERIODIC,
72 .set_mode = ckevt_dc21285_set_mode,
77 struct clock_event_device *
ce =
dev_id;
81 ce->event_handler(ce);
86 static struct irqaction footbridge_timer_irq = {
87 .name =
"dc21285_timer1",
88 .handler = timer1_interrupt,
90 .dev_id = &ckevt_dc21285,
96 static void __init footbridge_timer_init(
void)
98 struct clock_event_device *ce = &ckevt_dc21285;
100 clocksource_register_hz(&cksrc_dc21285, (
mem_fclk_21285 + 8) / 16);
102 setup_irq(ce->irq, &footbridge_timer_irq);
113 .init = footbridge_timer_init,