summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi/include/rtems
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2001-10-16 19:05:29 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2001-10-16 19:05:29 +0000
commit059a371409f8e35a635e412cd9061a41d4cf7c46 (patch)
tree6ad23cf6cbe3906006b3f802d0ee92c56026bdc8 /cpukit/sapi/include/rtems
parent2001-10-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff)
downloadrtems-059a371409f8e35a635e412cd9061a41d4cf7c46.tar.bz2
2001-10-16 Chris Johns <ccj@acm.org>
* include/confdefs.h, include/rtems/config.h, include/rtems/io.h, optman/no-io.c, src/exinit.c, src/io.c: Added a device driver register/unregister interface to allow device drivers to be installed and removed at runtime. This means you do not need devices present in the device table when you build.
Diffstat (limited to '')
-rw-r--r--cpukit/sapi/include/rtems/config.h1
-rw-r--r--cpukit/sapi/include/rtems/io.h29
2 files changed, 30 insertions, 0 deletions
diff --git a/cpukit/sapi/include/rtems/config.h b/cpukit/sapi/include/rtems/config.h
index bd8d972fc2..eba53a6818 100644
--- a/cpukit/sapi/include/rtems/config.h
+++ b/cpukit/sapi/include/rtems/config.h
@@ -104,6 +104,7 @@ typedef struct {
unsigned32 microseconds_per_tick;
unsigned32 ticks_per_timeslice;
unsigned32 maximum_devices;
+ unsigned32 maximum_drivers;
unsigned32 number_of_device_drivers;
rtems_driver_address_table *Device_driver_table;
unsigned32 number_of_initial_extensions;
diff --git a/cpukit/sapi/include/rtems/io.h b/cpukit/sapi/include/rtems/io.h
index 4d8b3c027c..60d7ea2d53 100644
--- a/cpukit/sapi/include/rtems/io.h
+++ b/cpukit/sapi/include/rtems/io.h
@@ -100,11 +100,40 @@ SAPI_EXTERN rtems_driver_name_t *_IO_Driver_name_table;
void _IO_Manager_initialization(
rtems_driver_address_table *driver_table,
+ unsigned32 drivers_in_table,
unsigned32 number_of_drivers,
unsigned32 number_of_devices
);
/*
+ * rtems_io_register_driver
+ *
+ * DESCRIPTION:
+ *
+ * Register a driver into the device driver table.
+ *
+ */
+
+rtems_status_code rtems_io_register_driver(
+ rtems_device_major_number major,
+ rtems_driver_address_table *driver_table,
+ rtems_device_major_number *registered_major
+);
+
+/*
+ * rtems_io_unregister_driver
+ *
+ * DESCRIPTION:
+ *
+ * Unregister a driver from the device driver table.
+ *
+ */
+
+rtems_status_code rtems_io_unregister_driver(
+ rtems_device_major_number major
+);
+
+/*
* rtems_io_register_name
*
* DESCRIPTION: