bsps: Clock_driver_support_install_isr()

Remove old ISR parameter since is not used by the clock driver shell.
Make an implementation optional.

Update #3139.
This commit is contained in:
Sebastian Huber
2017-09-18 08:22:38 +02:00
parent c030edde3f
commit f3b292365f
40 changed files with 81 additions and 176 deletions
+2 -5
View File
@@ -314,11 +314,8 @@ static void beagle_clock_cleanup(void)
#define Clock_driver_support_at_tick() beagle_clock_at_tick()
#define Clock_driver_support_initialize_hardware() beagle_clock_initialize()
#define Clock_driver_support_install_isr(isr, old_isr) \
do { \
beagle_clock_handler_install(isr); \
old_isr = NULL; \
} while (0)
#define Clock_driver_support_install_isr(isr) \
beagle_clock_handler_install(isr)
#define Clock_driver_support_shutdown_hardware() beagle_clock_cleanup()
@@ -25,10 +25,9 @@ void Clock_isr(void * arg);
*EP7312_TC1EOI = 0xffffffff; \
} while(0)
#define Clock_driver_support_install_isr( _new, _old ) \
#define Clock_driver_support_install_isr( _new ) \
do { \
rtems_status_code status = RTEMS_SUCCESSFUL; \
(_old) = NULL; /* avoid warning */; \
status = rtems_interrupt_handler_install( \
BSP_TC1OI, \
"Clock", \
@@ -106,11 +106,8 @@ static void raspberrypi_clock_cleanup(void)
#define Clock_driver_support_shutdown_hardware() raspberrypi_clock_cleanup()
#define Clock_driver_support_install_isr(clock_isr, old_isr) \
do { \
raspberrypi_clock_handler_install_isr(clock_isr); \
old_isr = NULL; \
} while (0)
#define Clock_driver_support_install_isr(clock_isr) \
raspberrypi_clock_handler_install_isr(clock_isr)
#define CLOCK_DRIVER_USE_ONLY_BOOT_PROCESSOR 1
@@ -202,11 +202,8 @@ static void a9mpcore_clock_cleanup(void)
#define Clock_driver_support_initialize_hardware() \
a9mpcore_clock_initialize()
#define Clock_driver_support_install_isr(isr, old_isr) \
do { \
a9mpcore_clock_handler_install(); \
old_isr = NULL; \
} while (0)
#define Clock_driver_support_install_isr(isr) \
a9mpcore_clock_handler_install()
#define Clock_driver_support_shutdown_hardware() \
a9mpcore_clock_cleanup()
@@ -195,11 +195,8 @@ RTEMS_SYSINIT_ITEM(
#define Clock_driver_support_initialize_hardware() \
arm_gt_clock_initialize()
#define Clock_driver_support_install_isr(isr, old_isr) \
do { \
arm_gt_clock_handler_install(); \
old_isr = NULL; \
} while (0)
#define Clock_driver_support_install_isr(isr) \
arm_gt_clock_handler_install()
/* Include shared source clock driver code */
#include "../../shared/clockdrv_shell.h"
@@ -170,11 +170,8 @@ static void _ARMV7M_Systick_cleanup(void)
#define Clock_driver_support_initialize_hardware() \
_ARMV7M_Systick_initialize()
#define Clock_driver_support_install_isr(isr, old_isr) \
do { \
_ARMV7M_Systick_handler_install(); \
old_isr = NULL; \
} while (0)
#define Clock_driver_support_install_isr(isr) \
_ARMV7M_Systick_handler_install()
#define Clock_driver_support_shutdown_hardware() \
_ARMV7M_Systick_cleanup()
@@ -125,11 +125,8 @@ static void lpc_clock_cleanup(void)
#define Clock_driver_support_at_tick() lpc_clock_at_tick()
#define Clock_driver_support_initialize_hardware() lpc_clock_initialize()
#define Clock_driver_support_install_isr(isr, old_isr) \
do { \
lpc_clock_handler_install(); \
old_isr = NULL; \
} while (0)
#define Clock_driver_support_install_isr(isr) \
lpc_clock_handler_install()
#define Clock_driver_support_shutdown_hardware() lpc_clock_cleanup()
+1 -1
View File
@@ -182,7 +182,7 @@ static void tms570_clock_driver_support_shutdown_hardware( void )
#define Clock_driver_support_shutdown_hardware \
tms570_clock_driver_support_shutdown_hardware
#define Clock_driver_support_install_isr(Clock_isr, Old_ticker ) \
#define Clock_driver_support_install_isr(Clock_isr) \
tms570_clock_driver_support_install_isr( Clock_isr )
void Clock_isr(void *arg); /* to supress warning */
@@ -70,11 +70,6 @@ extern volatile uint32_t Clock_driver_ticks;
_SMP_Send_message_broadcast(SMP_MESSAGE_CLOCK_TICK)
#endif
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
_old = NULL; \
} while(0)
static uint32_t pc386_get_timecount_tsc(struct timecounter *tc)
{
return (uint32_t)rdtsc();
+2 -4
View File
@@ -47,10 +47,8 @@ static inline void clockwrite(unsigned int reg, int value)
lm32_interrupt_ack(CLOCK_IRQMASK); \
} while (0)
#define Clock_driver_support_install_isr(_new, _old ) \
do { \
_old = (rtems_isr_entry) set_vector( _new, CLOCK_VECTOR, 1 ); \
} while (0)
#define Clock_driver_support_install_isr(_new ) \
set_vector( _new, CLOCK_VECTOR, 1 )
static void Clock_driver_support_initialize_hardware(void)
{
@@ -26,8 +26,9 @@
lm32_interrupt_ack(1 << MM_IRQ_TIMER0); \
} while (0)
#define Clock_driver_support_install_isr(_new, _old ) \
#define Clock_driver_support_install_isr(_new ) \
do { \
rtems_isr_entry _old; \
rtems_interrupt_catch(_new, MM_IRQ_TIMER0, &_old); \
} while (0)
+2 -4
View File
@@ -22,10 +22,8 @@
/*
* Attach clock interrupt handler
*/
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
_old = (rtems_isr_entry)set_vector(_new, CLOCK_VECTOR, 1); \
} while(0)
#define Clock_driver_support_install_isr( _new ) \
set_vector(_new, CLOCK_VECTOR, 1)
/*
* Turn off the clock
+2 -4
View File
@@ -51,10 +51,8 @@ static unsigned long nsec;
/*
* Attach clock interrupt handler
*/
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
_old = (rtems_isr_entry)set_vector(_new, CLOCK_VECTOR, 1); \
} while(0)
#define Clock_driver_support_install_isr( _new ) \
set_vector(_new, CLOCK_VECTOR, 1)
/*
* Turn off the clock
@@ -69,10 +69,8 @@
/*
* Attach clock interrupt handler
*/
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
_old = (rtems_isr_entry)set_vector(_new, CLOCK_IRQ + 64, 1); \
} while(0)
#define Clock_driver_support_install_isr( _new ) \
set_vector(_new, CLOCK_IRQ + 64, 1)
/*
* Turn off the clock
+2 -4
View File
@@ -49,10 +49,8 @@ static void mcf52235_tc_tick(void)
/*
* Attach clock interrupt handler
*/
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
_old = (rtems_isr_entry)set_vector(_new, CLOCK_VECTOR, 1); \
} while(0)
#define Clock_driver_support_install_isr( _new ) \
set_vector(_new, CLOCK_VECTOR, 1)
/*
* Turn off the clock
+2 -4
View File
@@ -49,10 +49,8 @@ static void mcf5225x_tc_tick(void)
/*
* Attach clock interrupt handler
*/
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
_old = (rtems_isr_entry)set_vector(_new, CLOCK_VECTOR, 1); \
} while(0)
#define Clock_driver_support_install_isr( _new ) \
set_vector(_new, CLOCK_VECTOR, 1)
/*
* Turn off the clock
+2 -4
View File
@@ -22,10 +22,8 @@
/*
* Attach clock interrupt handler
*/
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
_old = (rtems_isr_entry)set_vector(_new, CLOCK_VECTOR, 1); \
} while(0)
#define Clock_driver_support_install_isr( _new ) \
set_vector(_new, CLOCK_VECTOR, 1)
/*
* Turn off the clock
+2 -4
View File
@@ -49,10 +49,8 @@ static void mcf5329_tc_tick(void)
/*
* Attach clock interrupt handler
*/
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
_old = (rtems_isr_entry)set_vector(_new, CLOCK_VECTOR, 1); \
} while(0)
#define Clock_driver_support_install_isr( _new ) \
set_vector(_new, CLOCK_VECTOR, 1)
/*
* Turn off the clock
+2 -4
View File
@@ -75,10 +75,8 @@ static void uC5282_tc_tick(void)
/*
* Attach clock interrupt handler
*/
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
_old = (rtems_isr_entry)set_vector(_new, CLOCK_VECTOR, 1); \
} while(0)
#define Clock_driver_support_install_isr( _new ) \
set_vector(_new, CLOCK_VECTOR, 1)
/*
* Turn off the clock
@@ -36,8 +36,8 @@ void au1x00_clock_init(void);
} while(0)
/* Set for rising edge interrupt */
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
#define Clock_driver_support_install_isr( _new ) \
do { \
rtems_interrupt_handler_install( \
CLOCK_VECTOR, \
"clock", \
+2 -10
View File
@@ -29,16 +29,8 @@
#define CLICKS 5000
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
rtems_interrupt_handler_install( \
CLOCK_VECTOR, \
"clock", \
0, \
_new, \
NULL \
); \
} while(0)
#define Clock_driver_support_install_isr( _new ) \
rtems_interrupt_handler_install( CLOCK_VECTOR, "clock", 0, _new, NULL )
#define Clock_driver_support_initialize_hardware() \
do { \
@@ -38,16 +38,8 @@
#endif
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
rtems_interrupt_handler_install( \
CLOCK_VECTOR, \
"clock", \
0, \
_new, \
NULL \
); \
} while(0)
#define Clock_driver_support_install_isr( _new ) \
rtems_interrupt_handler_install( CLOCK_VECTOR, "clock", 0, _new, NULL )
#define Clock_driver_support_at_tick() \
@@ -57,7 +57,7 @@ void new_brk_esr(void)
}
#define Clock_driver_support_install_isr( _new, _old ) \
#define Clock_driver_support_install_isr( _new ) \
do { \
rtems_interrupt_handler_install( \
CLOCK_VECTOR, \
@@ -28,11 +28,8 @@ static uint32_t mips_timer_rate = 0;
#define Clock_driver_support_at_tick() \
mips_set_timer( mips_timer_rate );
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
rtems_interrupt_handler_install(CLOCK_VECTOR, \
"PIT clock",0, _new, NULL); \
} while(0)
#define Clock_driver_support_install_isr( _new ) \
rtems_interrupt_handler_install(CLOCK_VECTOR, "PIT clock",0, _new, NULL)
#define Clock_driver_support_initialize_hardware() \
do { \
@@ -18,8 +18,8 @@
/*
* Attach clock interrupt handler
*/
#define Clock_driver_support_install_isr(_new, _old) \
do { _old = (rtems_isr_entry)set_vector(_new, CLOCK_VECTOR, 1); } while(0)
#define Clock_driver_support_install_isr(_new) \
set_vector(_new, CLOCK_VECTOR, 1)
/*
* Turn off the clock
@@ -56,16 +56,12 @@ static void generic_or1k_clock_at_tick(void)
cpu_counter_ticks += TTMR_NUM_OF_CLOCK_TICKS_INTERRUPT;
}
static void generic_or1k_clock_handler_install(
proc_ptr new_isr,
proc_ptr old_isr
)
static void generic_or1k_clock_handler_install(proc_ptr new_isr)
{
rtems_status_code sc = RTEMS_SUCCESSFUL;
old_isr = NULL;
_CPU_ISR_install_vector(OR1K_EXCEPTION_TICK_TIMER,
new_isr,
old_isr);
NULL);
if (sc != RTEMS_SUCCESSFUL) {
rtems_fatal_error_occurred(0xdeadbeef);
@@ -143,11 +139,8 @@ CPU_Counter_ticks _CPU_Counter_difference(
#define Clock_driver_support_initialize_hardware() generic_or1k_clock_initialize()
#define Clock_driver_support_install_isr(isr, old_isr) \
do { \
old_isr = NULL; \
generic_or1k_clock_handler_install(isr, old_isr); \
} while (0)
#define Clock_driver_support_install_isr(isr) \
generic_or1k_clock_handler_install(isr)
#define Clock_driver_support_shutdown_hardware() generic_or1k_clock_cleanup()
@@ -248,11 +248,8 @@ static void mpc55xx_clock_cleanup(void)
#define Clock_driver_timecounter_tick() mpc55xx_tc_tick()
#define Clock_driver_support_initialize_hardware() \
mpc55xx_clock_initialize()
#define Clock_driver_support_install_isr(isr, old_isr) \
do { \
mpc55xx_clock_handler_install(isr); \
old_isr = NULL; \
} while (0)
#define Clock_driver_support_install_isr(isr) \
mpc55xx_clock_handler_install(isr)
#define Clock_driver_support_shutdown_hardware() \
mpc55xx_clock_cleanup()
@@ -49,12 +49,10 @@ static volatile qoriq_pic_global_timer *const qoriq_timecounter =
static struct timecounter qoriq_clock_tc;
static void qoriq_clock_handler_install(rtems_isr_entry *old_isr)
static void qoriq_clock_handler_install(void)
{
rtems_status_code sc = RTEMS_SUCCESSFUL;
*old_isr = NULL;
#if defined(RTEMS_MULTIPROCESSING) && !defined(RTEMS_SMP)
{
Processor_mask affinity;
@@ -128,8 +126,8 @@ static void qoriq_clock_cleanup(void)
#define Clock_driver_support_initialize_hardware() \
qoriq_clock_initialize()
#define Clock_driver_support_install_isr(clock_isr, old_isr) \
qoriq_clock_handler_install(&old_isr)
#define Clock_driver_support_install_isr(clock_isr) \
qoriq_clock_handler_install()
#define Clock_driver_support_set_interrupt_affinity(online_processors) \
bsp_interrupt_set_affinity(CLOCK_INTERRUPT, online_processors)
@@ -11,9 +11,6 @@
#define CLOCK_VECTOR 0
#define Clock_driver_support_install_isr( _new, _old ) \
do { _old = 0; } while(0)
volatile bool clock_driver_enabled;
#define Clock_driver_support_initialize_hardware() \
+8 -4
View File
@@ -39,6 +39,13 @@
#error "clockdrv_shell.h: Fast Idle PLUS n ISRs per tick is not supported"
#endif
/**
* @brief Do nothing by default.
*/
#ifndef Clock_driver_support_install_isr
#define Clock_driver_support_install_isr(isr)
#endif
/**
* @brief This method is rarely used so default it.
*/
@@ -215,8 +222,6 @@ rtems_device_driver Clock_initialize(
void *pargp
)
{
rtems_isr_entry Old_ticker;
Clock_driver_ticks = 0;
/*
@@ -227,8 +232,7 @@ rtems_device_driver Clock_initialize(
/*
* Install vector
*/
(void) Old_ticker;
Clock_driver_support_install_isr( Clock_isr, Old_ticker );
Clock_driver_support_install_isr( Clock_isr );
#ifdef RTEMS_SMP
Clock_driver_support_set_interrupt_affinity(
+2 -4
View File
@@ -33,10 +33,8 @@
*/
#define CLOCK_VECTOR ERC32_TRAP_TYPE( ERC32_INTERRUPT_REAL_TIME_CLOCK )
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
_old = set_vector( _new, CLOCK_VECTOR, 1 ); \
} while(0)
#define Clock_driver_support_install_isr( _new ) \
set_vector( _new, CLOCK_VECTOR, 1 )
#define Clock_driver_support_set_interrupt_affinity( _online_processors ) \
do { \
+2 -4
View File
@@ -68,10 +68,8 @@ static void leon2_tc_tick( void )
#define CLOCK_VECTOR LEON_TRAP_TYPE( LEON_INTERRUPT_TIMER1 )
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
_old = set_vector( _new, CLOCK_VECTOR, 1 ); \
} while(0)
#define Clock_driver_support_install_isr( _new ) \
set_vector( _new, CLOCK_VECTOR, 1 )
extern int CLOCK_SPEED;
+2 -5
View File
@@ -169,11 +169,8 @@ static void leon3_tc_do_tick(void)
} \
} while (0)
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
(_old) = NULL; \
bsp_clock_handler_install(_new); \
} while(0)
#define Clock_driver_support_install_isr( _new ) \
bsp_clock_handler_install(_new)
static void bsp_clock_handler_install(rtems_isr *new)
{
@@ -411,7 +411,7 @@ static const struct ops ops_irqamp = {
} \
} while (0)
#define Clock_driver_support_install_isr( isr, old ) \
#define Clock_driver_support_install_isr( isr ) \
do { \
rtems_device_driver ret; \
ret = tlib_clock_install_isr( isr ); \
@@ -81,10 +81,8 @@ static void Clock_driver_support_at_tick_helper(void)
#endif
}
#define Clock_driver_support_install_isr(_new, _old) \
do { \
_old = set_vector( _new, CLOCK_VECTOR, 1 ); \
} while ( 0 )
#define Clock_driver_support_install_isr(_new) \
set_vector( _new, CLOCK_VECTOR, 1 )
static void Clock_driver_support_initialize_hardware(void)
{
@@ -69,11 +69,8 @@ rtems_irq_connect_data clock_isr_data = {
};
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
(_old) = NULL; \
BSP_install_rtems_irq_handler(&clock_isr_data); \
} while(0)
#define Clock_driver_support_install_isr( _new ) \
BSP_install_rtems_irq_handler(&clock_isr_data)
static void Clock_driver_support_initialize_hardware(void)
{
@@ -82,11 +82,8 @@ rtems_irq_connect_data clock_isr_data = {
/**
* Installs the clock ISR. You shouldn't need to change this.
*/
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
(_old) = NULL; \
BSP_install_rtems_irq_handler(&clock_isr_data); \
} while(0)
#define Clock_driver_support_install_isr( _new ) \
BSP_install_rtems_irq_handler(&clock_isr_data)
/**
* Initialize the hardware for the clock
@@ -50,11 +50,8 @@ rtems_irq_connect_data clock_isr_data = {
/**
* Installs the clock ISR. You shouldn't need to change this.
*/
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
(_old) = NULL; \
BSP_install_rtems_irq_handler(&clock_isr_data); \
} while(0)
#define Clock_driver_support_install_isr( _new ) \
BSP_install_rtems_irq_handler(&clock_isr_data)
/**
* Initialize the hardware for the clock
+2 -5
View File
@@ -86,11 +86,8 @@ rtems_irq_connect_data clock_isr_data = {
.isOn = clock_isr_is_on,
};
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
_old = NULL; \
BSP_install_rtems_irq_handler(&clock_isr_data); \
} while (0)
#define Clock_driver_support_install_isr( _new ) \
BSP_install_rtems_irq_handler(&clock_isr_data)
static void Clock_driver_support_initialize_hardware(void)
{
@@ -41,11 +41,8 @@ rtems_irq_connect_data clock_isr_data = {
/**
* Installs the clock ISR. You shouldn't need to change this.
*/
#define Clock_driver_support_install_isr( _new, _old ) \
do { \
_old = NULL; \
BSP_install_rtems_irq_handler(&clock_isr_data); \
} while(0)
#define Clock_driver_support_install_isr( _new ) \
BSP_install_rtems_irq_handler(&clock_isr_data)
/**