[PATCH 6/8] i386/pc386: Eliminate multiple warnings

Joel Sherrill joel.sherrill at oarcorp.com
Thu Oct 9 18:39:57 UTC 2014


---
 c/src/lib/libbsp/i386/pc386/console/conscfg.c  |  7 +-
 c/src/lib/libbsp/i386/pc386/console/keyboard.c | 99 +++++++++++++-------------
 c/src/lib/libbsp/i386/pc386/console/outch.c    |  6 +-
 c/src/lib/libbsp/i386/pc386/console/rtd316.c   |  3 +-
 c/src/lib/libbsp/i386/pc386/console/rtd316.h   | 24 ++++++-
 c/src/lib/libbsp/i386/pc386/ide/ide.c          |  2 +
 c/src/lib/libbsp/i386/pc386/include/bsp.h      |  6 ++
 c/src/lib/libbsp/i386/pc386/startup/bspstart.c |  3 -
 c/src/lib/libbsp/i386/pc386/timer/timer.c      | 39 +++++-----
 c/src/lib/libbsp/i386/shared/comm/i386-stub.c  | 12 ++--
 10 files changed, 122 insertions(+), 79 deletions(-)

diff --git a/c/src/lib/libbsp/i386/pc386/console/conscfg.c b/c/src/lib/libbsp/i386/pc386/console/conscfg.c
index f9ed5d8..f0295ef 100644
--- a/c/src/lib/libbsp/i386/pc386/console/conscfg.c
+++ b/c/src/lib/libbsp/i386/pc386/console/conscfg.c
@@ -5,7 +5,7 @@
  */
 
 /*
- *  COPYRIGHT (c) 1989-2011.
+ *  COPYRIGHT (c) 1989-2014.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -21,6 +21,7 @@
 #include "vgacons.h"
 #include <bsp/irq.h>
 #include <rtems/pci.h>
+#include <bsp/rtd316.h>
 
 #define VGA_CONSOLE_FUNCTIONS  &vgacons_fns
 #if 0
@@ -39,7 +40,7 @@
 
 #define CLOCK_RATE     (115200 * 16)
 
-uint8_t com_get_register(uint32_t addr, uint8_t i)
+static uint8_t com_get_register(uint32_t addr, uint8_t i)
 {
   register uint8_t val;
   
@@ -47,7 +48,7 @@ uint8_t com_get_register(uint32_t addr, uint8_t i)
   return val;
 }
 
-void com_set_register(uint32_t addr, uint8_t i, uint8_t val)
+static void com_set_register(uint32_t addr, uint8_t i, uint8_t val)
 {
   outport_byte( (addr + i),val );
 }
diff --git a/c/src/lib/libbsp/i386/pc386/console/keyboard.c b/c/src/lib/libbsp/i386/pc386/console/keyboard.c
index 271c5e3..3a33c54 100644
--- a/c/src/lib/libbsp/i386/pc386/console/keyboard.c
+++ b/c/src/lib/libbsp/i386/pc386/console/keyboard.c
@@ -28,7 +28,7 @@
 #define KBD_DEFLOCK 0
 #endif
 
-int set_bit(int nr, unsigned long * addr)
+static int set_bit(int nr, unsigned long * addr)
 {
   int                   mask;
   int                   retval;
@@ -43,7 +43,7 @@ int set_bit(int nr, unsigned long * addr)
   return retval;
 }
 
-int clear_bit(int nr, unsigned long * addr)
+static int clear_bit(int nr, unsigned long * addr)
 {
   int                   mask;
   int                   retval;
@@ -58,7 +58,7 @@ int clear_bit(int nr, unsigned long * addr)
   return retval;
 }
 
-int test_bit(int nr, unsigned long * addr)
+static int test_bit(int nr, unsigned long * addr)
 {
   int  mask;
 
@@ -167,19 +167,20 @@ static int sysrq_pressed;
  * string, and in both cases we might assume that it is
  * in utf-8 already.
  */
-void to_utf8(ushort c) {
-    if (c < 0x80)
-  put_queue(c);      /*  0*******  */
-    else if (c < 0x800) {
-  put_queue(0xc0 | (c >> 6));   /*  110***** 10******  */
-  put_queue(0x80 | (c & 0x3f));
-    } else {
-  put_queue(0xe0 | (c >> 12));   /*  1110**** 10****** 10******  */
-  put_queue(0x80 | ((c >> 6) & 0x3f));
-  put_queue(0x80 | (c & 0x3f));
-    }
-    /* UTF-8 is defined for words of up to 31 bits,
-       but we need only 16 bits here */
+static void to_utf8(ushort c)
+{
+  if (c < 0x80)
+    put_queue(c);                  /*  0*******  */
+  else if (c < 0x800) {
+    put_queue(0xc0 | (c >> 6));    /*  110***** 10******  */
+    put_queue(0x80 | (c & 0x3f));
+  } else {
+    put_queue(0xe0 | (c >> 12));   /*  1110**** 10****** 10******  */
+    put_queue(0x80 | ((c >> 6) & 0x3f));
+    put_queue(0x80 | (c & 0x3f));
+  }
+  /* UTF-8 is defined for words of up to 31 bits,
+     but we need only 16 bits here */
 }
 
 /*
@@ -333,20 +334,19 @@ void handle_scancode(unsigned char scancode, int down)
 static void ( *driver_input_handler_kbd )( void *, unsigned short, unsigned long ) = 0;
 /*
  */
-void kbd_set_driver_handler( void ( *handler )( void *, unsigned short, unsigned long ) )
+void kbd_set_driver_handler(
+  void ( *handler )( void *, unsigned short, unsigned long )
+)
 {
   driver_input_handler_kbd = handler;
 }
 
 static void put_queue(int ch)
 {
-  if( driver_input_handler_kbd )
-  {
-     driver_input_handler_kbd(  ( void *)kbd, (unsigned short)ch,  0 );
-  }
-  else
-  {
-     add_to_queue( ch );
+  if ( driver_input_handler_kbd ) {
+    driver_input_handler_kbd(  ( void *)kbd, (unsigned short)ch,  0 );
+  } else {
+    add_to_queue( ch );
   }
 }
 
@@ -377,7 +377,6 @@ static void enter(void)
 
   if (vc_kbd_mode(kbd,VC_CRLF))
     put_queue(10);
-
 }
 
 static void caps_toggle(void)
@@ -403,12 +402,10 @@ static void hold(void)
   if (rep )
     return;
    chg_vc_kbd_led(kbd, VC_SCROLLOCK );
-
 }
 
 static void num(void)
 {
-
   if (vc_kbd_mode(kbd,VC_APPLIC))
     applkey('P', 1);
   else
@@ -771,39 +768,45 @@ static unsigned char ledstate = 0xff; /* undefined */
 static unsigned char ledioctl;
 
 unsigned char getledstate(void) {
-    return ledstate;
+  return ledstate;
 }
 
 void setledstate(struct kbd_struct *kbd, unsigned int led) {
-    if (!(led & ~7)) {
-  ledioctl = led;
-   kbd->ledmode = LED_SHOW_IOCTL;
-    } else
+  if (!(led & ~7)) {
+    ledioctl = led;
+     kbd->ledmode = LED_SHOW_IOCTL;
+  } else
     ;
-   kbd->ledmode = LED_SHOW_FLAGS;
-    set_leds();
+  kbd->ledmode = LED_SHOW_FLAGS;
+  set_leds();
 }
 
 static struct ledptr {
-    unsigned int *addr;
-    unsigned int mask;
-    unsigned char valid:1;
+  unsigned int *addr;
+  unsigned int mask;
+  unsigned char valid:1;
 } ledptrs[3];
 
-void register_leds(int console, unsigned int led,
-       unsigned int *addr, unsigned int mask) {
-    struct kbd_struct *kbd = kbd_table + console;
+void register_leds(
+  int console,
+  unsigned int led,
+  unsigned int *addr,
+  unsigned int mask
+)
+{
+  struct kbd_struct *kbd = kbd_table + console;
 
-   if (led < 3) {
-  ledptrs[led].addr = addr;
-  ledptrs[led].mask = mask;
-  ledptrs[led].valid = 1;
-  kbd->ledmode = LED_SHOW_MEM;
-    } else
-  kbd->ledmode = LED_SHOW_FLAGS;
+  if (led < 3) {
+    ledptrs[led].addr = addr;
+    ledptrs[led].mask = mask;
+    ledptrs[led].valid = 1;
+    kbd->ledmode = LED_SHOW_MEM;
+  } else
+    kbd->ledmode = LED_SHOW_FLAGS;
 }
 
-static inline unsigned char getleds(void){
+static inline unsigned char getleds(void)
+{
 
     struct kbd_struct *kbd = kbd_table + fg_console;
 
diff --git a/c/src/lib/libbsp/i386/pc386/console/outch.c b/c/src/lib/libbsp/i386/pc386/console/outch.c
index f0c7599..90ffedf 100644
--- a/c/src/lib/libbsp/i386/pc386/console/outch.c
+++ b/c/src/lib/libbsp/i386/pc386/console/outch.c
@@ -239,7 +239,7 @@ int ro,co;
 	return rval;
 }
 
-void
+static void
 clear_screen(void)
 {
     int i,j;
@@ -308,6 +308,10 @@ _IBMPC_initVideo(void)
 } /* _IBMPC_initVideo */
 
 /* for old DOS compatibility n-curses type of applications */
+void gotoxy( int x, int y );
+int whereX( void );
+int whereY( void );
+
 void gotoxy( int x, int y )
 {
   gotorc(y,x);
diff --git a/c/src/lib/libbsp/i386/pc386/console/rtd316.c b/c/src/lib/libbsp/i386/pc386/console/rtd316.c
index e27f128..7219ff6 100644
--- a/c/src/lib/libbsp/i386/pc386/console/rtd316.c
+++ b/c/src/lib/libbsp/i386/pc386/console/rtd316.c
@@ -7,7 +7,7 @@
  */
 
 /*
- *  COPYRIGHT (c) 1989-2012.
+ *  COPYRIGHT (c) 1989-2014.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -26,6 +26,7 @@
 #include <rtems/bspIo.h>
 #include <bsp/rtd316.h>
 #include <rtems/score/i386.h>
+#include <rtems/console_private.h>
 
 #define RTD_CLOCK_RATE  (460800 * 32)
 
diff --git a/c/src/lib/libbsp/i386/pc386/console/rtd316.h b/c/src/lib/libbsp/i386/pc386/console/rtd316.h
index 6c3478c..aabad2c 100644
--- a/c/src/lib/libbsp/i386/pc386/console/rtd316.h
+++ b/c/src/lib/libbsp/i386/pc386/console/rtd316.h
@@ -7,7 +7,7 @@
  */
 
 /*
- *  COPYRIGHT (c) 1989-2012.
+ *  COPYRIGHT (c) 1989-2014.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -47,6 +47,28 @@ rtems_device_driver rtd316_initialize(
   void                      *arg
 );
 
+/**
+ *  @brief RTD316 Obtain Register Helper
+ *
+ *  This method is used to read registers on the RTD316.
+ *
+ *  @param[in] addr is the base address
+ *  @param[in] reg is the register number
+ *
+ *  @return This method returns the value of the register.
+ */
+uint8_t rtd316_com_get_register(uint32_t addr, uint8_t reg);
+
+/**
+ *  @brief RTD316 Set Register Helper
+ *
+ *  This method is used to set registers on the RTD316.
+ *
+ *  @param[in] addr is the base address
+ *  @param[in] reg is the register number
+ */
+void rtd316_com_set_register(uint32_t addr,uint8_t reg, uint8_t val);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/c/src/lib/libbsp/i386/pc386/ide/ide.c b/c/src/lib/libbsp/i386/pc386/ide/ide.c
index e74a193..73b6df2 100644
--- a/c/src/lib/libbsp/i386/pc386/ide/ide.c
+++ b/c/src/lib/libbsp/i386/pc386/ide/ide.c
@@ -230,6 +230,8 @@ static void pc386_ide_initialize
     char*       p = &model_number[0];
     bool        data_ready;
 
+    (void) cur_multiple_sectors; /* avoid set but not used warning */
+
     memset(model_number, 0, sizeof(model_number));
 
     outport_byte(port+IDE_REGISTER_DEVICE_HEAD,
diff --git a/c/src/lib/libbsp/i386/pc386/include/bsp.h b/c/src/lib/libbsp/i386/pc386/include/bsp.h
index ef16b4a..7e6d3f3 100644
--- a/c/src/lib/libbsp/i386/pc386/include/bsp.h
+++ b/c/src/lib/libbsp/i386/pc386/include/bsp.h
@@ -179,9 +179,15 @@ char          _IBMPC_inch     (void);    /* from 'inch.c'   */
 char          _IBMPC_inch_sleep (void);  /* from 'inch.c'   */
 
 void Wait_X_ms(unsigned int timeToWait); /* from 'timer.c'  */
+void Calibrate_loop_1ms(void);           /* from 'timer.c'  */
+
+void rtems_irq_mngt_init(void);          /* from 'irq_init.c' */
+
+void bsp_size_memory(void);              /* from 'bspstart.c' */
 
 void Clock_driver_install_handler(void); /* from 'ckinit.c'  */
 void Clock_driver_support_initialize_hardware(void); /* from 'ckinit.c'  */
+
 size_t read_aux(char * buffer, size_t count); /* from 'ps2_mouse.c'  */
 
 /* Definitions for BSPConsolePort */
diff --git a/c/src/lib/libbsp/i386/pc386/startup/bspstart.c b/c/src/lib/libbsp/i386/pc386/startup/bspstart.c
index ff67cc7..ebe6b7c 100644
--- a/c/src/lib/libbsp/i386/pc386/startup/bspstart.c
+++ b/c/src/lib/libbsp/i386/pc386/startup/bspstart.c
@@ -36,9 +36,6 @@
 /*
  *  External routines
  */
-extern void Calibrate_loop_1ms(void);
-extern void rtems_irq_mngt_init(void);
-extern void bsp_size_memory(void);
 void Clock_driver_install_handler(void);
 
 /*-------------------------------------------------------------------------+
diff --git a/c/src/lib/libbsp/i386/pc386/timer/timer.c b/c/src/lib/libbsp/i386/pc386/timer/timer.c
index 953db03..541d2e3 100644
--- a/c/src/lib/libbsp/i386/pc386/timer/timer.c
+++ b/c/src/lib/libbsp/i386/pc386/timer/timer.c
@@ -65,15 +65,16 @@ void Timer_exit(void);
  */
 
 /*
- *  Timer cleanup routine at RTEMS exit. NOTE: This routine is
- *  not really necessary, since there will be a reset at exit.
+ *  Timer cleanup routine at RTEMS exit.
+ *
+ *  NOTE: This routine is not really necessary, since there will be
+ *        a reset at exit.
  */
-
-void tsc_timer_exit(void)
+static void tsc_timer_exit(void)
 {
 }
 
-void tsc_timer_initialize(void)
+static void tsc_timer_initialize(void)
 {
   static bool First = true;
 
@@ -86,9 +87,9 @@ void tsc_timer_initialize(void)
 }
 
 /*
- *
+ * Read TSC timer value.
  */
-uint32_t tsc_read_timer(void)
+static uint32_t tsc_read_timer(void)
 {
   register uint32_t  total;
 
@@ -151,16 +152,18 @@ static rtems_raw_irq_connect_data timer_raw_irq_data = {
 };
 
 /*
- * Timer cleanup routine at RTEMS exit. NOTE: This routine is
- *  not really necessary, since there will be a reset at exit.
- */ void
-i386_timer_exit(void)
+ * Timer cleanup routine at RTEMS exit.
+ *
+ * NOTE: This routine is not really necessary, since there will be
+ *       a reset at exit.
+ */
+static void i386_timer_exit(void)
 {
   i386_delete_idt_entry (&timer_raw_irq_data);
 }
 
 extern void rtems_irq_prologue_0(void);
-void i386_timer_initialize(void)
+static void i386_timer_initialize(void)
 {
   static bool First = true;
 
@@ -192,7 +195,7 @@ void i386_timer_initialize(void)
 /*
  * Read hardware timer value.
  */
-uint32_t i386_read_timer(void)
+static uint32_t i386_read_timer(void)
 {
   register uint32_t         total, clicks;
   register uint8_t          lsb, msb;
@@ -268,7 +271,7 @@ static unsigned short lastLoadedValue;
  *
  *  Returns: Nothing. Loaded value must be a number of clock bits...
  */
-void loadTimerValue( unsigned short loadedValue )
+static void loadTimerValue( unsigned short loadedValue )
 {
   lastLoadedValue = loadedValue;
   outport_byte(TIMER_MODE, TIMER_SEL0|TIMER_16BIT|TIMER_SQWAVE);
@@ -282,7 +285,7 @@ void loadTimerValue( unsigned short loadedValue )
  *
  * Returns: number of clock bits elapsed since last load.
  */
-unsigned int readTimer0(void)
+static unsigned int readTimer0(void)
 {
   unsigned short lsb, msb;
   unsigned char  status;
@@ -302,19 +305,19 @@ unsigned int readTimer0(void)
   return (2*lastLoadedValue - count);
 }
 
-void Timer0Reset(void)
+static void Timer0Reset(void)
 {
   loadTimerValue(0xffff);
   readTimer0();
 }
 
-void fastLoop (unsigned int loopCount)
+static void fastLoop (unsigned int loopCount)
 {
   unsigned int i;
   for( i=0; i < loopCount; i++ )outport_byte( SLOW_DOWN_IO, 0 );
 }
 
-void slowLoop (unsigned int loopCount)
+static void slowLoop (unsigned int loopCount)
 {
   unsigned int j;
   for (j=0; j <100 ;  j++) {
diff --git a/c/src/lib/libbsp/i386/shared/comm/i386-stub.c b/c/src/lib/libbsp/i386/shared/comm/i386-stub.c
index 578b018..8113d7e 100644
--- a/c/src/lib/libbsp/i386/shared/comm/i386-stub.c
+++ b/c/src/lib/libbsp/i386/shared/comm/i386-stub.c
@@ -607,7 +607,7 @@ set_char (char *addr, int val)
 /* return a pointer to the last char put in buf (null) */
 /* If MAY_FAULT is non-zero, then we should set mem_err in response to
    a fault; if zero treat a fault like any other fault in the stub.  */
-char *
+static char *
 mem2hex (char *mem, char *buf, int count, int may_fault)
 {
   int i;
@@ -654,7 +654,7 @@ hex2mem (char *buf, char *mem, int count, int may_fault)
 
 /* this function takes the 386 exception vector and attempts to
    translate this number into a unix compatible signal value */
-int
+static int
 computeSignal (int exceptionVector)
 {
   int sigval;
@@ -715,7 +715,7 @@ computeSignal (int exceptionVector)
 /* WHILE WE FIND NICE HEX CHARS, BUILD AN INT */
 /* RETURN NUMBER OF CHARS PROCESSED           */
 /**********************************************/
-int
+static int
 hexToInt (char **ptr, int *intValue)
 {
   int numChars = 0;
@@ -742,8 +742,12 @@ hexToInt (char **ptr, int *intValue)
 
 /*
  * This function does all command procesing for interfacing to gdb.
+ *
+ * NOTE: This method is called from assembly code so must be marked
+ *       as used.
  */
-void
+static void handle_exception (int exceptionVector) __attribute__((used));
+static void
 handle_exception (int exceptionVector)
 {
   int sigval;
-- 
1.9.3




More information about the devel mailing list