summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-07-28 23:28:35 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-07-28 23:28:35 +0000
commitad4759abd2142d78354365685a5473f4f1276aaf (patch)
tree53c8ac82a27a5609d4c3fcea6eaccd26d8299184 /cpukit
parent2009-07-28 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-ad4759abd2142d78354365685a5473f4f1276aaf.tar.bz2
2009-07-28 Joel Sherrill <joel.sherrill@oarcorp.com>
* libcsupport/Makefile.am, libcsupport/preinstall.am, sapi/include/confdefs.h: Add configuration and basic device driver ver definition for frame buffer device. * libcsupport/include/rtems/framebuffer.h: New file.
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/ChangeLog7
-rw-r--r--cpukit/libcsupport/Makefile.am4
-rw-r--r--cpukit/libcsupport/include/rtems/framebuffer.h158
-rw-r--r--cpukit/libcsupport/preinstall.am4
-rw-r--r--cpukit/sapi/include/confdefs.h8
5 files changed, 179 insertions, 2 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog
index b410b079d7..61511d29c5 100644
--- a/cpukit/ChangeLog
+++ b/cpukit/ChangeLog
@@ -1,3 +1,10 @@
+2009-07-28 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * libcsupport/Makefile.am, libcsupport/preinstall.am,
+ sapi/include/confdefs.h: Add configuration and basic device driver
+ ver definition for frame buffer device.
+ * libcsupport/include/rtems/framebuffer.h: New file.
+
2009-07-26 Joel Sherrill <joel.sherrill@oarcorp.com>
* score/Makefile.am, score/preinstall.am: SuperCore Spinlock is only
diff --git a/cpukit/libcsupport/Makefile.am b/cpukit/libcsupport/Makefile.am
index 059cb70a46..8b59c5830a 100644
--- a/cpukit/libcsupport/Makefile.am
+++ b/cpukit/libcsupport/Makefile.am
@@ -11,8 +11,8 @@ libcsupport_a_CPPFLAGS = $(AM_CPPFLAGS)
include_rtemsdir = $(includedir)/rtems
include_rtems_HEADERS = include/console.h include/clockdrv.h \
- include/iosupp.h include/ringbuf.h include/rtc.h include/spurious.h \
- include/timerdrv.h include/vmeintr.h
+ include/rtems/framebuffer.h include/iosupp.h include/ringbuf.h \
+ include/rtc.h include/spurious.h include/timerdrv.h include/vmeintr.h
## motorola
diff --git a/cpukit/libcsupport/include/rtems/framebuffer.h b/cpukit/libcsupport/include/rtems/framebuffer.h
new file mode 100644
index 0000000000..7d29dcd652
--- /dev/null
+++ b/cpukit/libcsupport/include/rtems/framebuffer.h
@@ -0,0 +1,158 @@
+/**
+ * @file rtems/framebuffer.h
+ */
+
+/*
+ * This file describes the Frame Buffer Device Driver for all boards.
+ *
+ * COPYRIGHT (c) 1989-2009.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#ifndef __RTEMS_FRAMEBUFFER_h__
+#define __RTEMS_FRAMEBUFFER_h__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * This macro defines the standard name for the frame buffer device
+ * that is available to applications.
+ */
+#define FRAMEBUFFER_DEVICE_NAME "/dev/fb"
+
+/**
+ * This macro defines the standard device driver table entry for
+ * a frame buffer device driver.
+ */
+#define FRAMEBUFFER_DRIVER_TABLE_ENTRY \
+ { frame_buffer_initialize, frame_buffer_open, frame_buffer_close, \
+ frame_buffer_read, frame_buffer_write, frame_buffer_control }
+
+/**
+ * @brief Frame Buffer Initialization Entry Point
+ *
+ * This method initializes the frame buffer device driver.
+ *
+ * @param[in] major is the device driver major number
+ * @param[in] minor is the device driver minor number
+ * @param[in] arg is the parameters to this call
+ *
+ * @return This method returns RTEMS_SUCCESSFUL when
+ * the device driver is successfully initialized.
+ */
+rtems_device_driver frame_buffer_initialize(
+ rtems_device_major_number major,
+ rtems_device_minor_number minor,
+ void *arg
+);
+
+/**
+ * @brief Frame Buffer Open Entry Point
+ *
+ * This method opens a specific device supported by the
+ * frame buffer device driver.
+ *
+ * @param[in] major is the device driver major number
+ * @param[in] minor is the device driver minor number
+ * @param[in] arg is the parameters to this call
+ *
+ * @return This method returns RTEMS_SUCCESSFUL when
+ * the device driver is successfully opened.
+ */
+rtems_device_driver frame_buffer_open(
+ rtems_device_major_number major,
+ rtems_device_minor_number minor,
+ void *arg
+);
+
+/**
+ * @brief Frame Buffer Close Entry Point
+ *
+ * This method closes a specific device supported by the
+ * frame buffer device driver.
+ *
+ * @param[in] major is the device driver major number
+ * @param[in] minor is the device driver minor number
+ * @param[in] arg is the parameters to this call
+ *
+ * @return This method returns RTEMS_SUCCESSFUL when
+ * the device is successfully closed.
+ */
+rtems_device_driver frame_buffer_close(
+ rtems_device_major_number major,
+ rtems_device_minor_number minor,
+ void *arg
+);
+
+/**
+ * @brief Frame Buffer Read Entry Point
+ *
+ * This method reads from a specific device supported by the
+ * frame buffer device driver.
+ *
+ * @param[in] major is the device driver major number
+ * @param[in] minor is the device driver minor number
+ * @param[in] arg is the parameters to this call
+ *
+ * @return This method returns RTEMS_SUCCESSFUL when
+ * the device is successfully read from.
+ */
+rtems_device_driver frame_buffer_read(
+ rtems_device_major_number major,
+ rtems_device_minor_number minor,
+ void *arg
+);
+
+/**
+ * @brief Frame Buffer Write Entry Point
+ *
+ * This method writes to a specific device supported by the
+ * frame buffer device driver.
+ *
+ * @param[in] major is the device driver major number
+ * @param[in] minor is the device driver minor number
+ * @param[in] arg is the parameters to this call
+ *
+ * @return This method returns RTEMS_SUCCESSFUL when
+ * the device is successfully written.
+ */
+rtems_device_driver frame_buffer_write(
+ rtems_device_major_number major,
+ rtems_device_minor_number minor,
+ void *arg
+);
+
+/**
+ * @brief Frame Buffer IO Control Entry Point
+ *
+ * This method performs an IO Control operation on a
+ * specific device supported by the frame buffer device driver.
+ *
+ * @param[in] major is the device driver major number
+ * @param[in] minor is the device driver minor number
+ * @param[in] arg is the parameters to this call
+ *
+ * @return This method returns RTEMS_SUCCESSFUL when
+ * the device driver IO control operation is
+ * successfully performed.
+ */
+rtems_device_driver frame_buffer_control(
+ rtems_device_major_number major,
+ rtems_device_minor_number minor,
+ void *arg
+);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/cpukit/libcsupport/preinstall.am b/cpukit/libcsupport/preinstall.am
index d76efdf511..4b40b68727 100644
--- a/cpukit/libcsupport/preinstall.am
+++ b/cpukit/libcsupport/preinstall.am
@@ -40,6 +40,10 @@ $(PROJECT_INCLUDE)/rtems/clockdrv.h: include/clockdrv.h $(PROJECT_INCLUDE)/rtems
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/clockdrv.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/clockdrv.h
+$(PROJECT_INCLUDE)/rtems/framebuffer.h: include/rtems/framebuffer.h $(PROJECT_INCLUDE)/rtems/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/framebuffer.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/framebuffer.h
+
$(PROJECT_INCLUDE)/rtems/iosupp.h: include/iosupp.h $(PROJECT_INCLUDE)/rtems/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/iosupp.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/iosupp.h
diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h
index 094ce1ac54..93b62f8223 100644
--- a/cpukit/sapi/include/confdefs.h
+++ b/cpukit/sapi/include/confdefs.h
@@ -594,6 +594,10 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
#include <rtems/watchdogdrv.h>
#endif
+#ifdef CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
+ #include <rtems/framebuffer.h>
+#endif
+
#ifdef CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
#include <rtems/devnull.h>
#endif
@@ -641,6 +645,9 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
#ifdef CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
ATA_DRIVER_TABLE_ENTRY,
#endif
+ #ifdef CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
+ FRAME_BUFFER_DRIVER_TABLE_ENTRY,
+ #endif
#ifdef CONFIGURE_APPLICATION_EXTRA_DRIVERS
CONFIGURE_APPLICATION_EXTRA_DRIVERS,
#endif
@@ -652,6 +659,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
!defined(CONFIGURE_APPLICATION_NEEDS_STUB_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)
NULL_DRIVER_TABLE_ENTRY
#endif