summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/arm/mc9328mxl/clock/clockdrv.c
diff options
context:
space:
mode:
authorJay Monkman <jtm@smoothsmoothie.com>2006-06-03 03:14:07 +0000
committerJay Monkman <jtm@smoothsmoothie.com>2006-06-03 03:14:07 +0000
commit7afe5a2fe01b2edf7d1db5bc684e6b9ba7cb1a82 (patch)
treed5e98dd64e2485864d66952d7fdc0a8d148ffb3a /c/src/lib/libcpu/arm/mc9328mxl/clock/clockdrv.c
parent2006-06-02 Jay Monkman (diff)
downloadrtems-7afe5a2fe01b2edf7d1db5bc684e6b9ba7cb1a82.tar.bz2
2006-06-02 Jay Monkman
* at91rm9200/irq/bsp_irq_init.c, mc9328mxl/clock/clockdrv.c, mc9328mxl/irq/bsp_irq_asm.S, mc9328mxl/irq/bsp_irq_init.c, mc9328mxl/irq/irq.c, mc9328mxl/irq/irq.h, s3c2400/irq/bsp_irq_init.c: Changed interrupt handling to use shared rtems_irq_connect_data struct.
Diffstat (limited to 'c/src/lib/libcpu/arm/mc9328mxl/clock/clockdrv.c')
-rw-r--r--c/src/lib/libcpu/arm/mc9328mxl/clock/clockdrv.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/c/src/lib/libcpu/arm/mc9328mxl/clock/clockdrv.c b/c/src/lib/libcpu/arm/mc9328mxl/clock/clockdrv.c
index 385ab07f06..85d067b6ab 100644
--- a/c/src/lib/libcpu/arm/mc9328mxl/clock/clockdrv.c
+++ b/c/src/lib/libcpu/arm/mc9328mxl/clock/clockdrv.c
@@ -28,13 +28,14 @@ static void clock_isr_off(const rtems_irq_connect_data *unused);
static int clock_isr_is_on(const rtems_irq_connect_data *irq);
/* Replace the first value with the clock's interrupt name. */
-rtems_irq_connect_data clock_isr_data = {BSP_INT_TIMER1,
- (rtems_irq_hdl)Clock_isr,
- clock_isr_on,
- clock_isr_off,
- clock_isr_is_on,
- 3, /* unused for ARM cpus */
- 0 }; /* unused for ARM cpus */
+rtems_irq_connect_data clock_isr_data = {
+ .name = BSP_INT_TIMER1,
+ .hdl = (rtems_irq_hdl)Clock_isr,
+ .handle = (void *)BSP_INT_TIMER1,
+ .on = clock_isr_on,
+ .off = clock_isr_off,
+ .isOn = clock_isr_is_on,
+};
/* If you follow the code, this is never used, so any value
* should work
@@ -82,7 +83,7 @@ rtems_irq_connect_data clock_isr_data = {BSP_INT_TIMER1,
int cnt; \
freq = get_perclk1_freq(); \
printk("perclk1 freq is %d\n", freq); \
- cnt = ((freq / 1000) * BSP_Configuration.microseconds_per_tick) / 1000;\
+ cnt = ((long long)freq * BSP_Configuration.microseconds_per_tick + 500000) / 1000000;\
printk("cnt freq is %d\n", cnt); \
MC9328MXL_TMR1_TCMP = cnt; \
/* use PERCLK1 as input, enable timer */ \