[rtems commit] libchip/serial: Make NS16550 handler public

Sebastian Huber sebh at rtems.org
Mon Feb 11 13:40:32 UTC 2013


Module:    rtems
Branch:    master
Commit:    5455f23a0ece2409ef7234db8137a68af77e441d
Changeset: http://git.rtems.org/rtems/commit/?id=5455f23a0ece2409ef7234db8137a68af77e441d

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Fri Feb  8 16:58:52 2013 +0100

libchip/serial: Make NS16550 handler public

This allows derived drivers to use these functions.

---

 c/src/libchip/Makefile.am        |    3 ++-
 c/src/libchip/preinstall.am      |    4 ++++
 c/src/libchip/serial/ns16550.c   |   18 +++++++++---------
 c/src/libchip/serial/ns16550.h   |    2 ++
 c/src/libchip/serial/ns16550_p.h |   20 ++++++++++++--------
 5 files changed, 29 insertions(+), 18 deletions(-)

diff --git a/c/src/libchip/Makefile.am b/c/src/libchip/Makefile.am
index 5e4ffab..eb0d015 100644
--- a/c/src/libchip/Makefile.am
+++ b/c/src/libchip/Makefile.am
@@ -92,6 +92,7 @@ libi2cio_a_SOURCES = i2c/i2c-ds1621.h \
 # serial
 include_libchip_HEADERS += serial/mc68681.h serial/ns16550.h serial/z85c30.h \
     serial/serial.h serial/sersupp.h
+include_libchip_HEADERS += serial/ns16550_p.h
 
 noinst_LIBRARIES += libserialio.a
 libserialio_a_CPPFLAGS = $(AM_CPPFLAGS)
@@ -99,7 +100,7 @@ libserialio_a_SOURCES = serial/mc68681.c serial/mc68681_baud.c \
     serial/mc68681_reg.c serial/mc68681_reg2.c serial/mc68681_reg4.c \
     serial/mc68681_reg8.c serial/ns16550.c serial/z85c30.c \
     serial/z85c30_reg.c serial/serprobe.c serial/mc68681_p.h \
-    serial/ns16550_p.h serial/z85c30_p.h
+    serial/z85c30_p.h
 
 EXTRA_DIST += serial/README.mc68681 serial/README.ns16550 \
     serial/README.xr88681 serial/README.z85c30 serial/STATUS
diff --git a/c/src/libchip/preinstall.am b/c/src/libchip/preinstall.am
index 7e80d6d..8b9a0bb 100644
--- a/c/src/libchip/preinstall.am
+++ b/c/src/libchip/preinstall.am
@@ -166,6 +166,10 @@ $(PROJECT_INCLUDE)/libchip/sersupp.h: serial/sersupp.h $(PROJECT_INCLUDE)/libchi
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/libchip/sersupp.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/libchip/sersupp.h
 
+$(PROJECT_INCLUDE)/libchip/ns16550_p.h: serial/ns16550_p.h $(PROJECT_INCLUDE)/libchip/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/libchip/ns16550_p.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/libchip/ns16550_p.h
+
 if HAS_MP
 $(PROJECT_INCLUDE)/shm_driver.h: shmdr/shm_driver.h $(PROJECT_INCLUDE)/$(dirstamp)
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/shm_driver.h
diff --git a/c/src/libchip/serial/ns16550.c b/c/src/libchip/serial/ns16550.c
index b75d750..d70ad9f 100644
--- a/c/src/libchip/serial/ns16550.c
+++ b/c/src/libchip/serial/ns16550.c
@@ -134,7 +134,7 @@ static uint32_t NS16550_GetBaudDivisor(const console_tbl *c, uint32_t baud)
  *  ns16550_init
  */
 
-NS16550_STATIC void ns16550_init(int minor)
+void ns16550_init(int minor)
 {
   uintptr_t               pNS16550;
   uint8_t                 ucDataByte;
@@ -205,7 +205,7 @@ NS16550_STATIC void ns16550_init(int minor)
  *  ns16550_open
  */
 
-NS16550_STATIC int ns16550_open(
+int ns16550_open(
   int major,
   int minor,
   void *arg
@@ -238,7 +238,7 @@ NS16550_STATIC int ns16550_open(
  *  ns16550_close
  */
 
-NS16550_STATIC int ns16550_close(
+int ns16550_close(
   int      major,
   int      minor,
   void    * arg
@@ -306,7 +306,7 @@ void ns16550_outch_polled(console_tbl *c, char out)
   set( port, NS16550_INTERRUPT_ENABLE, interrupt_mask);
 }
 
-NS16550_STATIC void ns16550_write_polled(int minor, char out)
+void ns16550_write_polled(int minor, char out)
 {
   console_tbl *c = Console_Port_Tbl [minor];
   
@@ -433,7 +433,7 @@ NS16550_STATIC int ns16550_negate_DTR(int minor)
  *  port settings.
  */
 
-NS16550_STATIC int ns16550_set_attributes(
+int ns16550_set_attributes(
   int                   minor,
   const struct termios *t
 )
@@ -578,7 +578,7 @@ NS16550_STATIC void ns16550_process( int minor)
  *
  * Returns always zero.
  */
-NS16550_STATIC ssize_t ns16550_write_support_int(
+ssize_t ns16550_write_support_int(
   int minor,
   const char *buf,
   size_t len
@@ -625,7 +625,7 @@ NS16550_STATIC void ns16550_enable_interrupts(
 }
 
 #if defined(BSP_FEATURE_IRQ_EXTENSION) || defined(BSP_FEATURE_IRQ_LEGACY)
-  NS16550_STATIC rtems_isr ns16550_isr(void *arg)
+  void ns16550_isr(void *arg)
   {
     int minor = (int) arg;
 
@@ -736,7 +736,7 @@ NS16550_STATIC void ns16550_cleanup_interrupts(int minor)
  *
  */
 
-NS16550_STATIC ssize_t ns16550_write_support_polled(
+ssize_t ns16550_write_support_polled(
   int         minor,
   const char *buf,
   size_t      len
@@ -789,7 +789,7 @@ int ns16550_inch_polled(
  *
  *  Console Termios polling input entry point.
  */
-NS16550_STATIC int ns16550_inbyte_nonblocking_polled(int minor)
+int ns16550_inbyte_nonblocking_polled(int minor)
 {
   console_tbl *c = Console_Port_Tbl [minor];
   
diff --git a/c/src/libchip/serial/ns16550.h b/c/src/libchip/serial/ns16550.h
index 475eb7e..67c4c55 100644
--- a/c/src/libchip/serial/ns16550.h
+++ b/c/src/libchip/serial/ns16550.h
@@ -27,6 +27,8 @@
 #ifndef _NS16550_H_
 #define _NS16550_H_
 
+#include <libchip/serial.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/c/src/libchip/serial/ns16550_p.h b/c/src/libchip/serial/ns16550_p.h
index 1e26161..50cfcdc 100644
--- a/c/src/libchip/serial/ns16550_p.h
+++ b/c/src/libchip/serial/ns16550_p.h
@@ -28,6 +28,8 @@
 #ifndef _NS16550_P_H_
 #define _NS16550_P_H_
 
+#include <libchip/serial.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -138,21 +140,21 @@ typedef struct {
  * Driver functions
  */
 
-NS16550_STATIC void ns16550_init(int minor);
+void ns16550_init(int minor);
 
-NS16550_STATIC int ns16550_open(
+int ns16550_open(
   int major,
   int minor,
   void  * arg
 );
 
-NS16550_STATIC int ns16550_close(
+int ns16550_close(
   int major,
   int minor,
   void  * arg
 );
 
-NS16550_STATIC void ns16550_write_polled(
+void ns16550_write_polled(
   int   minor,
   char  cChar
 );
@@ -177,19 +179,19 @@ NS16550_STATIC void ns16550_initialize_interrupts(int minor);
 
 NS16550_STATIC void ns16550_cleanup_interrupts(int minor);
 
-NS16550_STATIC ssize_t ns16550_write_support_int(
+ssize_t ns16550_write_support_int(
   int   minor,
   const char *buf,
   size_t len
 );
 
-NS16550_STATIC ssize_t ns16550_write_support_polled(
+ssize_t ns16550_write_support_polled(
   int   minor,
   const char *buf,
   size_t len
   );
 
-NS16550_STATIC int ns16550_inbyte_nonblocking_polled(
+int ns16550_inbyte_nonblocking_polled(
   int minor
 );
 
@@ -198,11 +200,13 @@ NS16550_STATIC void ns16550_enable_interrupts(
   int         mask
 );
 
-NS16550_STATIC int ns16550_set_attributes(
+int ns16550_set_attributes(
   int                   minor,
   const struct termios *t
 );
 
+void ns16550_isr(void *arg);
+
 #ifdef __cplusplus
 }
 #endif




More information about the vc mailing list