36 #ifndef _RTEMS_CONFDEFS_IODRIVERS_H 37 #define _RTEMS_CONFDEFS_IODRIVERS_H 39 #ifndef __CONFIGURATION_TEMPLATE_h 40 #error "Do not include this file directly, use <rtems/confdefs.h> instead" 45 #if defined(CONFIGURE_APPLICATION_EXTRA_DRIVERS) \ 46 || defined(CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER) \ 47 || defined(CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER) \ 48 || defined(CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER) \ 49 || defined(CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER) \ 50 || defined(CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER) \ 51 || defined(CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER) \ 52 || defined(CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER) \ 53 || defined(CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER) \ 54 || CONFIGURE_MAXIMUM_DRIVERS > 0 57 #include <rtems/sysinit.h> 59 #ifdef CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER 60 #if defined(CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER) \ 61 || defined(CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER) 62 #error "CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER, CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER, and CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER are mutually exclusive" 68 #ifdef CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER 72 #ifdef CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER 76 #ifdef CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER 80 #ifdef CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER 84 #ifdef CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER 88 #ifdef CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER 89 #ifndef CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER 90 #define CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER 93 #include <libchip/ide_ctrl.h> 96 #ifdef CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER 97 #include <libchip/ata.h> 100 #ifndef CONFIGURE_MAXIMUM_DRIVERS 101 #define CONFIGURE_MAXIMUM_DRIVERS 104 #define NULL_DRIVER_TABLE_ENTRY { NULL, NULL, NULL, NULL, NULL, NULL } 111 _IO_Driver_address_table[ CONFIGURE_MAXIMUM_DRIVERS ] = {
112 #ifdef CONFIGURE_BSP_PREREQUISITE_DRIVERS 113 CONFIGURE_BSP_PREREQUISITE_DRIVERS,
115 #ifdef CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS 116 CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS,
118 #ifdef CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER 121 #ifdef CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER 124 #ifdef CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER 127 #ifdef CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER 128 DEVNULL_DRIVER_TABLE_ENTRY,
130 #ifdef CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER 131 DEVZERO_DRIVER_TABLE_ENTRY,
133 #ifdef CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER 134 IDE_CONTROLLER_DRIVER_TABLE_ENTRY,
136 #ifdef CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER 137 ATA_DRIVER_TABLE_ENTRY,
139 #ifdef CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER 142 #ifdef CONFIGURE_APPLICATION_EXTRA_DRIVERS 143 CONFIGURE_APPLICATION_EXTRA_DRIVERS,
145 #if defined(CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER) \ 146 || ( !defined(CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER) \ 147 && !defined(CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER) \ 148 && !defined(CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER) \ 149 && !defined(CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER) \ 150 && !defined(CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER) \ 151 && !defined(CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER) \ 152 && !defined(CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER) \ 153 && !defined(CONFIGURE_APPLICATION_EXTRA_DRIVERS) ) 154 NULL_DRIVER_TABLE_ENTRY
158 const size_t _IO_Number_of_drivers =
159 RTEMS_ARRAY_SIZE( _IO_Driver_address_table );
163 RTEMS_SYSINIT_DEVICE_DRIVERS,
164 RTEMS_SYSINIT_ORDER_MIDDLE
167 #ifdef CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER 168 #ifndef CONFIGURE_ATA_DRIVER_TASK_PRIORITY 169 #define CONFIGURE_ATA_DRIVER_TASK_PRIORITY ATA_DRIVER_TASK_DEFAULT_PRIORITY 173 = CONFIGURE_ATA_DRIVER_TASK_PRIORITY;
Frame Buffer Device Driver for all Boards.
RTEMS /dev/zero Device Driver.
#define CONSOLE_DRIVER_TABLE_ENTRY
Definition: console.h:38
#define WATCHDOG_DRIVER_TABLE_ENTRY
Definition: watchdogdrv.h:30
Console Driver for all Boards.
Classic Input/Output Manager Implementation API.
Real-Time Clock Driver Interface.
void _IO_Initialize_all_drivers(void)
Initialization of all device drivers.
Definition: io.c:26
#define RTC_DRIVER_TABLE_ENTRY
Definition: rtc.h:45
RTEMS /dev/null Device Driver.
#define FRAME_BUFFER_DRIVER_TABLE_ENTRY
Definition: framebuffer.h:45
uint32_t rtems_task_priority
Definition: tasks.h:55