summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi/include/rtems
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-04-07 14:50:37 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-04-10 12:37:40 +0200
commit263f4beceae0ec5602cb41e792c25ebe3ec49c97 (patch)
tree7941a5035b4834597e9cdb855e92b4a9d8b5ac27 /cpukit/sapi/include/rtems
parentdocumentation: Clarify (diff)
downloadrtems-263f4beceae0ec5602cb41e792c25ebe3ec49c97.tar.bz2
score: Statically initialize IO manager
This simplifies the RTEMS initialization and helps to avoid a memory overhead. The workspace demands of the IO manager were not included in the <rtems/confdefs.h> workspace size estimate. This is also fixed as a side-effect. Update documentation and move "Specifying Application Defined Device Driver Table" to the section end. This sub-section is not that important for the user. Mentioning this at the beginning may lead to confusion.
Diffstat (limited to 'cpukit/sapi/include/rtems')
-rw-r--r--cpukit/sapi/include/rtems/config.h13
-rw-r--r--cpukit/sapi/include/rtems/io.h13
2 files changed, 2 insertions, 24 deletions
diff --git a/cpukit/sapi/include/rtems/config.h b/cpukit/sapi/include/rtems/config.h
index 0998f054ec..9a9d0a3694 100644
--- a/cpukit/sapi/include/rtems/config.h
+++ b/cpukit/sapi/include/rtems/config.h
@@ -57,7 +57,6 @@ typedef void *posix_api_configuration_table;
#include <rtems/rtems/config.h>
#include <rtems/extension.h>
-#include <rtems/io.h>
#if defined(RTEMS_MULTIPROCESSING)
#include <rtems/score/mpci.h>
#endif
@@ -242,9 +241,6 @@ typedef struct {
bool smp_enabled;
#endif
- uint32_t maximum_drivers;
- uint32_t number_of_device_drivers;
- rtems_driver_address_table *Device_driver_table;
uint32_t number_of_initial_extensions;
const rtems_extensions_table *User_extension_table;
#if defined(RTEMS_MULTIPROCESSING)
@@ -335,15 +331,6 @@ extern const rtems_configuration_table Configuration;
#define rtems_configuration_get_do_zero_of_workspace() \
(Configuration.do_zero_of_workspace)
-#define rtems_configuration_get_maximum_drivers() \
- (Configuration.maximum_drivers)
-
-#define rtems_configuration_get_number_of_device_drivers() \
- (Configuration.number_of_device_drivers)
-
-#define rtems_configuration_get_device_driver_table() \
- (Configuration.Device_driver_table)
-
#define rtems_configuration_get_number_of_initial_extensions() \
(Configuration.number_of_initial_extensions)
diff --git a/cpukit/sapi/include/rtems/io.h b/cpukit/sapi/include/rtems/io.h
index 799a30582d..ce750b0f69 100644
--- a/cpukit/sapi/include/rtems/io.h
+++ b/cpukit/sapi/include/rtems/io.h
@@ -250,18 +250,9 @@ rtems_status_code rtems_io_lookup_name(
rtems_driver_name_t *device_info
) RTEMS_COMPILER_DEPRECATED_ATTRIBUTE;
-SAPI_IO_EXTERN uint32_t _IO_Number_of_drivers;
+extern const size_t _IO_Number_of_drivers;
-SAPI_IO_EXTERN rtems_driver_address_table *_IO_Driver_address_table;
-
-/**
- * @brief Initialization of device drivers.
- *
- * NOTE: The IO manager has been extended to support runtime driver
- * registration. The driver table is now allocated in the
- * workspace.
- */
-void _IO_Manager_initialization( void );
+extern rtems_driver_address_table _IO_Driver_address_table[];
/**
* @brief Initialization of all device drivers.