Re: [PATCH] bsps: Avoid unused argument in clock interrupt
Generally this looks ok to me, but please update https://docs.rtems.org/branches/master/bsp-howto/clock.html#initialization https://docs.rtems.org/branches/master/bsp-howto/clock.html#support-at-tick to explain how this arg works. On Wed, Mar 20, 2024 at 8:29 AM Sebastian Huber wrote: > > 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. > --- > bsps/arm/beagle/clock/clock.c | 2 +- > bsps/arm/csb336/clock/clockdrv.c | 2 +- > bsps/arm/csb337/clock/clock.c | 2 +- > bsps/arm/edb7312/clock/clockdrv.c | 6 +-- > bsps/arm/gumstix/clock/clock.c| 2 +- > bsps/arm/raspberrypi/clock/clockdrv.c | 27 +- > bsps/arm/rtl22xx/clock/clockdrv.c | 2 +- > bsps/arm/shared/clock/clock-a9mpcore.c| 28 ++ > bsps/arm/shared/clock/clock-nxp-lpc.c | 17 - > bsps/arm/smdk2410/clock/clockdrv.c| 2 +- > bsps/arm/tms570/clock/clock.c | 20 +- > bsps/i386/pc386/clock/ckinit.c| 2 +- > bsps/lm32/shared/clock/ckinit.c | 2 +- > bsps/lm32/shared/milkymist_clock/ckinit.c | 2 +- > bsps/m68k/av5282/clock/clock.c| 2 +- > bsps/m68k/gen68360/clock/clock.c | 2 +- > bsps/m68k/genmcf548x/clock/clock.c| 2 +- > bsps/m68k/mcf52235/clock/clock.c | 2 +- > bsps/m68k/mcf5225x/clock/clock.c | 2 +- > bsps/m68k/mcf5235/clock/clock.c | 2 +- > bsps/m68k/mcf5329/clock/clock.c | 2 +- > bsps/m68k/mrm332/btimer/btimer.c | 2 - > bsps/m68k/uC5282/clock/clock.c| 2 +- > bsps/microblaze/microblaze_fpga/clock/clock.c | 8 ++-- > bsps/mips/csb350/clock/clockdrv.c | 4 +- > bsps/mips/rbtx4925/clock/clockdrv.c | 2 +- > bsps/mips/rbtx4938/clock/clockdrv.c | 2 +- > bsps/mips/shared/clock/clockdrv.c | 2 +- > bsps/nios2/nios2_iss/clock/clock.c| 2 +- > bsps/or1k/generic_or1k/clock/clockdrv.c | 2 +- > bsps/powerpc/mpc55xxevb/clock/clock-config.c | 24 ++-- > bsps/powerpc/qoriq/clock/clock-config.c | 14 +++ > bsps/riscv/griscv/clock/clockdrv.c| 2 +- > bsps/riscv/riscv/clock/clockdrv.c | 13 +++ > bsps/shared/dev/clock/arm-generic-timer.c | 19 -- > bsps/shared/dev/clock/clockimpl.h | 37 +-- > bsps/shared/dev/clock/xil-ttc.c | 32 ++-- > bsps/shared/grlib/btimer/tlib_ckinit.c| 4 +- > bsps/sparc/erc32/clock/ckinit.c | 8 ++-- > bsps/sparc/leon2/clock/ckinit.c | 2 +- > bsps/sparc/leon3/clock/ckinit.c | 2 +- > bsps/sparc64/shared/clock/ckinit.c| 2 +- > 42 files changed, 137 insertions(+), 178 deletions(-) > > diff --git a/bsps/arm/beagle/clock/clock.c b/bsps/arm/beagle/clock/clock.c > index d42b051c98..a32dde86bf 100644 > --- a/bsps/arm/beagle/clock/clock.c > +++ b/bsps/arm/beagle/clock/clock.c > @@ -290,7 +290,7 @@ static void > beagle_clock_handler_install(rtems_interrupt_handler isr) >clock_isr = isr; > } > > -#define Clock_driver_support_at_tick() beagle_clock_at_tick() > +#define Clock_driver_support_at_tick(arg) beagle_clock_at_tick() > #define Clock_driver_support_initialize_hardware() beagle_clock_initialize() > #define Clock_driver_support_install_isr(isr) \ >beagle_clock_handler_install(isr) > diff --git a/bsps/arm/csb336/clock/clockdrv.c > b/bsps/arm/csb336/clock/clockdrv.c > index 58f98d87be..6af507a877 100644 > --- a/bsps/arm/csb336/clock/clockdrv.c > +++ b/bsps/arm/csb336/clock/clockdrv.c > @@ -38,7 +38,7 @@ rtems_irq_connect_data clock_isr_data = { > *- clear the interrupt bit? > *- restart the timer? > */ > -#define Clock_driver_support_at_tick() \ > +#define Clock_driver_support_at_tick(arg)\ >do { \ > uint32_t reg;\ > \ > diff --git a/bsps/arm/csb337/clock/clock.c b/bsps/arm/csb337/clock/clock.c > index 69a3dafd81..ee05387baa 100644 > --- a/bsps/arm/csb337/clock/clock.c > +++ b/bsps/arm/csb337/clock/clock.c > @@ -94,7 +94,7 @@ static void Clock_driver_support_initialize_hardware(void) >ST_REG(ST_PIMR) = value; > } > > -#define Clock_driver_support_at_tick() \ > +#define Clock_driver_support_at_tick(arg) \ >do { \ > uint32_t st_str; \ > \ > diff --git a/bsps/arm/edb7312/clock/clockdrv.c > b/bsps/arm/edb7312/clock/clockdrv.c > index 8c7cc4f2
[PATCH] 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. --- bsps/arm/beagle/clock/clock.c | 2 +- bsps/arm/csb336/clock/clockdrv.c | 2 +- bsps/arm/csb337/clock/clock.c | 2 +- bsps/arm/edb7312/clock/clockdrv.c | 6 +-- bsps/arm/gumstix/clock/clock.c| 2 +- bsps/arm/raspberrypi/clock/clockdrv.c | 27 +- bsps/arm/rtl22xx/clock/clockdrv.c | 2 +- bsps/arm/shared/clock/clock-a9mpcore.c| 28 ++ bsps/arm/shared/clock/clock-nxp-lpc.c | 17 - bsps/arm/smdk2410/clock/clockdrv.c| 2 +- bsps/arm/tms570/clock/clock.c | 20 +- bsps/i386/pc386/clock/ckinit.c| 2 +- bsps/lm32/shared/clock/ckinit.c | 2 +- bsps/lm32/shared/milkymist_clock/ckinit.c | 2 +- bsps/m68k/av5282/clock/clock.c| 2 +- bsps/m68k/gen68360/clock/clock.c | 2 +- bsps/m68k/genmcf548x/clock/clock.c| 2 +- bsps/m68k/mcf52235/clock/clock.c | 2 +- bsps/m68k/mcf5225x/clock/clock.c | 2 +- bsps/m68k/mcf5235/clock/clock.c | 2 +- bsps/m68k/mcf5329/clock/clock.c | 2 +- bsps/m68k/mrm332/btimer/btimer.c | 2 - bsps/m68k/uC5282/clock/clock.c| 2 +- bsps/microblaze/microblaze_fpga/clock/clock.c | 8 ++-- bsps/mips/csb350/clock/clockdrv.c | 4 +- bsps/mips/rbtx4925/clock/clockdrv.c | 2 +- bsps/mips/rbtx4938/clock/clockdrv.c | 2 +- bsps/mips/shared/clock/clockdrv.c | 2 +- bsps/nios2/nios2_iss/clock/clock.c| 2 +- bsps/or1k/generic_or1k/clock/clockdrv.c | 2 +- bsps/powerpc/mpc55xxevb/clock/clock-config.c | 24 ++-- bsps/powerpc/qoriq/clock/clock-config.c | 14 +++ bsps/riscv/griscv/clock/clockdrv.c| 2 +- bsps/riscv/riscv/clock/clockdrv.c | 13 +++ bsps/shared/dev/clock/arm-generic-timer.c | 19 -- bsps/shared/dev/clock/clockimpl.h | 37 +-- bsps/shared/dev/clock/xil-ttc.c | 32 ++-- bsps/shared/grlib/btimer/tlib_ckinit.c| 4 +- bsps/sparc/erc32/clock/ckinit.c | 8 ++-- bsps/sparc/leon2/clock/ckinit.c | 2 +- bsps/sparc/leon3/clock/ckinit.c | 2 +- bsps/sparc64/shared/clock/ckinit.c| 2 +- 42 files changed, 137 insertions(+), 178 deletions(-) diff --git a/bsps/arm/beagle/clock/clock.c b/bsps/arm/beagle/clock/clock.c index d42b051c98..a32dde86bf 100644 --- a/bsps/arm/beagle/clock/clock.c +++ b/bsps/arm/beagle/clock/clock.c @@ -290,7 +290,7 @@ static void beagle_clock_handler_install(rtems_interrupt_handler isr) clock_isr = isr; } -#define Clock_driver_support_at_tick() beagle_clock_at_tick() +#define Clock_driver_support_at_tick(arg) beagle_clock_at_tick() #define Clock_driver_support_initialize_hardware() beagle_clock_initialize() #define Clock_driver_support_install_isr(isr) \ beagle_clock_handler_install(isr) diff --git a/bsps/arm/csb336/clock/clockdrv.c b/bsps/arm/csb336/clock/clockdrv.c index 58f98d87be..6af507a877 100644 --- a/bsps/arm/csb336/clock/clockdrv.c +++ b/bsps/arm/csb336/clock/clockdrv.c @@ -38,7 +38,7 @@ rtems_irq_connect_data clock_isr_data = { *- clear the interrupt bit? *- restart the timer? */ -#define Clock_driver_support_at_tick() \ +#define Clock_driver_support_at_tick(arg)\ do { \ uint32_t reg;\ \ diff --git a/bsps/arm/csb337/clock/clock.c b/bsps/arm/csb337/clock/clock.c index 69a3dafd81..ee05387baa 100644 --- a/bsps/arm/csb337/clock/clock.c +++ b/bsps/arm/csb337/clock/clock.c @@ -94,7 +94,7 @@ static void Clock_driver_support_initialize_hardware(void) ST_REG(ST_PIMR) = value; } -#define Clock_driver_support_at_tick() \ +#define Clock_driver_support_at_tick(arg) \ do { \ uint32_t st_str; \ \ diff --git a/bsps/arm/edb7312/clock/clockdrv.c b/bsps/arm/edb7312/clock/clockdrv.c index 8c7cc4f26a..79289366da 100644 --- a/bsps/arm/edb7312/clock/clockdrv.c +++ b/bsps/arm/edb7312/clock/clockdrv.c @@ -18,9 +18,7 @@ #define CLOCK_DRIVER_USE_FAST_IDLE 1 #endif -void Clock_isr(void * arg); - -#define Clock_driver_support_at_tick()\ +#define Clock_driver_support_at_tick(arg) \ do {\ *EP7312_TC1EOI = 0x; \ } while(0) @@ -32,7 +30,7 @@ void Clock_isr(void