[PATCH 8/8] powerpc/ep1a: Fix multiple warnings
Joel Sherrill
joel.sherrill at oarcorp.com
Thu Oct 9 20:18:33 UTC 2014
On 10/9/2014 2:59 PM, Gedare Bloom wrote:
> On Thu, Oct 9, 2014 at 2:39 PM, Joel Sherrill <joel.sherrill at 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 at rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel
--
Joel Sherrill, Ph.D. Director of Research & Development
joel.sherrill at OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985
More information about the devel
mailing list