diff options
author | Ralf Corsepius <ralf.corsepius@rtems.org> | 2008-09-30 07:04:23 +0000 |
---|---|---|
committer | Ralf Corsepius <ralf.corsepius@rtems.org> | 2008-09-30 07:04:23 +0000 |
commit | df7f158e9d0f02f627c5a5d66e1aea03bf5688bb (patch) | |
tree | 4b38e9ce392f6c3248f4b288962f27f052cee899 /c/src/lib/libbsp | |
parent | 2008-09-30 Ralf Corsépius <ralf.corsepius@rtems.org> (diff) | |
download | rtems-df7f158e9d0f02f627c5a5d66e1aea03bf5688bb.tar.bz2 |
2008-09-30 Ralf Corsepius <ralf.corsepius@rtems.org>
* clockdrv_shell.c: Empty file. Add warning to not use this file.
* clock_driver_simidle.c: include clockdrv_shell.h.
Diffstat (limited to 'c/src/lib/libbsp')
-rw-r--r-- | c/src/lib/libbsp/shared/ChangeLog | 5 | ||||
-rw-r--r-- | c/src/lib/libbsp/shared/clock_driver_simidle.c | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/shared/clockdrv_shell.c | 217 |
3 files changed, 8 insertions, 216 deletions
diff --git a/c/src/lib/libbsp/shared/ChangeLog b/c/src/lib/libbsp/shared/ChangeLog index 891df08a23..76f61281a4 100644 --- a/c/src/lib/libbsp/shared/ChangeLog +++ b/c/src/lib/libbsp/shared/ChangeLog @@ -1,5 +1,10 @@ 2008-09-30 Ralf Corsepius <ralf.corsepius@rtems.org> + * clockdrv_shell.c: Empty file. Add warning to not use this file. + * clock_driver_simidle.c: include clockdrv_shell.h. + +2008-09-30 Ralf Corsepius <ralf.corsepius@rtems.org> + * clockdrv_shell.h: New (Copied from clockdrv_shell.c). 2008-09-24 Joel Sherrill <joel.sherrill@oarcorp.com> diff --git a/c/src/lib/libbsp/shared/clock_driver_simidle.c b/c/src/lib/libbsp/shared/clock_driver_simidle.c index 4aeb7f467c..6d174bff65 100644 --- a/c/src/lib/libbsp/shared/clock_driver_simidle.c +++ b/c/src/lib/libbsp/shared/clock_driver_simidle.c @@ -28,7 +28,7 @@ volatile bool clock_driver_enabled; clock_driver_enabled = false; \ } while (0) -#include "clockdrv_shell.c" +#include "clockdrv_shell.h" /* * Since there is no interrupt on this simulator, let's just diff --git a/c/src/lib/libbsp/shared/clockdrv_shell.c b/c/src/lib/libbsp/shared/clockdrv_shell.c index 645d07b29d..88f56d2451 100644 --- a/c/src/lib/libbsp/shared/clockdrv_shell.c +++ b/c/src/lib/libbsp/shared/clockdrv_shell.c @@ -11,219 +11,6 @@ * $Id$ */ -#include <stdlib.h> +#warning "Including obsolete file clockdrv_shell.c; include clockdrv_shell.h, instead" -#include <bsp.h> - -#if defined(CLOCK_DRIVER_USE_FAST_IDLE) && defined(CLOCK_DRIVER_ISRS_PER_TICK) -#error "clockdrv_shell.c: fast idle and N ISRs per tick is not supported" -#endif - - -/* - * This method is rarely used so default it. - */ -#ifndef Clock_driver_support_find_timer -#define Clock_driver_support_find_timer() -#endif - -/* - * ISRs until next clock tick - */ - -#ifdef CLOCK_DRIVER_ISRS_PER_TICK -volatile uint32_t Clock_driver_isrs; -#endif - -/* - * Clock ticks since initialization - */ - -volatile uint32_t Clock_driver_ticks; - -/* - * ISR formerly installed. - */ - -rtems_isr_entry Old_ticker; - -void Clock_exit( void ); - -/* - * Major and minor number. - */ - -rtems_device_major_number rtems_clock_major = UINT32_MAX; -rtems_device_minor_number rtems_clock_minor; - -/* - * Clock_isr - * - * This is the clock tick interrupt handler. - * - * Input parameters: - * vector - vector number - * - * Output parameters: NONE - * - * Return values: NONE - * - */ - -rtems_isr Clock_isr( - rtems_vector_number vector -) -{ - /* - * Accurate count of ISRs - */ - - Clock_driver_ticks += 1; - -#ifdef CLOCK_DRIVER_USE_FAST_IDLE - do { - rtems_clock_tick(); - } while ( _Thread_Executing == _Thread_Idle && - _Thread_Heir == _Thread_Executing); - - Clock_driver_support_at_tick(); - return; - -#else - - /* - * Do the hardware specific per-tick action. - * - * The counter/timer may or may not be set to automatically reload. - */ - - Clock_driver_support_at_tick(); - -#ifdef CLOCK_DRIVER_ISRS_PER_TICK - /* - * The driver is multiple ISRs per clock tick. - */ - - if ( !Clock_driver_isrs ) { - - rtems_clock_tick(); - - Clock_driver_isrs = CLOCK_DRIVER_ISRS_PER_TICK; - } - Clock_driver_isrs--; -#else - - /* - * The driver is one ISR per clock tick. - */ - rtems_clock_tick(); -#endif -#endif -} - -/* - * Install_clock - * - * This routine actually performs the hardware initialization for the clock. - * - * Input parameters: - * clock_isr - clock interrupt service routine entry point - * - * Output parameters: NONE - * - * Return values: NONE - * - */ - -static void Install_clock( - rtems_isr_entry clock_isr -) -{ - Clock_driver_ticks = 0; - - /* - * Find timer -- some BSPs search buses for hardware timer - */ - Clock_driver_support_find_timer(); - - /* - * Install vector - */ - Clock_driver_support_install_isr( clock_isr, Old_ticker ); - - #if defined(Clock_driver_nanoseconds_since_last_tick) - rtems_clock_set_nanoseconds_extension( - Clock_driver_nanoseconds_since_last_tick - ); - #endif - - /* - * Now initialize the hardware that is the source of the tick ISR. - */ - Clock_driver_support_initialize_hardware(); - - atexit( Clock_exit ); -} - -/* - * Clock_exit - * - * This routine allows the clock driver to exit by masking the interrupt and - * disabling the clock's counter. - * - * Input parameters: NONE - * - * Output parameters: NONE - * - * Return values: NONE - * - */ - -void Clock_exit( void ) -{ - Clock_driver_support_shutdown_hardware(); - - /* do not restore old vector */ -} - -/* - * Clock_initialize - * - * This routine initializes the clock driver. - * - * Input parameters: - * major - clock device major number - * minor - clock device minor number - * parg - pointer to optional device driver arguments - * - * Output parameters: NONE - * - * Return values: - * rtems_device_driver status code - */ - -rtems_device_driver Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) -{ - Install_clock( Clock_isr ); - - /* - * make major/minor avail to others such as shared memory driver - */ - - rtems_clock_major = major; - rtems_clock_minor = minor; - - /* - * If we are counting ISRs per tick, then initialize the counter. - */ - -#ifdef CLOCK_DRIVER_ISRS_PER_TICK - Clock_driver_isrs = CLOCK_DRIVER_ISRS_PER_TICK; -#endif - - return RTEMS_SUCCESSFUL; -} +#include "clockdrv_shell.h" |