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
158const 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;
Console Driver for all Boards.
#define CONSOLE_DRIVER_TABLE_ENTRY
Definition: console.h:38
Real-Time Clock Driver Interface.
RTEMS /dev/null Device Driver.
RTEMS /dev/zero Device Driver.
Frame Buffer Device Driver for all Boards.
#define FRAME_BUFFER_DRIVER_TABLE_ENTRY
Definition: framebuffer.h:45
uint32_t rtems_task_priority
Definition: tasks.h:55
#define RTC_DRIVER_TABLE_ENTRY
Definition: rtc.h:45
Classic Input/Output Manager Implementation API.
void _IO_Initialize_all_drivers(void)
Initialization of all device drivers.
Definition: io.c:26
#define WATCHDOG_DRIVER_TABLE_ENTRY
Definition: watchdogdrv.h:30