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.
This commit is contained in:
Joel Sherrill
2009-07-28 23:28:35 +00:00
parent b32020b470
commit ad4759abd2
5 changed files with 179 additions and 2 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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 */

View File

@@ -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

View File

@@ -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