diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-03-23 16:53:30 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2024-03-20 16:34:09 +0100 |
commit | 1eed6f8bfca86b77174412292ff7807708f4ab3a (patch) | |
tree | 54b059527e936d7858de549b18d448a8b6990b57 /bsps/riscv | |
parent | Do not define CONFIGURE_TICKS_PER_TIMESLICE to 0 (diff) | |
download | rtems-1eed6f8bfca86b77174412292ff7807708f4ab3a.tar.bz2 |
bsps: Avoid unused argument in clock interrupt
Pass the parameter of the clock interrupt handler to
Clock_driver_support_at_tick() and Clock_driver_timecounter_tick(). This makes
it possible to use the interrupt handler argument in clock drivers.
Use the interrupt handler provided by Clock_driver_support_install_isr() to
avoid local delarations of Clock_isr().
Update #4862.
Diffstat (limited to 'bsps/riscv')
-rw-r--r-- | bsps/riscv/griscv/clock/clockdrv.c | 2 | ||||
-rw-r--r-- | bsps/riscv/riscv/clock/clockdrv.c | 13 |
2 files changed, 6 insertions, 9 deletions
diff --git a/bsps/riscv/griscv/clock/clockdrv.c b/bsps/riscv/griscv/clock/clockdrv.c index ab82751e69..817cb331b6 100644 --- a/bsps/riscv/griscv/clock/clockdrv.c +++ b/bsps/riscv/griscv/clock/clockdrv.c @@ -220,7 +220,7 @@ CPU_Counter_ticks _CPU_Counter_read( void ) #define Clock_driver_support_initialize_hardware() \ grlib_clock_initialize() -#define Clock_driver_timecounter_tick() grlib_tc_do_tick() +#define Clock_driver_timecounter_tick(arg) grlib_tc_do_tick() #include "../../../shared/dev/clock/clockimpl.h" diff --git a/bsps/riscv/riscv/clock/clockdrv.c b/bsps/riscv/riscv/clock/clockdrv.c index ebbc9d77d9..d2f8f5da54 100644 --- a/bsps/riscv/riscv/clock/clockdrv.c +++ b/bsps/riscv/riscv/clock/clockdrv.c @@ -47,9 +47,6 @@ #include <libfdt.h> -/* This is defined in dev/clock/clockimpl.h */ -void Clock_isr(void *arg); - typedef struct { struct timecounter base; volatile RISCV_CLINT_regs *clint; @@ -105,7 +102,7 @@ static void riscv_clock_at_tick(riscv_timecounter *tc) riscv_clock_write_mtimecmp(mtimecmp, value); } -static void riscv_clock_handler_install(void) +static void riscv_clock_handler_install(rtems_interrupt_handler handler) { rtems_status_code sc; @@ -113,8 +110,8 @@ static void riscv_clock_handler_install(void) RISCV_INTERRUPT_VECTOR_TIMER, "Clock", RTEMS_INTERRUPT_UNIQUE, - (rtems_interrupt_handler) Clock_isr, - NULL + handler, + &riscv_clock_tc ); if (sc != RTEMS_SUCCESSFUL) { bsp_fatal(RISCV_FATAL_CLOCK_IRQ_INSTALL); @@ -242,11 +239,11 @@ RTEMS_SYSINIT_ITEM( RTEMS_SYSINIT_ORDER_FIRST ); -#define Clock_driver_support_at_tick() riscv_clock_at_tick(&riscv_clock_tc) +#define Clock_driver_support_at_tick(arg) riscv_clock_at_tick(arg) #define Clock_driver_support_initialize_hardware() riscv_clock_initialize() #define Clock_driver_support_install_isr(isr) \ - riscv_clock_handler_install() + riscv_clock_handler_install(isr) #include "../../../shared/dev/clock/clockimpl.h" |