summaryrefslogtreecommitdiffstats
path: root/bsps/arm/beagle
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-06-01 07:11:12 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-06-27 08:58:16 +0200
commit7ee59313932398aa2781503d25154c56301b9b73 (patch)
treeefaeaf7fa038f3de1b58676deb16d52744c0b373 /bsps/arm/beagle
parentRemove unused CPU_MODES_INTERRUPT_LEVEL (diff)
downloadrtems-7ee59313932398aa2781503d25154c56301b9b73.tar.bz2
Remove Clock_driver_support_shutdown_hardware()
The aim of this clock driver hook was to stop clock tick interrupts at some late point in the exit() procedure. The use of atexit() pulls in malloc() which pulls in errno. It is incompatible with the intention of the CONFIGURE_DISABLE_NEWLIB_REENTRANCY configuration option. The exit() function must be called from thread context, so accompanied clock tick interrupts should cause no harm. On the contrary, someone may assume a normal operating system operation, e.g. working timeouts. Remove the Clock_driver_support_shutdown_hardware() clock driver hook. Close #3436.
Diffstat (limited to 'bsps/arm/beagle')
-rw-r--r--bsps/arm/beagle/clock/clock.c24
1 files changed, 0 insertions, 24 deletions
diff --git a/bsps/arm/beagle/clock/clock.c b/bsps/arm/beagle/clock/clock.c
index d8b2062e80..d42b051c98 100644
--- a/bsps/arm/beagle/clock/clock.c
+++ b/bsps/arm/beagle/clock/clock.c
@@ -290,34 +290,10 @@ static void beagle_clock_handler_install(rtems_interrupt_handler isr)
clock_isr = isr;
}
-static void beagle_clock_cleanup(void)
-{
- rtems_status_code sc = RTEMS_SUCCESSFUL;
-
- /* Disable timer */
- mmio_clear(timer->base + timer->regs->TCLR, OMAP3_TCLR_ST);
-
- /* Remove interrupt handler */
- sc = rtems_interrupt_handler_remove(
- timer->irq_nr,
- clock_isr,
- NULL
- );
- if (sc != RTEMS_SUCCESSFUL) {
- rtems_fatal_error_occurred(0xdeadbeef);
- }
- clock_isr = NULL;
-
- /* stop frclock */
- mmio_clear(fr_timer->base + fr_timer->regs->TCLR, OMAP3_TCLR_ST);
-}
-
#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) \
beagle_clock_handler_install(isr)
-#define Clock_driver_support_shutdown_hardware() beagle_clock_cleanup()
-
/* Include shared source clock driver code */
#include "../../shared/dev/clock/clockimpl.h"