On 10/9/2014 2:59 PM, Gedare Bloom wrote: > On Thu, Oct 9, 2014 at 2:39 PM, Joel Sherrill <joel.sherr...@oarcorp.com> > wrote: >> --- >> c/src/lib/libbsp/powerpc/ep1a/console/alloc360.c | 25 ++++---- >> c/src/lib/libbsp/powerpc/ep1a/console/m68360.h | 6 +- >> .../lib/libbsp/powerpc/ep1a/console/mc68360_scc.c | 54 ++++++++++------- >> c/src/lib/libbsp/powerpc/ep1a/console/ns16550cfg.c | 24 ++++---- >> c/src/lib/libbsp/powerpc/ep1a/console/ns16550cfg.h | 16 ++--- >> c/src/lib/libbsp/powerpc/ep1a/console/rsPMCQ1.c | 70 >> +++++++++++++--------- >> c/src/lib/libbsp/powerpc/ep1a/console/rsPMCQ1.h | 10 ++-- >> c/src/lib/libbsp/powerpc/ep1a/startup/bspstart.c | 45 ++++---------- >> 8 files changed, 134 insertions(+), 116 deletions(-) >> >> diff --git a/c/src/lib/libbsp/powerpc/ep1a/console/alloc360.c >> b/c/src/lib/libbsp/powerpc/ep1a/console/alloc360.c >> index e7a05be..edc13ff 100644 >> --- a/c/src/lib/libbsp/powerpc/ep1a/console/alloc360.c >> +++ b/c/src/lib/libbsp/powerpc/ep1a/console/alloc360.c >> @@ -25,7 +25,8 @@ >> >> #define DEBUG_PRINT 1 >> >> -void M360SetupMemory( M68360_t ptr ){ >> +void M360SetupMemory( M68360_t ptr ) >> +{ >> volatile m360_t *m360; >> >> m360 = ptr->m360; >> @@ -34,19 +35,19 @@ void M360SetupMemory( M68360_t ptr ){ >> printk("m360->mcr:0x%08x Q1_360_SIM_MCR:0x%08x\n", >> (unsigned int)&(m360->mcr), ((unsigned int)m360+Q1_360_SIM_MCR)); >> #endif >> - ptr->bdregions[0].base = (char *)&m360->dpram1[0]; >> + ptr->bdregions[0].base = &m360->dpram1[0]; >> ptr->bdregions[0].size = sizeof m360->dpram1; >> ptr->bdregions[0].used = 0; >> >> - ptr->bdregions[1].base = (char *)&m360->dpram3[0]; >> + ptr->bdregions[1].base = &m360->dpram3[0]; >> ptr->bdregions[1].size = sizeof m360->dpram3; >> ptr->bdregions[1].used = 0; >> >> - ptr->bdregions[2].base = (char *)&m360->dpram0[0]; >> + ptr->bdregions[2].base = &m360->dpram0[0]; >> ptr->bdregions[2].size = sizeof m360->dpram0; >> ptr->bdregions[2].used = 0; >> >> - ptr->bdregions[3].base = (char *)&m360->dpram2[0]; >> + ptr->bdregions[3].base = &m360->dpram2[0]; >> ptr->bdregions[3].size = sizeof m360->dpram2; >> ptr->bdregions[3].used = 0; >> } >> @@ -59,17 +60,17 @@ void * >> M360AllocateBufferDescriptors (M68360_t ptr, int count) >> { >> unsigned int i; >> - ISR_Level level; >> - void *bdp = NULL; >> - unsigned int want = count * sizeof(m360BufferDescriptor_t); >> - int have; >> + rtems_interrupt_level level; >> + volatile unsigned char *bdp = NULL; > Is there a reason for adding volatile? The underlying buffer that was declared for the chip management was volatile. From m68360.h in the same directory.
struct bdregions_t { volatile unsigned char *base; unsigned int size; unsigned int used; }; >> + unsigned int want = count * sizeof(m360BufferDescriptor_t); >> + int have; >> >> /* >> * Running with interrupts disabled is usually considered bad >> * form, but this routine is probably being run as part of an >> * initialization sequence so the effect shouldn't be too severe. >> */ >> - _ISR_Disable (level); >> + rtems_interrupt_disable(level); >> >> for (i = 0 ; i < M360_NUM_DPRAM_REAGONS ; i++) { >> >> @@ -100,10 +101,10 @@ M360AllocateBufferDescriptors (M68360_t ptr, int count) >> break; >> } >> } >> - _ISR_Enable (level); >> + rtems_interrupt_enable(level); >> if (bdp == NULL){ >> printk("rtems_panic can't allocate %d buffer descriptor(s).\n"); >> rtems_panic ("Can't allocate %d buffer descriptor(s).\n", count); >> } >> - return bdp; >> + return (void *)bdp; >> } >> diff --git a/c/src/lib/libbsp/powerpc/ep1a/console/m68360.h >> b/c/src/lib/libbsp/powerpc/ep1a/console/m68360.h >> index c4cd472..7c99a4d 100644 >> --- a/c/src/lib/libbsp/powerpc/ep1a/console/m68360.h >> +++ b/c/src/lib/libbsp/powerpc/ep1a/console/m68360.h >> @@ -933,9 +933,9 @@ typedef struct m360_ { >> } m360_t; >> >> struct bdregions_t { >> - char *base; >> - unsigned int size; >> - unsigned int used; >> + volatile unsigned char *base; > ditto. See above and a rough thread to pull. >> + unsigned int size; >> + unsigned int used; >> }; >> >> #define M68360_RX_BUF_SIZE 1 >> diff --git a/c/src/lib/libbsp/powerpc/ep1a/console/mc68360_scc.c >> b/c/src/lib/libbsp/powerpc/ep1a/console/mc68360_scc.c >> index 929bb96..641c74f 100644 >> --- a/c/src/lib/libbsp/powerpc/ep1a/console/mc68360_scc.c >> +++ b/c/src/lib/libbsp/powerpc/ep1a/console/mc68360_scc.c >> @@ -1,6 +1,8 @@ >> /* This file contains the termios TTY driver for the >> * Motorola MC68360 SCC ports. >> - * >> + */ >> + >> +/* >> * COPYRIGHT (c) 1989-2008. >> * On-Line Applications Research Corporation (OAR). >> * >> @@ -34,24 +36,32 @@ int EP1A_READ_LENGTH_GREATER_THAN_1 = 0; >> int mc68360_length_array[ MC68360_LENGTH_SIZE ]; >> int mc68360_length_count=0; >> >> -void mc68360_Show_length_array(void) { >> +#if 0 >> +/* >> + * This is a debug method which is not currently used. >> + */ >> +static void mc68360_Show_length_array(void) >> +{ >> int i; >> for (i=0; i<MC68360_LENGTH_SIZE; i++) >> printf(" %d", mc68360_length_array[i] ); >> printf("\n\n"); >> } >> #endif >> +#endif >> >> >> M68360_t M68360_chips = NULL; >> >> #define SYNC eieio >> -#define mc68360_scc_Is_422( _minor ) >> (Console_Port_Tbl[minor]->sDeviceName[7] == '4' ) >> +#define mc68360_scc_Is_422( _minor ) \ >> + (Console_Port_Tbl[minor]->sDeviceName[7] == '4' ) >> >> - >> -void mc68360_scc_nullFunc(void) {} >> - >> -uint8_t scc_read8( >> +#if 0 >> +/* >> + * This method is included for completeness but not currently used. >> + */ >> +static uint8_t scc_read8( >> const char *name, >> volatile uint8_t *address >> ) >> @@ -68,8 +78,9 @@ uint8_t scc_read8( >> >> return value; >> } >> +#endif >> > I dislike #if 0 blocks, but I don't have any better suggestion for > keeping the code around. Then again, keeping something for > completeness doesn't seem like a great argument either. Maybe just cut > it? I was close to cutting them out but I happen to know at least one application that uses this board and there is a reasonable risk it uses those. The complexity worried me about deleting them. Maybe as part of another patch which is ONLY deleting these. OK.. the more I read, the more convinced I became. There is a followup patch removing if 0 sections. :) >> -void scc_write8( >> +static void scc_write8( >> const char *name, >> volatile uint8_t *address, >> uint8_t value >> @@ -81,8 +92,7 @@ void scc_write8( >> *address = value; >> } >> >> - >> -uint16_t scc_read16( >> +static uint16_t scc_read16( >> const char *name, >> volatile uint16_t *address >> ) >> @@ -100,7 +110,7 @@ uint16_t scc_read16( >> return value; >> } >> >> -void scc_write16( >> +static void scc_write16( >> const char *name, >> volatile uint16_t *address, >> uint16_t value >> @@ -112,8 +122,7 @@ void scc_write16( >> *address = value; >> } >> >> - >> -uint32_t scc_read32( >> +static uint32_t scc_read32( >> const char *name, >> volatile uint32_t *address >> ) >> @@ -131,7 +140,7 @@ uint32_t scc_read32( >> return value; >> } >> >> -void scc_write32( >> +static void scc_write32( >> const char *name, >> volatile uint32_t *address, >> uint32_t value >> @@ -143,7 +152,12 @@ void scc_write32( >> *address = value; >> } >> >> -void mc68360_sccShow_Regs(int minor){ >> +#if 0 >> +/* >> + * This is a debug method which is not currently used. >> + */ >> +static void mc68360_sccShow_Regs(int minor) >> +{ >> M68360_serial_ports_t ptr; >> ptr = Console_Port_Tbl[minor]->pDeviceParams; >> >> @@ -151,6 +165,7 @@ void mc68360_sccShow_Regs(int minor){ >> printk( " 0x%04x\n", ptr->pSCCR->scce ); >> >> } >> +#endif >> > ditto. This board has **0** debug capabilities. If we delete unused code, let's do it on another path. >> #define TX_BUFFER_ADDRESS( _ptr ) \ >> ((char *)ptr->txBuf - (char *)ptr->chip->board_data->baseaddr) >> @@ -325,8 +340,7 @@ if (length > 1) >> * >> * Default state is 9600 baud, 8 bits, No parity, and 1 stop bit. >> */ >> - >> -int mc68360_scc_open( >> +static int mc68360_scc_open( >> int major, >> int minor, >> void * arg >> @@ -653,10 +667,10 @@ void mc68360_scc_initialize_interrupts(int minor) >> * Console Termios output entry point when using interrupt driven output. >> */ >> >> -int mc68360_scc_write_support_int( >> +ssize_t mc68360_scc_write_support_int( >> int minor, >> const char *buf, >> - int len >> + size_t len >> ) >> { >> rtems_interrupt_level Irql; >> @@ -953,7 +967,7 @@ int mc68360_scc_create_chip( PPMCQ1BoardData BoardData, >> uint8_t int_vector ) >> chip->board_data->slotNo, >> chip->board_data->funcNo, >> &mc68360_sccInterruptHandler, >> - chip >> + (uintptr_t) chip >> ); >> >> return RTEMS_SUCCESSFUL; >> diff --git a/c/src/lib/libbsp/powerpc/ep1a/console/ns16550cfg.c >> b/c/src/lib/libbsp/powerpc/ep1a/console/ns16550cfg.c >> index 89dd8b9..12a423b 100644 >> --- a/c/src/lib/libbsp/powerpc/ep1a/console/ns16550cfg.c >> +++ b/c/src/lib/libbsp/powerpc/ep1a/console/ns16550cfg.c >> @@ -1,6 +1,8 @@ >> /* >> - * This include file contains all console driver definations for the >> nc16550 >> - * >> + * This include file contains all console driver definitions for the >> ns16550. >> + */ >> + >> +/* >> * COPYRIGHT (c) 1989-2008. >> * On-Line Applications Research Corporation (OAR). >> * >> @@ -9,10 +11,11 @@ >> * http://www.rtems.org/license/LICENSE. >> */ >> >> -#include <rtems.h> >> +#include <bsp.h> >> #include <libchip/serial.h> >> #include <libchip/ns16550.h> >> -#include <bsp.h> >> + >> +#include "ns16550cfg.h" >> >> typedef struct uart_reg >> { >> @@ -21,21 +24,22 @@ typedef struct uart_reg >> } uartReg; >> >> uint8_t Read_ns16550_register( >> - uint32_t ulCtrlPort, >> - uint8_t ucRegNum >> + uintptr_t ulCtrlPort, >> + uint8_t ucRegNum >> ) >> { >> -volatile struct uart_reg *p = (volatile struct uart_reg *)ulCtrlPort; >> + volatile struct uart_reg *p = (volatile struct uart_reg *)ulCtrlPort; >> uint8_t ucData; >> + >> ucData = p[ucRegNum].reg; >> __asm__ volatile("sync"); >> return ucData; >> } >> >> void Write_ns16550_register( >> - uint32_t ulCtrlPort, >> - uint8_t ucRegNum, >> - uint8_t ucData >> + uintptr_t ulCtrlPort, >> + uint8_t ucRegNum, >> + uint8_t ucData >> ) >> { >> volatile struct uart_reg *p = (volatile struct uart_reg *)ulCtrlPort; >> diff --git a/c/src/lib/libbsp/powerpc/ep1a/console/ns16550cfg.h >> b/c/src/lib/libbsp/powerpc/ep1a/console/ns16550cfg.h >> index 73bd2d0..45d5208 100644 >> --- a/c/src/lib/libbsp/powerpc/ep1a/console/ns16550cfg.h >> +++ b/c/src/lib/libbsp/powerpc/ep1a/console/ns16550cfg.h >> @@ -1,6 +1,8 @@ >> /* >> - * This include file contains all console driver definations for the >> nc16550 >> - * >> + * This include file contains all console driver definitions for the >> ns16550. >> + */ >> + >> +/* >> * COPYRIGHT (c) 1989-2008. >> * On-Line Applications Research Corporation (OAR). >> * >> @@ -21,14 +23,14 @@ extern "C" { >> */ >> >> uint8_t Read_ns16550_register( >> - uint32_t ulCtrlPort, >> - uint8_t ucRegNum >> + uintptr_t ulCtrlPort, >> + uint8_t ucRegNum >> ); >> >> void Write_ns16550_register( >> - uint32_t ulCtrlPort, >> - uint8_t ucRegNum, >> - uint8_t ucData >> + uintptr_t ulCtrlPort, >> + uint8_t ucRegNum, >> + uint8_t ucData >> ); >> >> extern const console_fns ns16550_fns_8245; >> diff --git a/c/src/lib/libbsp/powerpc/ep1a/console/rsPMCQ1.c >> b/c/src/lib/libbsp/powerpc/ep1a/console/rsPMCQ1.c >> index 88e8819..122a4d0 100644 >> --- a/c/src/lib/libbsp/powerpc/ep1a/console/rsPMCQ1.c >> +++ b/c/src/lib/libbsp/powerpc/ep1a/console/rsPMCQ1.c >> @@ -52,6 +52,7 @@ static unsigned char rsPMCQ1Initialized = FALSE; >> >> /* forward declarations */ >> >> +#if 0 >> /* local Qspan II serial eeprom table */ >> static unsigned char rsPMCQ1eeprom[] = >> { >> @@ -79,30 +80,33 @@ static unsigned char rsPMCQ1eeprom[] = >> 0xC0, /* Byte 21 - PCI_PMC */ >> 0x00 /* Byte 22 - PCI_BST */ >> }; >> +#endif >> > Here too. and more below. Same issue. Same concern. >> -void MsDelay(void) >> +static void MsDelay(void) >> { >> printk("."); >> } >> >> -void write8( int addr, int data ){ >> +static void write8( int addr, int data ){ >> out_8((void *)addr, (unsigned char)data); >> } >> >> -void write16( int addr, int data ) { >> +static void write16( int addr, int data ) { >> out_be16((void *)addr, (short)data ); >> } >> >> -void write32( int addr, int data ) { >> +static void write32( int addr, int data ) { >> out_be32((unsigned int *)addr, data ); >> } >> >> -int read32( int addr){ >> +#if 0 >> +static int read32( int addr){ >> return in_be32((unsigned int *)addr); >> } >> +#endif >> >> >> -void rsPMCQ1_scc_nullFunc(void) {} >> +static void rsPMCQ1_scc_nullFunc(void) {} >> >> >> /******************************************************************************* >> * rsPMCQ1Int - handle a PMCQ1 interrupt >> @@ -113,7 +117,7 @@ void rsPMCQ1_scc_nullFunc(void) {} >> * RETURNS: NONE. >> */ >> >> -void rsPMCQ1Int( void *ptr ) >> +static void rsPMCQ1Int( void *ptr ) >> { >> unsigned long status; >> unsigned long status1; >> @@ -155,6 +159,7 @@ void rsPMCQ1Int( void *ptr ) >> *(volatile unsigned long *)(boardData->bridgeaddr + 0x600) = 0x00001000; >> >> /* read back the status register to ensure that the pci write has >> completed */ >> + (void) status1; /* avoid set but not used warning */ > I'd put this after the store to the variable. Done. >> status1 = *(volatile unsigned long *)(boardData->bridgeaddr + 0x600); >> RTEMS_COMPILER_MEMORY_BARRIER(); >> >> @@ -175,8 +180,8 @@ unsigned int rsPMCQ1MaIntConnect ( >> unsigned long busNo, /* Pci Bus number of PMCQ1 */ >> unsigned long slotNo, /* Pci Slot number of PMCQ1 */ >> unsigned long funcNo, /* Pci Function number of PMCQ1 */ >> - FUNCION_PTR routine,/* interrupt routine */ >> - int arg /* argument to pass to interrupt routine */ >> + FUNCION_PTR routine,/* interrupt routine */ > Fix typo s/FUNCION/FUNCTION ? Grrr.... I didn't introduce that. :( But I fixed it. >> + uintptr_t arg /* argument to pass to interrupt routine */ >> ) >> { >> PPMCQ1BoardData boardData; >> @@ -207,6 +212,8 @@ unsigned int rsPMCQ1MaIntConnect ( >> return (status); >> } >> >> +#if 0 >> +/* This method is apparently unused. --joel 9 Oct 2014 */ >> >> /******************************************************************************* >> * >> * rsPMCQ1MaIntDisconnect - disconnect a MiniAce interrupt routine >> @@ -216,8 +223,7 @@ unsigned int rsPMCQ1MaIntConnect ( >> * >> * RETURNS: OK if PMCQ1 found, ERROR if not. >> */ >> - >> -unsigned int rsPMCQ1MaIntDisconnect( >> +static unsigned int rsPMCQ1MaIntDisconnect( >> unsigned long busNo, /* Pci Bus number of PMCQ1 */ >> unsigned long slotNo, /* Pci Slot number of PMCQ1 */ >> unsigned long funcNo /* Pci Function number of PMCQ1 */ >> @@ -239,6 +245,7 @@ unsigned int rsPMCQ1MaIntDisconnect( >> >> return (status); >> } >> +#endif >> >> >> /******************************************************************************* >> * >> @@ -249,13 +256,12 @@ unsigned int rsPMCQ1MaIntDisconnect( >> * >> * RETURNS: OK if PMCQ1 found, ERROR if not. >> */ >> - >> unsigned int rsPMCQ1QuiccIntConnect( >> unsigned long busNo, /* Pci Bus number of PMCQ1 */ >> unsigned long slotNo, /* Pci Slot number of PMCQ1 */ >> unsigned long funcNo, /* Pci Function number of PMCQ1 */ >> - FUNCION_PTR routine,/* interrupt routine */ >> - int arg /* argument to pass to interrupt routine */ >> + FUNCION_PTR routine,/* interrupt routine */ >> + uintptr_t arg /* argument to pass to interrupt routine */ >> ) >> { >> PPMCQ1BoardData boardData; >> @@ -275,6 +281,8 @@ unsigned int rsPMCQ1QuiccIntConnect( >> return (status); >> } >> >> +#if 0 >> +/* This method is apparently unused. --joel 9 Oct 2014 */ >> >> /******************************************************************************* >> * >> * rsPMCQ1QuiccIntDisconnect - disconnect a Quicc interrupt routine >> @@ -284,8 +292,7 @@ unsigned int rsPMCQ1QuiccIntConnect( >> * >> * RETURNS: OK if PMCQ1 found, ERROR if not. >> */ >> - >> -unsigned int rsPMCQ1QuiccIntDisconnect( >> +static unsigned int rsPMCQ1QuiccIntDisconnect( >> unsigned long busNo, /* Pci Bus number of PMCQ1 */ >> unsigned long slotNo, /* Pci Slot number of PMCQ1 */ >> unsigned long funcNo /* Pci Function number of PMCQ1 */ >> @@ -308,6 +315,8 @@ unsigned int rsPMCQ1QuiccIntDisconnect( >> >> return (status); >> } >> +#endif >> +/* This method is apparently unused. --joel 9 Oct 2014 */ >> >> >> >> /******************************************************************************* >> @@ -323,20 +332,22 @@ unsigned int rsPMCQ1Init(void) >> { >> int busNo; >> int slotNo; >> - unsigned int baseaddr = 0; >> - unsigned int bridgeaddr = 0; >> + uint32_t baseaddr = 0; >> + uint32_t bridgeaddr = 0; >> unsigned long pbti0_ctl; >> int i; >> unsigned char int_vector; >> int fun; >> - int temp; >> + uint32_t temp; >> PPMCQ1BoardData boardData; >> - rtems_irq_connect_data IrqData = {0, >> - rsPMCQ1Int, >> - rsPMCQ1_scc_nullFunc, >> - rsPMCQ1_scc_nullFunc, >> - rsPMCQ1_scc_nullFunc, >> - NULL}; >> + rtems_irq_connect_data IrqData = { >> + .name = 0, >> + .hdl = rsPMCQ1Int, >> + .handle = NULL, >> + .on = (rtems_irq_enable) rsPMCQ1_scc_nullFunc, >> + .off = (rtems_irq_disable) rsPMCQ1_scc_nullFunc, >> + .isOn = (rtems_irq_is_enabled) rsPMCQ1_scc_nullFunc, >> + }; >> >> if (rsPMCQ1Initialized) >> { >> @@ -480,6 +491,8 @@ unsigned int rsPMCQ1Init(void) >> return((i > 0) ? RTEMS_SUCCESSFUL : RTEMS_IO_ERROR); >> } >> >> +#if 0 >> +/* This method is apparently unused. --joel 9 Oct 2014 */ > Kill the dead code! Another patch. :) >> >> /******************************************************************************* >> * >> * rsPMCQ1Commission - initialize the serial EEPROM on the QSPAN >> @@ -489,8 +502,10 @@ unsigned int rsPMCQ1Init(void) >> * found with apparently uninitialised EEPROM's or PMCQ1's (to allow >> * EEPROM modifications to be performed). >> */ >> - >> -unsigned int rsPMCQ1Commission( unsigned long busNo, unsigned long slotNo ) >> +static unsigned int rsPMCQ1Commission( >> + unsigned long busNo, >> + unsigned long slotNo >> +) >> { >> unsigned int status = RTEMS_IO_ERROR; >> uint32_t bridgeaddr = 0; >> @@ -555,6 +570,7 @@ unsigned int rsPMCQ1Commission( unsigned long busNo, >> unsigned long slotNo ) >> } >> return(status); >> } >> +#endif >> >> uint32_t PMCQ1_Read_EPLD( uint32_t base, uint32_t reg ) >> { >> diff --git a/c/src/lib/libbsp/powerpc/ep1a/console/rsPMCQ1.h >> b/c/src/lib/libbsp/powerpc/ep1a/console/rsPMCQ1.h >> index b743f02..a888ebb 100644 >> --- a/c/src/lib/libbsp/powerpc/ep1a/console/rsPMCQ1.h >> +++ b/c/src/lib/libbsp/powerpc/ep1a/console/rsPMCQ1.h >> @@ -132,9 +132,9 @@ typedef struct _PMCQ1BoardData >> unsigned long baseaddr; >> unsigned long bridgeaddr; >> FUNCION_PTR quiccInt; >> - int quiccArg; >> + uintptr_t quiccArg; >> FUNCION_PTR maInt; >> - int maArg; >> + uintptr_t maArg; >> } PMCQ1BoardData, *PPMCQ1BoardData; >> >> extern PPMCQ1BoardData pmcq1BoardData; >> @@ -147,15 +147,17 @@ extern unsigned int rsPMCQ1QuiccIntConnect( >> unsigned long slotNo, >> unsigned long funcNo, >> FUNCION_PTR routine, >> - int arg >> + uintptr_t arg >> ); >> + >> unsigned int rsPMCQ1Init(void); >> + >> unsigned int rsPMCQ1MaIntConnect ( >> unsigned long busNo, /* Pci Bus number of PMCQ1 */ >> unsigned long slotNo, /* Pci Slot number of PMCQ1 */ >> unsigned long funcNo, /* Pci Function number of PMCQ1 */ >> FUNCION_PTR routine,/* interrupt routine */ >> - int arg /* argument to pass to interrupt routine */ >> + uintptr_t arg /* argument to pass to interrupt routine */ >> ); >> >> #endif /* __INCPMCQ1H */ >> diff --git a/c/src/lib/libbsp/powerpc/ep1a/startup/bspstart.c >> b/c/src/lib/libbsp/powerpc/ep1a/startup/bspstart.c >> index 0a5a765..a0e2636 100644 >> --- a/c/src/lib/libbsp/powerpc/ep1a/startup/bspstart.c >> +++ b/c/src/lib/libbsp/powerpc/ep1a/startup/bspstart.c >> @@ -3,7 +3,7 @@ >> */ >> >> /* >> - * COPYRIGHT (c) 1989-2007. >> + * COPYRIGHT (c) 1989-2014. >> * On-Line Applications Research Corporation (OAR). >> * >> * The license and distribution terms for this file may be >> @@ -51,37 +51,32 @@ uint8_t LightIdx = 0; >> extern int RAM_END; >> unsigned int BSP_mem_size = (unsigned int)&RAM_END; >> >> -void BSP_Increment_Light(void){ >> +static void BSP_Increment_Light(void) >> +{ >> uint8_t data; >> + >> data = *GENERAL_REGISTER1; >> data &= 0xf0; >> data |= LightIdx++; >> *GENERAL_REGISTER1 = data; >> } >> >> -void BSP_Fatal_Fault_Light(void) { >> +#if 0 >> +static void BSP_Fatal_Fault_Light(void) >> +{ >> uint8_t data; >> + >> data = *GENERAL_REGISTER1; >> data &= 0xf0; >> data |= 0x7; >> while(1) >> *GENERAL_REGISTER1 = data; >> } >> - >> -void write_to_Q2ram(int offset, unsigned int data ) >> -{ >> -printk("0x%x ==> %d\n", offset, data ); >> -#if 0 >> - unsigned int *ptr = 0x82000000; >> - ptr += offset; >> - *ptr = data; >> #endif >> -} >> >> /* >> * Vital Board data Start using DATA RESIDUAL >> */ >> - >> uint32_t VME_Slot1 = FALSE; >> >> /* >> @@ -160,27 +155,10 @@ void bsp_pretasking_hook(void) >> rsPMCQ1Init(); >> } >> >> -void zero_bss(void) >> -{ >> - memset(__SBSS_START__, 0, ((unsigned) __SBSS_END__) - >> ((unsigned)__SBSS_START__)); >> - memset(__SBSS2_START__, 0, ((unsigned) __SBSS2_END__) - >> ((unsigned)__SBSS2_START__)); >> - memset(__bss_start, 0, ((unsigned) __rtems_end) - >> ((unsigned)__bss_start)); >> -} >> - >> -char * save_boot_params(RESIDUAL* r3, void *r4, void* r5, char >> *additional_boot_options) >> -{ >> -#if 0 >> - residualCopy = *r3; >> - strncpy(loaderParam, additional_boot_options, MAX_LOADER_ADD_PARM); >> - loaderParam[MAX_LOADER_ADD_PARM - 1] ='\0'; >> - return loaderParam; >> -#endif >> - return 0; >> -} >> - >> unsigned int EUMBBAR; >> >> -unsigned int get_eumbbar(void) { >> +static unsigned int get_eumbbar(void) >> +{ >> register int a, e; >> >> __asm__ volatile( "lis %0,0xfec0; ori %0,%0,0x0000": "=r" (a) ); >> @@ -198,7 +176,7 @@ unsigned int get_eumbbar(void) { >> return e; >> } >> >> -void Read_ep1a_config_registers( ppc_cpu_id_t myCpu ) { >> +static void Read_ep1a_config_registers( ppc_cpu_id_t myCpu ) { >> unsigned char value; >> >> /* >> @@ -288,6 +266,7 @@ void bsp_start( void ) >> * latter... >> */ >> BSP_Increment_Light(); >> + (void) myCpuRevision; /* avoid set but not used warning */ >> myCpu = get_ppc_cpu_type(); >> myCpuRevision = get_ppc_cpu_revision(); > I'd put the (void) here, too. It seems to make most sense to me to see > it just after the store it is meant to "fix" the warning for. Done. > -Gedare >> -- >> 1.9.3 >> >> _______________________________________________ >> devel mailing list >> devel@rtems.org >> http://lists.rtems.org/mailman/listinfo/devel -- Joel Sherrill, Ph.D. Director of Research & Development joel.sherr...@oarcorp.com On-Line Applications Research Ask me about RTEMS: a free RTOS Huntsville AL 35805 Support Available (256) 722-9985 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel