summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-11-16 17:00:29 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-11-17 09:16:17 +0100
commitc47daf6f689e0c99fd398d4caa1d61197bca277d (patch)
tree439f75def51223b1e0bf757d9a6d0db3733e98c0
parentconfig: CONFIGURE_DISABLE_BSP_SETTINGS (diff)
downloadrtems-c47daf6f689e0c99fd398d4caa1d61197bca277d.tar.bz2
config: Fix IO driver table initialization
Check all IO driver table configuration options which are used to initialize _IO_Driver_address_table[]. Checks for the following settings were missing: * CONFIGURE_BSP_PREREQUISITE_DRIVERS * CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS * CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER * CONFIGURE_APPLICATION_EXTRA_DRIVERS Update #3875.
-rw-r--r--cpukit/include/rtems/confdefs/iodrivers.h63
1 files changed, 31 insertions, 32 deletions
diff --git a/cpukit/include/rtems/confdefs/iodrivers.h b/cpukit/include/rtems/confdefs/iodrivers.h
index 8c102197eb..1f77948676 100644
--- a/cpukit/include/rtems/confdefs/iodrivers.h
+++ b/cpukit/include/rtems/confdefs/iodrivers.h
@@ -43,16 +43,30 @@
#ifdef CONFIGURE_INIT
-#if defined(CONFIGURE_APPLICATION_EXTRA_DRIVERS) \
- || defined(CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER) \
- || defined(CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER) \
- || defined(CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER) \
- || defined(CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER) \
- || defined(CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER) \
- || defined(CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER) \
- || defined(CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER) \
- || defined(CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER) \
- || CONFIGURE_MAXIMUM_DRIVERS > 0
+#include <rtems/confdefs/bsp.h>
+
+#if !defined(CONFIGURE_DISABLE_BSP_SETTINGS) && \
+ defined(CONFIGURE_BSP_PREREQUISITE_DRIVERS)
+#define _CONFIGURE_BSP_PREREQUISITE_DRIVERS CONFIGURE_BSP_PREREQUISITE_DRIVERS
+#endif
+
+#if defined(_CONFIGURE_BSP_PREREQUISITE_DRIVERS) || \
+ defined(CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS) || \
+ defined(CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER) || \
+ defined(CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER) || \
+ defined(CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER) || \
+ defined(CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER) || \
+ defined(CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER) || \
+ defined(CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER) || \
+ defined(CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER) || \
+ defined(CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER) || \
+ defined(CONFIGURE_APPLICATION_EXTRA_DRIVERS)
+#define _CONFIGURE_HAS_IO_DRIVERS
+#endif
+
+#if defined(_CONFIGURE_HAS_IO_DRIVERS) || \
+ defined(CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER) || \
+ CONFIGURE_MAXIMUM_DRIVERS > 0
#include <rtems/ioimpl.h>
#include <rtems/sysinit.h>
@@ -110,9 +124,8 @@ extern "C" {
rtems_driver_address_table
_IO_Driver_address_table[ CONFIGURE_MAXIMUM_DRIVERS ] = {
- #if !defined(CONFIGURE_DISABLE_BSP_SETTINGS) && \
- defined(CONFIGURE_BSP_PREREQUISITE_DRIVERS)
- CONFIGURE_BSP_PREREQUISITE_DRIVERS,
+ #ifdef _CONFIGURE_BSP_PREREQUISITE_DRIVERS
+ _CONFIGURE_BSP_PREREQUISITE_DRIVERS,
#endif
#ifdef CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS
CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS,
@@ -144,15 +157,8 @@ _IO_Driver_address_table[ CONFIGURE_MAXIMUM_DRIVERS ] = {
#ifdef CONFIGURE_APPLICATION_EXTRA_DRIVERS
CONFIGURE_APPLICATION_EXTRA_DRIVERS,
#endif
- #if defined(CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER) \
- || ( !defined(CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER) \
- && !defined(CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER) \
- && !defined(CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER) \
- && !defined(CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER) \
- && !defined(CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER) \
- && !defined(CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER) \
- && !defined(CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER) \
- && !defined(CONFIGURE_APPLICATION_EXTRA_DRIVERS) )
+ #if defined(CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER) || \
+ !defined(_CONFIGURE_HAS_IO_DRIVERS)
NULL_DRIVER_TABLE_ENTRY
#endif
};
@@ -179,16 +185,9 @@ RTEMS_SYSINIT_ITEM(
}
#endif
-#endif /* CONFIGURE_APPLICATION_EXTRA_DRIVERS
- || CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
- || CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
- || CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
- || CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER
- || CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
- || CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
- || CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
- || CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
- || CONFIGURE_MAXIMUM_DRIVERS */
+#endif /* _CONFIGURE_HAS_IO_DRIVERS) ||
+ CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER ||
+ CONFIGURE_MAXIMUM_DRIVERS */
/*