diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-07-28 23:28:35 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-07-28 23:28:35 +0000 |
commit | ad4759abd2142d78354365685a5473f4f1276aaf (patch) | |
tree | 53c8ac82a27a5609d4c3fcea6eaccd26d8299184 /cpukit | |
parent | 2009-07-28 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-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/ChangeLog | 7 | ||||
-rw-r--r-- | cpukit/libcsupport/Makefile.am | 4 | ||||
-rw-r--r-- | cpukit/libcsupport/include/rtems/framebuffer.h | 158 | ||||
-rw-r--r-- | cpukit/libcsupport/preinstall.am | 4 | ||||
-rw-r--r-- | cpukit/sapi/include/confdefs.h | 8 |
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 |