[rtems commit] arm/nds: Warning clean up

Joel Sherrill joel at rtems.org
Fri Oct 10 15:08:39 UTC 2014


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

Author:    Joel Sherrill <joel.sherrill at oarcorp.com>
Date:      Thu Oct  9 15:35:10 2014 -0500

arm/nds: Warning clean up

This patch eliminates most of the warnings in this BSP but attempts
very little clean up. This BSP includes copies of a lot of code
from free NDS libraries and modifications should be kept to a minimum.

---

 c/src/lib/libbsp/arm/nds/Makefile.am               |    1 +
 c/src/lib/libbsp/arm/nds/block/block.c             |   20 ++++++++++--------
 c/src/lib/libbsp/arm/nds/console/console.c         |    6 +++-
 c/src/lib/libbsp/arm/nds/coproc/coproc.c           |    2 +-
 c/src/lib/libbsp/arm/nds/include/bsp.h             |   11 ++++-----
 c/src/lib/libbsp/arm/nds/irq/irq.c                 |   10 +++-----
 c/src/lib/libbsp/arm/nds/irq/irq.h                 |   21 ++++++++++++++++++++
 .../libbsp/arm/nds/libfat/source/disc_io/io_efa2.c |   12 +++++-----
 .../libbsp/arm/nds/libfat/source/disc_io/io_fcsr.c |   12 +++++-----
 .../libbsp/arm/nds/libfat/source/disc_io/io_m3cf.c |    2 +-
 .../libbsp/arm/nds/libfat/source/disc_io/io_m3sd.c |   16 +++++++-------
 .../libbsp/arm/nds/libfat/source/disc_io/io_mpcf.c |    2 +-
 .../libbsp/arm/nds/libfat/source/disc_io/io_njsd.c |   16 +++++++-------
 .../libbsp/arm/nds/libfat/source/disc_io/io_nmmc.c |   12 +++++-----
 .../libbsp/arm/nds/libfat/source/disc_io/io_sccf.c |    2 +-
 .../libbsp/arm/nds/libfat/source/disc_io/io_scsd.c |   17 ++++++++-------
 .../lib/libbsp/arm/nds/libnds/source/arm7/touch.c  |    6 ++--
 .../libbsp/arm/nds/libnds/source/arm9/boxtest.c    |   11 ++++++++++
 .../libbsp/arm/nds/libnds/source/arm9/console.c    |    2 +-
 .../arm/nds/libnds/source/arm9/gurumeditation.c    |    4 +-
 .../libbsp/arm/nds/libnds/source/arm9/initSystem.c |    6 +++++
 .../libbsp/arm/nds/libnds/source/arm9/ndsmotion.c  |   18 +++++++++-------
 .../lib/libbsp/arm/nds/libnds/source/arm9/video.c  |    7 +-----
 .../libbsp/arm/nds/libnds/source/arm9/videoGL.c    |   10 ++++----
 .../lib/libbsp/arm/nds/libnds/source/common/card.c |    1 +
 .../lib/libbsp/arm/nds/libnds/source/common/gbfs.c |    8 +++---
 .../arm/nds/libnds/source/common/interrupts.c      |    4 +--
 c/src/lib/libbsp/arm/nds/preinstall.am             |    4 +++
 c/src/lib/libbsp/arm/nds/rtc/rtc.c                 |   17 ++++++---------
 c/src/lib/libbsp/arm/nds/startup/bspstart.c        |   21 +++++--------------
 c/src/lib/libbsp/arm/nds/touchscreen/parser.c      |   12 +++++++++-
 c/src/lib/libbsp/arm/nds/touchscreen/reco.c        |   13 +++++++++--
 c/src/libchip/serial/ns16550.c                     |    4 ++-
 33 files changed, 178 insertions(+), 132 deletions(-)

diff --git a/c/src/lib/libbsp/arm/nds/Makefile.am b/c/src/lib/libbsp/arm/nds/Makefile.am
index c8d8811..96f1268 100644
--- a/c/src/lib/libbsp/arm/nds/Makefile.am
+++ b/c/src/lib/libbsp/arm/nds/Makefile.am
@@ -15,6 +15,7 @@ nodist_include_HEADERS = include/bspopts.h
 nodist_include_HEADERS += ../../shared/include/coverhd.h
 
 nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
+nodist_include_bsp_HEADERS += irq/irq.h
 DISTCLEANFILES = include/bspopts.h
 noinst_PROGRAMS =
 
diff --git a/c/src/lib/libbsp/arm/nds/block/block.c b/c/src/lib/libbsp/arm/nds/block/block.c
index aec853a..a2e48c1 100644
--- a/c/src/lib/libbsp/arm/nds/block/block.c
+++ b/c/src/lib/libbsp/arm/nds/block/block.c
@@ -1,6 +1,8 @@
 /*
  * RTEMS for Nintendo DS flash driver.
- *
+ */
+
+/*
  * Copyright (c) 2008 by Matthieu Bucchianeri <mbucchia at gmail.com>
  *
  * The license and distribution terms for this file may be
@@ -17,13 +19,13 @@
 
 #include <disc.h>
 
-bool
+static bool
 nds_flash_probe (int minor)
 {
   return true;
 }
 
-void
+static void
 nds_flash_initialize (int minor)
 {
   const IO_INTERFACE *flash;
@@ -43,19 +45,19 @@ nds_flash_initialize (int minor)
   }
 }
 
-void
+static void
 nds_flash_read_reg (int minor, int reg, uint16_t * value)
 {
   printk ("nds_flash_read_reg\n");
 }
 
-void
+static void
 nds_flash_write_reg (int minor, int reg, uint16_t value)
 {
   printk ("nds_flash_write_reg\n");
 }
 
-void
+static void
 nds_flash_read_block (int minor, uint32_t block_size,
                       rtems_blkdev_sg_buffer * bufs,
                       uint32_t * cbuf, uint32_t * pos)
@@ -63,7 +65,7 @@ nds_flash_read_block (int minor, uint32_t block_size,
   printk ("nds_flash_read_block\n");
 }
 
-void
+static void
 nds_flash_write_block (int minor, uint32_t block_size,
                        rtems_blkdev_sg_buffer * bufs,
                        uint32_t * cbuf, uint32_t * pos)
@@ -71,14 +73,14 @@ nds_flash_write_block (int minor, uint32_t block_size,
   printk ("nds_flash_write_block\n");
 }
 
-int
+static int
 nds_flash_control (int minor, uint32_t cmd, void *arg)
 {
   printk ("nds_flash_control\n");
   return 0;
 }
 
-rtems_status_code
+static rtems_status_code
 nds_flash_io_speed (int minor, uint16_t mode)
 {
   return RTEMS_SUCCESSFUL;
diff --git a/c/src/lib/libbsp/arm/nds/console/console.c b/c/src/lib/libbsp/arm/nds/console/console.c
index 7c7ab9d..6036f9c 100644
--- a/c/src/lib/libbsp/arm/nds/console/console.c
+++ b/c/src/lib/libbsp/arm/nds/console/console.c
@@ -32,7 +32,7 @@
 
 /* from NDS support library */
 extern void consolePrintChar(char c);
-void
+static void
 nds_putch (char c)
 {
 #ifdef TESTSUITE
@@ -43,13 +43,15 @@ nds_putch (char c)
 
 static volatile char ch = 0;
 
+void console_push (char c); /* used in touchscreen.c */
+
 void
 console_push (char c)
 {
   ch = c;
 }
 
-int
+static int
 nds_getch (void)
 {
   char c;
diff --git a/c/src/lib/libbsp/arm/nds/coproc/coproc.c b/c/src/lib/libbsp/arm/nds/coproc/coproc.c
index a2456be..611bd31 100644
--- a/c/src/lib/libbsp/arm/nds/coproc/coproc.c
+++ b/c/src/lib/libbsp/arm/nds/coproc/coproc.c
@@ -117,7 +117,7 @@ void VblankHandler(void) {
 	// microphone code
 	if (!is_recording && my_IPC->record)
 	  {
-	    StartRecording(my_IPC->record_buffer, my_IPC->record_length_max);
+	    StartRecording((u8 *)my_IPC->record_buffer, my_IPC->record_length_max);
 	    is_recording = 1;
 	  }
 
diff --git a/c/src/lib/libbsp/arm/nds/include/bsp.h b/c/src/lib/libbsp/arm/nds/include/bsp.h
index 118adf3..a0bc5e1 100644
--- a/c/src/lib/libbsp/arm/nds/include/bsp.h
+++ b/c/src/lib/libbsp/arm/nds/include/bsp.h
@@ -23,10 +23,9 @@ extern "C"
 #include <rtems/console.h>
 #include <rtems/clockdrv.h>
 
-  struct rtems_bsdnet_ifconfig;
+struct rtems_bsdnet_ifconfig;
 
-  int
-    rtems_wifi_driver_attach (struct rtems_bsdnet_ifconfig *config,
+int rtems_wifi_driver_attach (struct rtems_bsdnet_ifconfig *config,
                               int attach);
 
 #define RTEMS_BSP_NETWORK_DRIVER_NAME	"dswifi0"
@@ -34,9 +33,9 @@ extern "C"
 
 #define RTC_DRIVER_TABLE_ENTRY \
     { rtc_initialize, NULL, NULL, NULL, NULL, NULL }
-  extern rtems_device_driver rtc_initialize (rtems_device_major_number major,
-                                             rtems_device_minor_number minor,
-                                             void *arg);
+extern rtems_device_driver rtc_initialize (rtems_device_major_number major,
+                                           rtems_device_minor_number minor,
+                                           void *arg);
 
 #ifdef __cplusplus
 }
diff --git a/c/src/lib/libbsp/arm/nds/irq/irq.c b/c/src/lib/libbsp/arm/nds/irq/irq.c
index 571b60b..d0e3915 100644
--- a/c/src/lib/libbsp/arm/nds/irq/irq.c
+++ b/c/src/lib/libbsp/arm/nds/irq/irq.c
@@ -1,6 +1,8 @@
 /*
  * RTEMS for Nintendo DS interrupt manager.
- *
+ */
+
+/*
  * Copyright (c) 2008 by Matthieu Bucchianeri <mbucchia at gmail.com>
  *
  * The license and distribution terms for this file may be
@@ -11,12 +13,12 @@
 
 #include <bsp.h>
 #include <rtems/irq.h>
+#include <bsp/irq.h>
 #include <nds.h>
 
 /*
  * this function check that the value given for the irq line is valid.
  */
-
 static int
 isValidInterrupt (int irq)
 {
@@ -28,7 +30,6 @@ isValidInterrupt (int irq)
 /*
  * initialize the irq management.
  */
-
 void
 BSP_rtems_irq_mngt_init (void)
 {
@@ -40,7 +41,6 @@ BSP_rtems_irq_mngt_init (void)
 /*
  * install a irq handler.
  */
-
 int
 BSP_install_rtems_irq_handler (const rtems_irq_connect_data * irq)
 {
@@ -67,7 +67,6 @@ BSP_install_rtems_irq_handler (const rtems_irq_connect_data * irq)
 /*
  * return the handler hooked to the given irq.
  */
-
 int
 BSP_get_current_rtems_irq_handler (rtems_irq_connect_data * irq)
 {
@@ -77,7 +76,6 @@ BSP_get_current_rtems_irq_handler (rtems_irq_connect_data * irq)
 /*
  * remove & disable given irq.
  */
-
 int
 BSP_remove_rtems_irq_handler (const rtems_irq_connect_data * irq)
 {
diff --git a/c/src/lib/libbsp/arm/nds/irq/irq.h b/c/src/lib/libbsp/arm/nds/irq/irq.h
new file mode 100644
index 0000000..aeaccef
--- /dev/null
+++ b/c/src/lib/libbsp/arm/nds/irq/irq.h
@@ -0,0 +1,21 @@
+/*
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE
+ */
+
+#ifndef __BSP_IRQ_H_
+#define __BSP_IRQ_H_
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+extern void BSP_rtems_irq_mngt_init (void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_efa2.c b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_efa2.c
index 8b2ec39..f68e74a 100644
--- a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_efa2.c
+++ b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_efa2.c
@@ -164,7 +164,7 @@ EFA2_clearStatus
 Reads and checks NAND status information
 bool return OUT:  true if NAND is idle
 -----------------------------------------------------------------*/
-bool _EFA2_clearStatus (void)
+static bool _EFA2_clearStatus (void)
 {
 	// tbd: currently there is no write support, so always return
 	// true, there is no possibility for pending operations
@@ -176,7 +176,7 @@ EFA2_isInserted
 Checks to see if the NAND chip used by the EFA2 is present
 bool return OUT:  true if the correct NAND chip is found
 -----------------------------------------------------------------*/
-bool _EFA2_isInserted (void)
+static bool _EFA2_isInserted (void)
 {
 	_EFA2_clearStatus();
 	return (_EFA2_nand_id() == EFA2_NAND_ID);
@@ -191,7 +191,7 @@ u32 numSecs IN: number of 512 byte sectors to read,
 void* buffer OUT: pointer to 512 byte buffer to store data in
 bool return OUT: true if successful
 -----------------------------------------------------------------*/
-bool _EFA2_readSectors (u32 sector, u32 numSecs, void* buffer)
+static bool _EFA2_readSectors (u32 sector, u32 numSecs, void* buffer)
 {
 	int  i;
 
@@ -265,7 +265,7 @@ u32 numSecs IN: number of 512 byte sectors to write
 void* buffer IN: pointer to 512 byte buffer to read data from
 bool return OUT: true if successful
 -----------------------------------------------------------------*/
-bool _EFA2_writeSectors (u32 sector, u8 numSecs, void* buffer)
+static bool _EFA2_writeSectors (u32 sector, u8 numSecs, void* buffer)
 {
 	// Upto now I focused on reading NAND, write operations
 	// will follow
@@ -276,7 +276,7 @@ bool _EFA2_writeSectors (u32 sector, u8 numSecs, void* buffer)
 EFA2_shutdown
 unload the EFA2 interface
 -----------------------------------------------------------------*/
-bool _EFA2_shutdown(void)
+static bool _EFA2_shutdown(void)
 {
 	return _EFA2_clearStatus();
 }
@@ -286,7 +286,7 @@ EFA2_startUp
 initializes the EFA2 card, returns true if successful,
 otherwise returns false
 -----------------------------------------------------------------*/
-bool _EFA2_startUp(void)
+static bool _EFA2_startUp(void)
 {
 	_EFA2_global_unlock();
 	return (_EFA2_nand_id() == EFA2_NAND_ID);
diff --git a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_fcsr.c b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_fcsr.c
index 07ab130..c888db0 100644
--- a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_fcsr.c
+++ b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_fcsr.c
@@ -73,7 +73,7 @@ _FCSR_isInserted
 Is a GBA Flash Cart with a valid file system inserted?
 bool return OUT:  true if a GBA FC card is inserted
 -----------------------------------------------------------------*/
-bool _FCSR_isInserted (void)
+static bool _FCSR_isInserted (void)
 {
 	bool flagFoundFileSys = false;
 
@@ -101,7 +101,7 @@ _FCSR_clearStatus
 Finish any pending operations
 bool return OUT:  always true for GBA FC
 -----------------------------------------------------------------*/
-bool _FCSR_clearStatus (void)
+static bool _FCSR_clearStatus (void)
 {
 	return true;
 }
@@ -116,7 +116,7 @@ u32 numSectors IN: number of 512 byte sectors to read,
 void* buffer OUT: pointer to 512 byte buffer to store data in
 bool return OUT: true if successful
 -----------------------------------------------------------------*/
-bool _FCSR_readSectors (u32 sector, u32 numSectors, void* buffer)
+static bool _FCSR_readSectors (u32 sector, u32 numSectors, void* buffer)
 {
 	int i;
 	bool flagSramSector = false;
@@ -184,7 +184,7 @@ u32 numSectors IN: number of 512 byte sectors to read,
 void* buffer IN: pointer to 512 byte buffer to read data from
 bool return OUT: true if successful
 -----------------------------------------------------------------*/
-bool _FCSR_writeSectors (u32 sector, u8 numSectors, void* buffer)
+static bool _FCSR_writeSectors (u32 sector, u8 numSectors, void* buffer)
 {
 	int i;
 	bool flagSramSector = false;
@@ -223,7 +223,7 @@ bool _FCSR_writeSectors (u32 sector, u8 numSectors, void* buffer)
 _FCSR_shutdown
 unload the Flash Cart interface
 -----------------------------------------------------------------*/
-bool _FCSR_shutdown(void)
+static bool _FCSR_shutdown(void)
 {
 	int i;
 	if (_FCSR_clearStatus() == false)
@@ -245,7 +245,7 @@ _FCSR_startUp
 initializes the Flash Cart interface, returns true if successful,
 otherwise returns false
 -----------------------------------------------------------------*/
-bool _FCSR_startUp(void)
+static bool _FCSR_startUp(void)
 {
 	bool flagFoundFileSys = false;
 	int i;
diff --git a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_m3cf.c b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_m3cf.c
index 235788a..2db8eec 100644
--- a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_m3cf.c
+++ b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_m3cf.c
@@ -78,7 +78,7 @@ static const CF_REGISTERS _M3CF_Registers = {
 };
 
 
-bool _M3CF_startup(void) {
+static bool _M3CF_startup(void) {
 	_M3_changeMode (M3_MODE_MEDIA);
 	return _CF_startup (&_M3CF_Registers);
 }
diff --git a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_m3sd.c b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_m3sd.c
index 88f205a..b5b3173 100644
--- a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_m3sd.c
+++ b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_m3sd.c
@@ -238,12 +238,12 @@ static void _M3SD_getClocks (u32 numClocks) {
 	}
 }
 
-bool _M3SD_cmd_6byte_response (u8* responseBuffer, u8 command, u32 data) {
+static bool _M3SD_cmd_6byte_response (u8* responseBuffer, u8 command, u32 data) {
 	_M3SD_sendCommand (command, data);
 	return _M3SD_getResponse (responseBuffer, 6);
 }
 
-bool _M3SD_cmd_17byte_response (u8* responseBuffer, u8 command, u32 data) {
+static bool _M3SD_cmd_17byte_response (u8* responseBuffer, u8 command, u32 data) {
 	_M3SD_sendCommand (command, data);
 	return _M3SD_getResponse (responseBuffer, 17);
 }
@@ -389,12 +389,12 @@ static bool _M3SD_writeData (u8* data, u8* crc) {
 //---------------------------------------------------------------
 // Functions needed for the external interface
 
-bool _M3SD_startUp (void) {
+static bool _M3SD_startUp (void) {
 	_M3SD_unlock();
 	return _M3SD_initCard();
 }
 
-bool _M3SD_isInserted (void) {
+static bool _M3SD_isInserted (void) {
 	u8 responseBuffer [6];
 	// Make sure the card receives the command
 	if (!_M3SD_sendCommand (SEND_STATUS, 0)) {
@@ -411,7 +411,7 @@ bool _M3SD_isInserted (void) {
 	return true;
 }
 
-bool _M3SD_readSectors (u32 sector, u32 numSectors, void* buffer) {
+static bool _M3SD_readSectors (u32 sector, u32 numSectors, void* buffer) {
 	u32 i;
 	u8* dest = (u8*) buffer;
 	u8 responseBuffer[6];
@@ -447,7 +447,7 @@ bool _M3SD_readSectors (u32 sector, u32 numSectors, void* buffer) {
 	return true;
 }
 
-bool _M3SD_writeSectors (u32 sector, u32 numSectors, const void* buffer) {
+static bool _M3SD_writeSectors (u32 sector, u32 numSectors, const void* buffer) {
 	u8 crc[8];
 	u8 responseBuffer[6];
 	u32 offset = sector * BYTES_PER_READ;
@@ -495,11 +495,11 @@ bool _M3SD_writeSectors (u32 sector, u32 numSectors, const void* buffer) {
 
 }
 
-bool _M3SD_clearStatus (void) {
+static bool _M3SD_clearStatus (void) {
 	return _M3SD_initCard ();
 }
 
-bool _M3SD_shutdown (void) {
+static bool _M3SD_shutdown (void) {
 	_M3_changeMode (M3_MODE_ROM);
 	return true;
 }
diff --git a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_mpcf.c b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_mpcf.c
index f004126..3dcafc1 100644
--- a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_mpcf.c
+++ b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_mpcf.c
@@ -81,7 +81,7 @@ _MPCF_startup
 initializes the CF interface, returns true if successful,
 otherwise returns false
 -----------------------------------------------------------------*/
-bool _MPCF_startup(void) {
+static bool _MPCF_startup(void) {
 	return _CF_startup(&_MPCF_Registers);
 }
 
diff --git a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_njsd.c b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_njsd.c
index b60f1a6..e394076 100644
--- a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_njsd.c
+++ b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_njsd.c
@@ -384,11 +384,11 @@ static bool _NJSD_sendCMDN (int speed, u8 cmd, u32 param) {
 	return true;
 }
 
-bool _NJSD_cmd_6byte_response (u8* responseBuffer, u8 command, u32 data) {
+static bool _NJSD_cmd_6byte_response (u8* responseBuffer, u8 command, u32 data) {
 	return _NJSD_sendCMDR (SD_CLK_167KHz, responseBuffer, SD_RSP_48, command, data);
 }
 
-bool _NJSD_cmd_17byte_response (u8* responseBuffer, u8 command, u32 data) {
+static bool _NJSD_cmd_17byte_response (u8* responseBuffer, u8 command, u32 data) {
 	return _NJSD_sendCMDR (SD_CLK_167KHz, responseBuffer, SD_RSP_136, command, data);
 }
 
@@ -413,7 +413,7 @@ static bool _NJSD_cardInit (void) {
 }
 
 
-bool _NJSD_isInserted(void) {
+static bool _NJSD_isInserted(void) {
 	u8 responseBuffer [8];
 	_NJSD_sendCMDR (SD_CLK_167KHz, responseBuffer, SD_RSP_48, SEND_STATUS, 0);
 
@@ -424,15 +424,15 @@ bool _NJSD_isInserted(void) {
 	return true;
 }
 
-bool _NJSD_clearStatus (void) {
+static bool _NJSD_clearStatus (void) {
 	return _NJSD_reset();
 }
 
-bool _NJSD_shutdown(void) {
+static bool _NJSD_shutdown(void) {
 	return _NJSD_clearStatus();
 }
 
-bool _NJSD_startup(void) {
+static bool _NJSD_startup(void) {
 	if (! _NJSD_init(0xA0406000) ) {
 		return false;
 	}
@@ -443,7 +443,7 @@ bool _NJSD_startup(void) {
 }
 
 
-bool _NJSD_writeSectors (u32 sector, u32 numSectors, const void* buffer) {
+static bool _NJSD_writeSectors (u32 sector, u32 numSectors, const void* buffer) {
  	u8 crc[8];
 	u32 offset = sector * BYTES_PER_READ;
 	u8* data = (u8*) buffer;
@@ -461,7 +461,7 @@ bool _NJSD_writeSectors (u32 sector, u32 numSectors, const void* buffer) {
 }
 
 #ifdef _IO_ALLOW_UNALIGNED
-bool _NJSD_readSectors (u32 sector, u32 numSectors, void* buffer) {
+static bool _NJSD_readSectors (u32 sector, u32 numSectors, void* buffer) {
 	u32 tmp[BYTES_PER_READ>>2];
 	int i;
 
diff --git a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_nmmc.c b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_nmmc.c
index d7a9932..88d8b48 100644
--- a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_nmmc.c
+++ b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_nmmc.c
@@ -161,7 +161,7 @@ static bool _Neo_InitMMC(void)	{
 
 // Neo MMC driver functions
 
-bool _NMMC_isInserted(void)	{
+static bool _NMMC_isInserted(void)	{
 	int i;
 
 	_Neo_EnableMMC( true );		// Open SPI port to MMC card
@@ -183,7 +183,7 @@ bool _NMMC_isInserted(void)	{
 	return true;
 }
 
-bool _NMMC_clearStatus (void) {
+static bool _NMMC_clearStatus (void) {
 	u32 i;
 
 	_Neo_EnableMMC( true );		// Open SPI port to MMC card
@@ -206,11 +206,11 @@ bool _NMMC_clearStatus (void) {
 	return false;
 }
 
-bool _NMMC_shutdown(void) {
+static bool _NMMC_shutdown(void) {
 	return _NMMC_clearStatus();
 }
 
-bool _NMMC_startUp(void) {
+static bool _NMMC_startUp(void) {
 	int i;
 	int transSpeed;
 	if (_Neo_InitMMC() == false) {
@@ -255,7 +255,7 @@ bool _NMMC_startUp(void) {
 }
 
 
-bool _NMMC_writeSectors (u32 sector, u32 totalSecs, const void* buffer)
+static bool _NMMC_writeSectors (u32 sector, u32 totalSecs, const void* buffer)
 {
 	u32 i;
 	u8 *p=(u8*)buffer;
@@ -302,7 +302,7 @@ bool _NMMC_writeSectors (u32 sector, u32 totalSecs, const void* buffer)
 	return true;
 }
 
-bool _NMMC_readSectors (u32 sector, u32 totalSecs, void* buffer)
+static bool _NMMC_readSectors (u32 sector, u32 totalSecs, void* buffer)
 {
 	u32 i;
 	u8 *p=(u8*)buffer;
diff --git a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_sccf.c b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_sccf.c
index 0765c4d..06d1378 100644
--- a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_sccf.c
+++ b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_sccf.c
@@ -65,7 +65,7 @@ static const CF_REGISTERS _SCCF_Registers = {
 };
 
 
-bool _SCCF_startup(void) {
+static bool _SCCF_startup(void) {
 	_SC_changeMode (SC_MODE_MEDIA);
 	return _CF_startup(&_SCCF_Registers);
 }
diff --git a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_scsd.c b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_scsd.c
index 54347cc..231b93f 100644
--- a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_scsd.c
+++ b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_scsd.c
@@ -194,16 +194,17 @@ static inline bool _SCSD_getResponse_R6 (u8* dest) {
 static void _SCSD_sendClocks (u32 numClocks) {
 	u16 temp;
 	do {
+		(void) temp; /* avoid set but not used warning */
 		temp = REG_SCSD_CMD;
 	} while (numClocks--);
 }
 
-bool _SCSD_cmd_6byte_response (u8* responseBuffer, u8 command, u32 data) {
+static bool _SCSD_cmd_6byte_response (u8* responseBuffer, u8 command, u32 data) {
 	_SCSD_sendCommand (command, data);
 	return _SCSD_getResponse (responseBuffer, 6);
 }
 
-bool _SCSD_cmd_17byte_response (u8* responseBuffer, u8 command, u32 data) {
+static bool _SCSD_cmd_17byte_response (u8* responseBuffer, u8 command, u32 data) {
 	_SCSD_sendCommand (command, data);
 	return _SCSD_getResponse (responseBuffer, 17);
 }
@@ -273,12 +274,12 @@ static bool _SCSD_readData (void* buffer) {
 //---------------------------------------------------------------
 // Functions needed for the external interface
 
-bool _SCSD_startUp (void) {
+static bool _SCSD_startUp (void) {
 	_SCSD_unlock();
 	return _SCSD_initCard();
 }
 
-bool _SCSD_isInserted (void) {
+static bool _SCSD_isInserted (void) {
 	u8 responseBuffer [6];
 
 	// Make sure the card receives the command
@@ -296,7 +297,7 @@ bool _SCSD_isInserted (void) {
 	return true;
 }
 
-bool _SCSD_readSectors (u32 sector, u32 numSectors, void* buffer) {
+static bool _SCSD_readSectors (u32 sector, u32 numSectors, void* buffer) {
 	u32 i;
 	u8* dest = (u8*) buffer;
 	u8 responseBuffer[6];
@@ -332,7 +333,7 @@ bool _SCSD_readSectors (u32 sector, u32 numSectors, void* buffer) {
 	return true;
 }
 
-bool _SCSD_writeSectors (u32 sector, u32 numSectors, const void* buffer) {
+static bool _SCSD_writeSectors (u32 sector, u32 numSectors, const void* buffer) {
 	u16 crc[4];	// One per data line
 	u8 responseBuffer[6];
 	u32 offset = sector * BYTES_PER_READ;
@@ -376,11 +377,11 @@ bool _SCSD_writeSectors (u32 sector, u32 numSectors, const void* buffer) {
 	return true;
 }
 
-bool _SCSD_clearStatus (void) {
+static bool _SCSD_clearStatus (void) {
 	return _SCSD_initCard ();
 }
 
-bool _SCSD_shutdown (void) {
+static bool _SCSD_shutdown (void) {
 	_SC_changeMode (SC_MODE_RAM_RO);
 	return true;
 }
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/arm7/touch.c b/c/src/lib/libbsp/arm/nds/libnds/source/arm7/touch.c
index f804839..65de47e 100644
--- a/c/src/lib/libbsp/arm/nds/libnds/source/arm7/touch.c
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/arm7/touch.c
@@ -40,7 +40,7 @@ static u8 range = 20;
 static u8 min_range = 20;
 
 //---------------------------------------------------------------------------------
-u8 CheckStylus(void){
+static u8 CheckStylus(void){
 //---------------------------------------------------------------------------------
 
 	SerialWaitBusy();
@@ -133,7 +133,7 @@ static s32 xscale, yscale;
 static s32 xoffset, yoffset;
 
 //---------------------------------------------------------------------------------
-int16 readTouchValue(uint32 command, int16 *dist_max, u8 *err){
+static int16 readTouchValue(uint32 command, int16 *dist_max, u8 *err){
 //---------------------------------------------------------------------------------
 	int16 values[5];
 	int32 aux1, aux2, aux3, dist, dist2, result = 0;
@@ -224,7 +224,7 @@ int16 readTouchValue(uint32 command, int16 *dist_max, u8 *err){
 }
 
 //---------------------------------------------------------------------------------
-void UpdateRange(uint8 *this_range, int16 last_dist_max, u8 data_error, u8 tsc_touched){
+static void UpdateRange(uint8 *this_range, int16 last_dist_max, u8 data_error, u8 tsc_touched){
 //---------------------------------------------------------------------------------
 	//range_counter_1 = counter_0x380A98C
 	//range_counter_2 = counter_0x380A990
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/boxtest.c b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/boxtest.c
index 2e2c2a2..8335635 100644
--- a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/boxtest.c
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/boxtest.c
@@ -30,6 +30,17 @@
 #include <nds/arm9/video.h>
 #include <nds/arm9/videoGL.h>
 
+/*
+ * Prototypes
+ *
+ * NOTE: This code appears to be externally available test code.
+ */
+void BoxTest_Asynch(v16 x, v16 y, v16 z, v16 width, v16 height, v16 depth);
+int BoxTestf(float x, float y, float z, float width, float height, float depth);
+void BoxTestf_Asynch(float x, float y, float z, float width, float height, float depth);
+int BoxTestResult(void);
+int BoxTest(v16 x, v16 y, v16 z, v16 width, v16 height, v16 depth);
+
 //---------------------------------------------------------------------------------
 void BoxTest_Asynch(v16 x, v16 y, v16 z, v16 width, v16 height, v16 depth)
 //---------------------------------------------------------------------------------
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/console.c b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/console.c
index bce4db3..23adf4c 100644
--- a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/console.c
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/console.c
@@ -173,7 +173,7 @@ static void consoleClearLine(char mode) {
 	}
 }
 //---------------------------------------------------------------------------------
-int con_write(struct _reent *r,int fd,const char *ptr,int len) {
+static int con_write(struct _reent *r,int fd,const char *ptr,int len) {
 //---------------------------------------------------------------------------------
 
 	if (!consoleInitialised) return -1;
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/gurumeditation.c b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/gurumeditation.c
index 716fa89..f0bd2bb 100644
--- a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/gurumeditation.c
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/gurumeditation.c
@@ -35,7 +35,7 @@
 #include <bsp/linker-symbols.h>
 
 //---------------------------------------------------------------------------------
-unsigned long ARMShift(unsigned long value,unsigned char shift) {
+static unsigned long ARMShift(unsigned long value,unsigned char shift) {
 //---------------------------------------------------------------------------------
 	// no shift at all
 	if (shift == 0x0B) return value ;
@@ -77,7 +77,7 @@ unsigned long ARMShift(unsigned long value,unsigned char shift) {
 
 
 //---------------------------------------------------------------------------------
-u32 getExceptionAddress( u32 opcodeAddress, u32 thumbState) {
+static u32 getExceptionAddress( u32 opcodeAddress, u32 thumbState) {
 //---------------------------------------------------------------------------------
 
 	int Rf, Rb, Rd, Rn, Rm;
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/initSystem.c b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/initSystem.c
index 59755af..da401ac 100644
--- a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/initSystem.c
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/initSystem.c
@@ -35,6 +35,12 @@
 
 #include <time.h>
 
+/*
+ * Prototypes
+ *
+ * NOTE: Called from start.S
+ */
+void initSystem(void);
 
 extern time_t *punixTime;
 
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/ndsmotion.c b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/ndsmotion.c
index 5b3a3cc..1faadcd 100644
--- a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/ndsmotion.c
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/ndsmotion.c
@@ -52,7 +52,7 @@ int card_type = -1;
 MotionCalibration calibration = {2048, 2048, 2048, 1680, 819, 819, 819, 825};
 
 // sends and receives 1 byte on the SPI bus
-unsigned char motion_spi(unsigned char in_byte){
+static unsigned char motion_spi(unsigned char in_byte){
 
 	unsigned char out_byte;
 	CARD_EEPDATA = in_byte; // send the output byte to the SPI bus
@@ -62,7 +62,7 @@ unsigned char motion_spi(unsigned char in_byte){
 }
 
 
-void motion_MK6_sensor_mode(void) {
+static void motion_MK6_sensor_mode(void) {
 	// send some commands on the SPI bus
 	SPI_On()
 	motion_spi(0xFE);
@@ -78,7 +78,7 @@ void motion_MK6_sensor_mode(void) {
 	SPI_Off()
 }
 
-void motion_MK6_EEPROM_mode(void) {
+static void motion_MK6_EEPROM_mode(void) {
 	// send some commands on the SPI bus
 	SPI_On()
 	motion_spi(0xFE);
@@ -95,7 +95,7 @@ void motion_MK6_EEPROM_mode(void) {
 }
 
 // checks whether a DS Motion Pak is plugged in
-int motion_pak_is_inserted(void){
+static int motion_pak_is_inserted(void){
     int motion_pak = 0;
 	unsigned char return_byte = V_SRAM[10]; // read first byte of DS Motion Pak check
 	swiDelay(WAIT_CYCLES);
@@ -114,7 +114,7 @@ int motion_pak_is_inserted(void){
 // checks whether a DS Motion Card is plugged in
 // this only works after motion_init()
 // it will return false if it is run before motion_init()
-int motion_card_is_inserted(void){
+static int motion_card_is_inserted(void){
 	// send 0x03 to read from DS Motion Card control register
 	SPI_On()
 	motion_spi(0x03); // command to read from control register
@@ -130,7 +130,7 @@ int motion_card_is_inserted(void){
 
 // turn on the DS Motion Sensor (DS Motion Pak or DS Motion Card)
 // Requires knowing which type is present (can be found by using motion_init)
-int motion_enable(int card_type) {
+static int motion_enable(int card_type) {
 	switch (card_type)
 	{
 		case 1: // DS Motion Pak - automatically enabled on powerup
@@ -448,14 +448,16 @@ void motion_set_calibration(MotionCalibration* cal){
 // enable analog input number 1 (ain_1)
 void motion_enable_ain_1(void){
 	unsigned char return_byte;
-    return_byte = V_SRAM[16];
+	(void) return_byte; /* avoid set but unused warning */
+	return_byte = V_SRAM[16];
 	swiDelay(WAIT_CYCLES);
 }
 
 // enable analog input number 2 (ain_2)
 void motion_enable_ain_2(void){
 	unsigned char return_byte;
-    return_byte = V_SRAM[18];
+	(void) return_byte; /* avoid set but unused warning */
+	return_byte = V_SRAM[18];
 	swiDelay(WAIT_CYCLES);
 }
 
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/video.c b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/video.c
index 6f460cf..6b516db 100644
--- a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/video.c
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/video.c
@@ -47,14 +47,9 @@ uint32 vramSetMainBanks(VRAM_A_TYPE a, VRAM_B_TYPE b, VRAM_C_TYPE c, VRAM_D_TYPE
 
 //////////////////////////////////////////////////////////////////////
 
-// remove in a few versions -- joat
-void vramRestorMainBanks(uint32 vramTemp)
-{
-  VRAM_CR = vramTemp;
-}
-
 //////////////////////////////////////////////////////////////////////
 
+void vramRestoreMainBanks(uint32 vramTemp); /* used in videoGL.c */
 void vramRestoreMainBanks(uint32 vramTemp)
 {
   VRAM_CR = vramTemp;
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/videoGL.c b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/videoGL.c
index b1accf9..013e666 100644
--- a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/videoGL.c
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/videoGL.c
@@ -247,12 +247,12 @@ u32 glGetTexParameter(){
 
 
 //---------------------------------------------------------------------------------
-inline uint32 alignVal( uint32 val, uint32 to ) {
+static inline uint32 alignVal( uint32 val, uint32 to ) {
 	return (val & (to-1))? (val & ~(to-1)) + to : val;
 }
 
 //---------------------------------------------------------------------------------
-int getNextPaletteSlot(u16 count, uint8 format) {
+static int getNextPaletteSlot(u16 count, uint8 format) {
 //---------------------------------------------------------------------------------
 	// ensure the result aligns on a palette block for this format
 	uint32 result = alignVal(glGlob->nextPBlock, 1<<(4-(format==GL_RGB4)));
@@ -269,7 +269,7 @@ int getNextPaletteSlot(u16 count, uint8 format) {
 }
 
 //---------------------------------------------------------------------------------
-uint16* vramGetBank(uint16 *addr) {
+static uint16* vramGetBank(uint16 *addr) {
 //---------------------------------------------------------------------------------
 	if(addr >= VRAM_A && addr < VRAM_B)
 		return VRAM_A;
@@ -292,7 +292,7 @@ uint16* vramGetBank(uint16 *addr) {
 
 
 //---------------------------------------------------------------------------------
-int vramIsTextureBank(uint16 *addr) {
+static int vramIsTextureBank(uint16 *addr) {
 //---------------------------------------------------------------------------------
 	uint16* vram = vramGetBank(addr);
 
@@ -324,7 +324,7 @@ int vramIsTextureBank(uint16 *addr) {
 		return 0;
 }
 //---------------------------------------------------------------------------------
-uint32* getNextTextureSlot(int size) {
+static uint32* getNextTextureSlot(int size) {
 //---------------------------------------------------------------------------------
 	uint32* result = glGlob->nextBlock;
 	glGlob->nextBlock += size >> 2;
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/common/card.c b/c/src/lib/libbsp/arm/nds/libnds/source/common/card.c
index 7cde381..523bb6c 100644
--- a/c/src/lib/libbsp/arm/nds/libnds/source/common/card.c
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/common/card.c
@@ -173,6 +173,7 @@ int cardEepromGetType(void)
         sysSetBusOwners(BUS_OWNER_ARM9, BUS_OWNER_ARM9);
 #endif
 
+	(void) c03; /* avoid set but not used warning */
         c03=cardEepromCommand(0x03,0);
         c05=cardEepromCommand(0x05,0);
         c9f=cardEepromCommand(0x9f,0);
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/common/gbfs.c b/c/src/lib/libbsp/arm/nds/libnds/source/common/gbfs.c
index 95fbc72..7f174e4 100644
--- a/c/src/lib/libbsp/arm/nds/libnds/source/common/gbfs.c
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/common/gbfs.c
@@ -64,10 +64,10 @@ void gbfs_search_range(
 	u32 gbfs_stride
 ) {
 //---------------------------------------------------------------------------------
-	if ( NULL != gbfs_1st_limit ) GBFS_1ST_SEARCH_LIMIT = (u32 *)gbfs_1st_limit;
-	if ( NULL != gbfs_2nd_limit ) GBFS_2ND_SEARCH_LIMIT = (u32 *)gbfs_2nd_limit;
-	if ( NULL != gbfs_2nd_start ) GBFS_2ND_SEARCH_START = (u32 *)gbfs_2nd_start;
-	if ( NULL != gbfs_stride ) GBFS_STRIDE = gbfs_stride;
+	if ( 0 != gbfs_1st_limit ) GBFS_1ST_SEARCH_LIMIT = (u32 *)gbfs_1st_limit;
+	if ( 0 != gbfs_2nd_limit ) GBFS_2ND_SEARCH_LIMIT = (u32 *)gbfs_2nd_limit;
+	if ( 0 != gbfs_2nd_start ) GBFS_2ND_SEARCH_START = (u32 *)gbfs_2nd_start;
+	if ( 0 != gbfs_stride ) GBFS_STRIDE = gbfs_stride;
 
 }
 
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/common/interrupts.c b/c/src/lib/libbsp/arm/nds/libnds/source/common/interrupts.c
index 5c9805a..7e42ebf 100644
--- a/c/src/lib/libbsp/arm/nds/libnds/source/common/interrupts.c
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/common/interrupts.c
@@ -26,9 +26,7 @@
 
 void IntrMain(void);	// Prototype for assembly interrupt dispatcher
 
-//---------------------------------------------------------------------------------
-void irqDummy(void) {}
-//---------------------------------------------------------------------------------
+static void irqDummy(void) {}
 
 
 #ifdef ARM9
diff --git a/c/src/lib/libbsp/arm/nds/preinstall.am b/c/src/lib/libbsp/arm/nds/preinstall.am
index 5ae1d49..4d1cc3a 100644
--- a/c/src/lib/libbsp/arm/nds/preinstall.am
+++ b/c/src/lib/libbsp/arm/nds/preinstall.am
@@ -57,6 +57,10 @@ $(PROJECT_INCLUDE)/bsp/bootcard.h: ../../shared/include/bootcard.h $(PROJECT_INC
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/bootcard.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/bootcard.h
 
+$(PROJECT_INCLUDE)/bsp/irq.h: irq/irq.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq.h
+
 $(PROJECT_LIB)/start.$(OBJEXT): start.$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
 	$(INSTALL_DATA) $< $(PROJECT_LIB)/start.$(OBJEXT)
 TMPINSTALL_FILES += $(PROJECT_LIB)/start.$(OBJEXT)
diff --git a/c/src/lib/libbsp/arm/nds/rtc/rtc.c b/c/src/lib/libbsp/arm/nds/rtc/rtc.c
index c56a805..da0f232 100644
--- a/c/src/lib/libbsp/arm/nds/rtc/rtc.c
+++ b/c/src/lib/libbsp/arm/nds/rtc/rtc.c
@@ -1,6 +1,8 @@
 /*
  * RTEMS for Nintendo DS realtime clock driver.
- *
+ */
+
+/*
  * Copyright (c) 2008 by Cedric Gestes <ctaf42 at gmail.com>
  *
  * The license and distribution terms for this file may be
@@ -20,8 +22,7 @@ size_t RTC_Count = 1;
 /*
  * probe for a rtc. we always claim to have one.
  */
-
-bool
+static bool
 nds_rtc_probe (int minor)
 {
   return true;
@@ -30,8 +31,7 @@ nds_rtc_probe (int minor)
 /*
  * initialize the nds rtc.
  */
-
-void
+static void
 nds_rtc_init (int minor)
 {
   /* nothing to do here (already done in the arm7 main) */
@@ -42,8 +42,7 @@ nds_rtc_init (int minor)
  * read current time from nds real-time clock chip and convert it
  * to the rtems_time_of_day structure.
  */
-
-int
+static int
 nds_rtc_get_time (int minor, rtems_time_of_day * time)
 {
   time->year = 2000 + IPC->time.rtc.year;
@@ -61,8 +60,7 @@ nds_rtc_get_time (int minor, rtems_time_of_day * time)
  * set time to the arm7 nds rtc.
  * NOTE: this is not supported.
  */
-
-int
+static int
 nds_rtc_set_time (int minor, const rtems_time_of_day * time)
 {
   return -1;
@@ -71,7 +69,6 @@ nds_rtc_set_time (int minor, const rtems_time_of_day * time)
 /*
  * driver function table.
  */
-
 rtc_fns nds_rtc_fns = {
   nds_rtc_init,
   nds_rtc_get_time,
diff --git a/c/src/lib/libbsp/arm/nds/startup/bspstart.c b/c/src/lib/libbsp/arm/nds/startup/bspstart.c
index e81f19b..5a7ff1a 100644
--- a/c/src/lib/libbsp/arm/nds/startup/bspstart.c
+++ b/c/src/lib/libbsp/arm/nds/startup/bspstart.c
@@ -1,6 +1,8 @@
 /*
  * RTEMS for Nintendo DS platform initialization.
- *
+ */
+
+/*
  * Copyright (c) 2008 by Matthieu Bucchianeri <mbucchia at gmail.com>
  *
  * The license and distribution terms for this file may be
@@ -12,14 +14,14 @@
 #include <bsp.h>
 #include <bsp/bootcard.h>
 #include <bsp/linker-symbols.h>
+#include <bsp/irq.h>
 #include <nds.h>
 
-extern void defaultExceptionHandler ();
-extern void BSP_rtems_irq_mngt_init (void);
+extern void defaultExceptionHandler(void);
+
 /*
  * start the platform.
  */
-
 void bsp_start (void)
 {
   /* initialize irq management */
@@ -46,17 +48,6 @@ void bsp_start (void)
 }
 
 /*
- * reset bss area.
- */
-
-void
-bss_reset (void)
-{
-
-  memset (bsp_section_bss_begin, 0, (size_t) bsp_section_bss_size);
-}
-
-/*
  * A few symbols needed by libnds but not used.
  */
 
diff --git a/c/src/lib/libbsp/arm/nds/touchscreen/parser.c b/c/src/lib/libbsp/arm/nds/touchscreen/parser.c
index c89267e..b103c61 100644
--- a/c/src/lib/libbsp/arm/nds/touchscreen/parser.c
+++ b/c/src/lib/libbsp/arm/nds/touchscreen/parser.c
@@ -22,6 +22,8 @@
  */
 
 extern void console_push (char c);
+extern void register_kbd_msg_queue (char *q_name);
+extern void unregister_kbd_msg_queue (void);
 
 /*
  * from reco.c
@@ -32,7 +34,8 @@ extern char PA_CheckLetter (int down, int x, int y);
 /*
  * message queue for touchscreen and graffiti events.
  */
-
+extern void register_mou_msg_queue (char *q_name);
+extern void unregister_mou_msg_queue (void);
 static rtems_id mou_queue_id = 0;
 static rtems_id kbd_queue_id = 0;
 
@@ -51,9 +54,14 @@ static int old_btns = 0;
 static int hand = 0;
 
 /*
- * update touchscreen position.
+ * Shared methods
  */
+void update_touchscreen (void);
+void touchscreen_sethand (int h);
 
+/*
+ * update touchscreen position
+ */
 void
 update_touchscreen (void)
 {
diff --git a/c/src/lib/libbsp/arm/nds/touchscreen/reco.c b/c/src/lib/libbsp/arm/nds/touchscreen/reco.c
index 08f4f8b..5407200 100644
--- a/c/src/lib/libbsp/arm/nds/touchscreen/reco.c
+++ b/c/src/lib/libbsp/arm/nds/touchscreen/reco.c
@@ -1,6 +1,13 @@
 #include <nds.h>
 #include "reco.h"
 
+/*
+ * Prototype
+ *
+ * NOTE: These appear to be part of a public interface.
+ */
+char PA_CheckLetter(int down, int x, int y);
+
 PA_StylusPosition PA_StylusPos[20000];
 
 PA_RecoValues PA_Reco;
@@ -60,7 +67,7 @@ PA_FormType PA_Graffiti[PA_RECOTESTS] = {
 
 
 
-void PA_AddStylusPos(u8 x, u8 y){
+static void PA_AddStylusPos(u8 x, u8 y){
   if (!((x == PA_StylusPos[PA_Reco.nvalues-1].x) && (y == PA_StylusPos[PA_Reco.nvalues-1].y))){
     PA_StylusPos[PA_Reco.nvalues].x = x;
     PA_StylusPos[PA_Reco.nvalues].y = y;
@@ -69,7 +76,7 @@ void PA_AddStylusPos(u8 x, u8 y){
 }
 
 
-void PA_StylusLine(u8 x1, u8 y1, u8 x2, u8 y2){
+static void PA_StylusLine(u8 x1, u8 y1, u8 x2, u8 y2){
   int i,dx,dy,sdx,sdy,dxabs,dyabs,x,y,px,py;
 
   dx=x2-x1;      /* the horizontal distance of the line */
@@ -130,7 +137,7 @@ void PA_StylusLine(u8 x1, u8 y1, u8 x2, u8 y2){
 
 
 
-char PA_AnalyzeShape(void){
+static char PA_AnalyzeShape(void){
   s32 i;
   //  for (i = 0; i < 32; i++) PA_OutputSimpleText(1, 0, i, "             ");
 
diff --git a/c/src/libchip/serial/ns16550.c b/c/src/libchip/serial/ns16550.c
index b0aa38f..2c3bc94 100644
--- a/c/src/libchip/serial/ns16550.c
+++ b/c/src/libchip/serial/ns16550.c
@@ -132,7 +132,9 @@ NS16550_STATIC int ns16550_set_attributes(
   const struct termios *t
 );
 
-NS16550_STATIC void ns16550_isr(void *arg);
+#if defined(BSP_FEATURE_IRQ_EXTENSION) || defined(BSP_FEATURE_IRQ_LEGACY)
+  NS16550_STATIC void ns16550_isr(void *arg);
+#endif
 
 static rtems_interrupt_lock ns16550_lock =
   RTEMS_INTERRUPT_LOCK_INITIALIZER("NS16550");



More information about the vc mailing list