From bb99cd0d83ae32e1f222bf2c8235a8f95128815d Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 5 Dec 2019 19:22:33 +0100 Subject: clock: Simplify driver initialization Use a system initialization handler instead of a legacy IO driver. Update #3834. --- bsps/bfin/shared/dev/clock.c | 13 +------------ bsps/m68k/csb360/dev/ckinit.c | 9 +-------- bsps/m68k/gen68340/clock/ckinit.c | 9 +-------- bsps/m68k/mcf5206elite/dev/ckinit.c | 7 +------ bsps/m68k/mrm332/clock/ckinit.c | 8 +------- bsps/m68k/mvme147/clock/ckinit.c | 8 +------- bsps/m68k/mvme162/clock/ckinit.c | 8 +------- bsps/m68k/mvme167/clock/ckinit.c | 11 +---------- bsps/mips/hurricane/clock/ckinit.c | 15 +-------------- bsps/no_cpu/no_bsp/clock/ckinit.c | 14 +------------- bsps/powerpc/shared/clock/clock-ppc-dec.c | 11 +---------- bsps/powerpc/shared/clock/clock-ppc403.c | 6 +----- bsps/powerpc/shared/clock/clock.c | 8 +------- bsps/powerpc/ss555/clock/clock.c | 8 +------- bsps/sh/gensh1/clock/ckinit.c | 14 +------------- bsps/sh/gensh2/clock/ckinit.c | 13 +------------ bsps/sh/gensh4/clock/ckinit.c | 13 +------------ bsps/shared/dev/clock/clockimpl.h | 19 +------------------ bsps/shared/grlib/btimer/tlib_ckinit.c | 13 ++----------- 19 files changed, 20 insertions(+), 187 deletions(-) (limited to 'bsps') diff --git a/bsps/bfin/shared/dev/clock.c b/bsps/bfin/shared/dev/clock.c index 75cd139e52..4d500f6ccb 100644 --- a/bsps/bfin/shared/dev/clock.c +++ b/bsps/bfin/shared/dev/clock.c @@ -53,16 +53,7 @@ static void Clock_exit(void) *(uint32_t volatile *) TCNTL = 0; } -/* - * Clock_initialize - * - * This routine initializes the clock driver. - */ -rtems_device_driver Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) +void _Clock_Initialize( void ) { Clock_driver_ticks = 0; @@ -75,6 +66,4 @@ rtems_device_driver Clock_initialize( *(uint32_t volatile *) TCNTL = TCNTL_TMPWR | TCNTL_TAUTORLD | TCNTL_TMREN; atexit(Clock_exit); - - return RTEMS_SUCCESSFUL; } diff --git a/bsps/m68k/csb360/dev/ckinit.c b/bsps/m68k/csb360/dev/ckinit.c index 839a2748ef..ef0e891cf2 100644 --- a/bsps/m68k/csb360/dev/ckinit.c +++ b/bsps/m68k/csb360/dev/ckinit.c @@ -112,14 +112,7 @@ Install_clock(rtems_isr_entry clock_isr) atexit(Clock_exit); } -rtems_device_driver -Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) +void _Clock_Initialize( void ) { Install_clock (Clock_isr); - - return RTEMS_SUCCESSFUL; } diff --git a/bsps/m68k/gen68340/clock/ckinit.c b/bsps/m68k/gen68340/clock/ckinit.c index 7dfe85d422..adbb14a399 100644 --- a/bsps/m68k/gen68340/clock/ckinit.c +++ b/bsps/m68k/gen68340/clock/ckinit.c @@ -91,14 +91,7 @@ Install_clock (rtems_isr_entry clock_isr) atexit (Clock_exit); } -rtems_device_driver -Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) +void _Clock_Initialize( void ) { Install_clock (Clock_isr); - - return RTEMS_SUCCESSFUL; } diff --git a/bsps/m68k/mcf5206elite/dev/ckinit.c b/bsps/m68k/mcf5206elite/dev/ckinit.c index 6cda45ca05..bbd4f20f46 100644 --- a/bsps/m68k/mcf5206elite/dev/ckinit.c +++ b/bsps/m68k/mcf5206elite/dev/ckinit.c @@ -102,12 +102,7 @@ Install_clock(rtems_isr_entry clock_isr) atexit(Clock_exit); } -rtems_device_driver -Clock_initialize(rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp) +void _Clock_Initialize( void ) { Install_clock (Clock_isr); - - return RTEMS_SUCCESSFUL; } diff --git a/bsps/m68k/mrm332/clock/ckinit.c b/bsps/m68k/mrm332/clock/ckinit.c index cb7595f955..2b74ed6988 100644 --- a/bsps/m68k/mrm332/clock/ckinit.c +++ b/bsps/m68k/mrm332/clock/ckinit.c @@ -63,13 +63,7 @@ void Clock_exit( void ) /* do not restore old vector */ } -rtems_device_driver Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) +void _Clock_Initialize( void ) { Install_clock( Clock_isr ); - - return RTEMS_SUCCESSFUL; } diff --git a/bsps/m68k/mvme147/clock/ckinit.c b/bsps/m68k/mvme147/clock/ckinit.c index 4a3e95df86..bf5dba2160 100644 --- a/bsps/m68k/mvme147/clock/ckinit.c +++ b/bsps/m68k/mvme147/clock/ckinit.c @@ -70,13 +70,7 @@ void Clock_exit( void ) pcc->timer2_int_control = 0x00; /* Disable T2 Interr. */ } -rtems_device_driver Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) +void _Clock_Initialize( void ) { Install_clock( Clock_isr ); - - return RTEMS_SUCCESSFUL; } diff --git a/bsps/m68k/mvme162/clock/ckinit.c b/bsps/m68k/mvme162/clock/ckinit.c index 5412c16d7d..f22359ffd3 100644 --- a/bsps/m68k/mvme162/clock/ckinit.c +++ b/bsps/m68k/mvme162/clock/ckinit.c @@ -77,13 +77,7 @@ void Clock_exit( void ) /* Dummy for now. See other m68k BSP's for code examples */ } -rtems_device_driver Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) +void _Clock_Initialize( void ) { Install_clock( Clock_isr ); - - return RTEMS_SUCCESSFUL; } diff --git a/bsps/m68k/mvme167/clock/ckinit.c b/bsps/m68k/mvme167/clock/ckinit.c index 8ae7234b8f..bf808435a5 100644 --- a/bsps/m68k/mvme167/clock/ckinit.c +++ b/bsps/m68k/mvme167/clock/ckinit.c @@ -1,7 +1,4 @@ /* - * Implementation of the Clock_initialize() functions - * prototyped in rtems/c/src/lib/include/clockdrv.h. - * * This port does not allow the application to select which timer on the * MVME167 to use for the clock, nor does it allow the application to * configure the clock. The clock uses the VMEchip2 Tick Timer #2. This @@ -147,13 +144,7 @@ void clock_exit( void ) set_vector( Old_ticker, CLOCK_VECTOR, 1 ); } -rtems_device_driver Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) +void _Clock_Initialize( void ) { VMEchip2_T2_initialize(); - - return RTEMS_SUCCESSFUL; } diff --git a/bsps/mips/hurricane/clock/ckinit.c b/bsps/mips/hurricane/clock/ckinit.c index 7e692efe0f..411cd5bdbb 100644 --- a/bsps/mips/hurricane/clock/ckinit.c +++ b/bsps/mips/hurricane/clock/ckinit.c @@ -198,20 +198,7 @@ void Clock_exit( void ) mips_disable_in_interrupt_mask(~CLOCK_VECTOR_MASK); } -/* - * Clock_initialize - * - * Device driver entry point for clock tick driver initialization. - */ - -rtems_device_driver Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) +void _Clock_Initialize( void ) { Install_clock( Clock_isr ); - - return RTEMS_SUCCESSFUL; } - diff --git a/bsps/no_cpu/no_bsp/clock/ckinit.c b/bsps/no_cpu/no_bsp/clock/ckinit.c index 1d680fe355..ef24c8fbe0 100644 --- a/bsps/no_cpu/no_bsp/clock/ckinit.c +++ b/bsps/no_cpu/no_bsp/clock/ckinit.c @@ -109,19 +109,7 @@ void Clock_exit( void ) /* XXX: If necessary, restore the old vector */ } -/* - * Clock_initialize - * - * Device driver entry point for clock tick driver initialization. - */ -rtems_device_driver Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) +void _Clock_Initialize( void ) { Install_clock( Clock_isr ); - - return RTEMS_SUCCESSFUL; } - diff --git a/bsps/powerpc/shared/clock/clock-ppc-dec.c b/bsps/powerpc/shared/clock/clock-ppc-dec.c index bb12e55902..9684b5bf6a 100644 --- a/bsps/powerpc/shared/clock/clock-ppc-dec.c +++ b/bsps/powerpc/shared/clock/clock-ppc-dec.c @@ -197,16 +197,7 @@ int clockIsOn(void* unused) return 0; } -/* - * Clock_initialize - * - * This routine initializes the clock driver. - */ -rtems_device_driver Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) +void _Clock_Initialize( void ) { rtems_interrupt_level l,tcr; diff --git a/bsps/powerpc/shared/clock/clock-ppc403.c b/bsps/powerpc/shared/clock/clock-ppc403.c index 8e3d3bb725..170c17e2cc 100644 --- a/bsps/powerpc/shared/clock/clock-ppc403.c +++ b/bsps/powerpc/shared/clock/clock-ppc403.c @@ -265,11 +265,7 @@ void Clock_exit(void) BSP_remove_rtems_irq_handler (&clockIrqConnData); } -rtems_device_driver Clock_initialize(rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp) +void _Clock_Initialize( void ) { Install_clock( Clock_isr ); - - return RTEMS_SUCCESSFUL; } diff --git a/bsps/powerpc/shared/clock/clock.c b/bsps/powerpc/shared/clock/clock.c index a2a19865fb..2130d73147 100644 --- a/bsps/powerpc/shared/clock/clock.c +++ b/bsps/powerpc/shared/clock/clock.c @@ -167,11 +167,7 @@ static int ppc_clock_exception_handler_ppc405(BSP_Exception_frame *frame, unsign return 0; } -rtems_device_driver Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *arg -) +void _Clock_Initialize( void ) { uint64_t frequency = bsp_time_base_frequency; uint64_t us_per_tick = rtems_configuration_get_microseconds_per_tick(); @@ -233,6 +229,4 @@ rtems_device_driver Clock_initialize( ppc_tc.tc_frequency = frequency; ppc_tc.tc_quality = RTEMS_TIMECOUNTER_QUALITY_CLOCK_DRIVER; rtems_timecounter_install(&ppc_tc); - - return RTEMS_SUCCESSFUL; } diff --git a/bsps/powerpc/ss555/clock/clock.c b/bsps/powerpc/ss555/clock/clock.c index 74b34180c4..4a46dee242 100644 --- a/bsps/powerpc/ss555/clock/clock.c +++ b/bsps/powerpc/ss555/clock/clock.c @@ -130,13 +130,7 @@ static void Install_clock(rtems_isr_entry clock_isr) atexit(Clock_exit); } -rtems_device_driver Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) +void _Clock_Initialize( void ) { Install_clock( Clock_isr ); - - return RTEMS_SUCCESSFUL; } diff --git a/bsps/sh/gensh1/clock/ckinit.c b/bsps/sh/gensh1/clock/ckinit.c index 76faf2e857..3434692f8e 100644 --- a/bsps/sh/gensh1/clock/ckinit.c +++ b/bsps/sh/gensh1/clock/ckinit.c @@ -288,19 +288,7 @@ void Clock_exit( void ) /* old vector shall not be installed */ } -/* - * Clock_initialize - * - * Device driver entry point for clock tick driver initialization. - */ - -rtems_device_driver Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) +void _Clock_Initialize( void ) { Install_clock( Clock_isr ); - - return RTEMS_SUCCESSFUL; } diff --git a/bsps/sh/gensh2/clock/ckinit.c b/bsps/sh/gensh2/clock/ckinit.c index 30a2e218ed..7b5c789e91 100644 --- a/bsps/sh/gensh2/clock/ckinit.c +++ b/bsps/sh/gensh2/clock/ckinit.c @@ -228,18 +228,7 @@ void Clock_exit( void ) /* old vector shall not be installed */ } -/* - * Clock_initialize - * - * Device driver entry point for clock tick driver initialization. - */ -rtems_device_driver Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) +void _Clock_Initialize( void ) { Install_clock( Clock_isr ); - - return RTEMS_SUCCESSFUL; } diff --git a/bsps/sh/gensh4/clock/ckinit.c b/bsps/sh/gensh4/clock/ckinit.c index 48439d670e..7e2b88acdb 100644 --- a/bsps/sh/gensh4/clock/ckinit.c +++ b/bsps/sh/gensh4/clock/ckinit.c @@ -229,18 +229,7 @@ Clock_exit(void) /* old vector shall not be installed */ } -/* - * Clock_initialize - * - * Device driver entry point for clock tick driver initialization. - */ -rtems_device_driver Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) +void _Clock_Initialize( void ) { Install_clock( Clock_isr ); - - return RTEMS_SUCCESSFUL; } diff --git a/bsps/shared/dev/clock/clockimpl.h b/bsps/shared/dev/clock/clockimpl.h index f5eb4dcd1d..163b498a18 100644 --- a/bsps/shared/dev/clock/clockimpl.h +++ b/bsps/shared/dev/clock/clockimpl.h @@ -194,22 +194,7 @@ rtems_isr Clock_isr( #endif } -/** - * @brief Clock_initialize - * - * This routine initializes the clock driver. - * - * @param[in] major Clock device major number. - * @param[in] minor Clock device minor number. - * @param[in] parg Pointer to optional device driver arguments - * - * @retval rtems_device_driver status code - */ -rtems_device_driver Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) +void _Clock_Initialize( void ) { Clock_driver_ticks = 0; @@ -240,6 +225,4 @@ rtems_device_driver Clock_initialize( #if CLOCK_DRIVER_ISRS_PER_TICK Clock_driver_isrs = CLOCK_DRIVER_ISRS_PER_TICK_VALUE; #endif - - return RTEMS_SUCCESSFUL; } diff --git a/bsps/shared/grlib/btimer/tlib_ckinit.c b/bsps/shared/grlib/btimer/tlib_ckinit.c index e43c8fdd8e..4f679984d8 100644 --- a/bsps/shared/grlib/btimer/tlib_ckinit.c +++ b/bsps/shared/grlib/btimer/tlib_ckinit.c @@ -163,8 +163,7 @@ static void tlib_clock_timecounter_tick(void) priv.ops->timecounter_tick(); } -/* Return a value not equal to RTEMS_SUCCESFUL to make Clock_initialize fail. */ -static rtems_device_driver tlib_clock_install_isr(rtems_isr *isr) +static void tlib_clock_install_isr(rtems_isr *isr) { int flags = 0; @@ -173,8 +172,6 @@ static rtems_device_driver tlib_clock_install_isr(rtems_isr *isr) flags = TLIB_FLAGS_BROADCAST; #endif tlib_irq_register(priv.tlib_tick, isr, NULL, flags); - - return RTEMS_SUCCESSFUL; } #ifndef RTEMS_SMP @@ -404,13 +401,7 @@ static const struct ops ops_irqamp = { } while (0) #define Clock_driver_support_install_isr( isr ) \ - do { \ - rtems_device_driver ret; \ - ret = tlib_clock_install_isr( isr ); \ - if (RTEMS_SUCCESSFUL != ret) { \ - return ret; \ - } \ - } while (0) + tlib_clock_install_isr( isr ) #define Clock_driver_support_set_interrupt_affinity(online_processors) \ /* Done by tlib_clock_install_isr() */ -- cgit v1.2.3