Re: [PATCH] bsps: Avoid unused argument in clock interrupt

2024-03-21 Thread Gedare Bloom
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

2024-03-20 Thread Sebastian Huber
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