From 13279f5dcfec1e9efedaa01a8c53e510aec8e5fe Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 7 Sep 2007 14:34:18 +0000 Subject: 2007-09-07 Daniel Hellstrom * shared/1553/b1553brm.c, shared/can/grcan.c, shared/can/grcan_rasta.c, shared/can/occan.c, shared/spw/grspw.c, shared/spw/grspw_pci.c, shared/uart/apbuart.c: Remove warnings. --- c/src/lib/libbsp/sparc/shared/1553/b1553brm.c | 51 ++++++++++++------------- c/src/lib/libbsp/sparc/shared/can/grcan.c | 3 +- c/src/lib/libbsp/sparc/shared/can/grcan_rasta.c | 8 ++-- c/src/lib/libbsp/sparc/shared/can/occan.c | 31 +++++++-------- c/src/lib/libbsp/sparc/shared/spw/grspw.c | 12 ++++-- c/src/lib/libbsp/sparc/shared/spw/grspw_pci.c | 1 + c/src/lib/libbsp/sparc/shared/uart/apbuart.c | 6 +++ 7 files changed, 60 insertions(+), 52 deletions(-) (limited to 'c/src/lib/libbsp/sparc/shared') diff --git a/c/src/lib/libbsp/sparc/shared/1553/b1553brm.c b/c/src/lib/libbsp/sparc/shared/1553/b1553brm.c index f60cfa5771..6093f0b806 100644 --- a/c/src/lib/libbsp/sparc/shared/1553/b1553brm.c +++ b/c/src/lib/libbsp/sparc/shared/1553/b1553brm.c @@ -39,6 +39,8 @@ #ifndef B1553BRM_REG_INT #define B1553BRM_REG_INT(handler,irqno,arg) set_vector(handler,(irqno)+0x10,1) + #undef B1553BRM_DEFINE_INTHANDLER + #define B1553BRM_DEFINE_INTHANDLER #endif /* default to 128K memory layout */ @@ -126,6 +128,11 @@ struct circ_buf_1 { }; #endif +struct irq_log_list { + volatile unsigned short iiw; + volatile unsigned short iaw; +}; + typedef struct { unsigned int memarea_base; @@ -167,10 +174,7 @@ typedef struct { unsigned short unused[(8*1024-(128*8+128*32))-16*2]; #endif /* interrupt log at 64 bytes from end */ - struct { - unsigned short iiw; - unsigned short iaw; - } irq_logs[16]; + struct irq_log_list irq_logs[16]; } *bcmem; #if defined(DMA_MEM_128K) @@ -203,10 +207,7 @@ typedef struct { unsigned short unused[(64*1024-(4*32*4+4*32*9*34))-16*2]; /* interrupt log at 64 bytes from end */ - struct { - unsigned short iiw; - unsigned short iaw; - } irq_logs[16]; + struct irq_log_list irq_logs[16]; } *rtmem; #elif defined(DMA_MEM_16K) /* Memory structure of a RT being inited, just used @@ -239,20 +240,14 @@ typedef struct { unsigned short unused[8*1024 -(4*32*4 +3*32*2*34 +1*32*1*34) -16*2]; /* interrupt log at 64 bytes from end */ - struct { - unsigned short iiw; - unsigned short iaw; - } irq_logs[16]; + struct irq_log_list irq_logs[16]; } *rtmem; #else #error You must define one DMA_MEM_???K #endif /* Interrupt log list */ - struct irq_log_list { - volatile unsigned short iiw; - volatile unsigned short iaw; - } *irq_log; + struct irq_log_list *irq_log; unsigned int irq; /* Received events waiting to be read */ @@ -291,7 +286,9 @@ static unsigned int allbrm_cfg_clkdiv; static unsigned int allbrm_cfg_freq; static void brm_interrupt(brm_priv *brm); +#ifdef B1553BRM_DEFINE_INTHANDLER static void b1553brm_interrupt_handler(rtems_vector_number v); +#endif #define OFS(ofs) (((unsigned int)&ofs & 0x1ffff)>>1) @@ -361,7 +358,7 @@ int B1553BRM_PREFIX(_register)(amba_confarea_type *bus, unsigned int clksel, uns #ifdef B1553BRM_LOCAL_MEM allbrm_memarea = B1553BRM_LOCAL_MEM_ADR; #else - allbrm_memarea = NULL; + allbrm_memarea = 0; #endif /* Save clksel, clkdiv and brm_freq for later use */ @@ -419,7 +416,7 @@ static rtems_device_driver rt_init(brm_priv *brm) { return RTEMS_NO_MEMORY; } - brm->irq_log = &brm->rtmem->irq_logs[0]; + brm->irq_log = (struct irq_log_list *)&brm->rtmem->irq_logs[0]; brm->regs->ctrl = 0x1912; /* enable both buses, circular 1 bufmode, broadcast, interrupt log */ brm->regs->oper = 0x0900; /* configure as RT, with addr 1 */ @@ -496,7 +493,7 @@ static rtems_device_driver bc_init(brm_priv *brm){ brm->bcmem = (void *)brm->mem; brm->rtmem = NULL; - brm->irq_log = &brm->bcmem->irq_logs[0]; + brm->irq_log = (struct irq_log_list *)&brm->bcmem->irq_logs[0]; brm->head = brm->tail = 0; brm->rx_blocking = brm->tx_blocking = 1; @@ -543,7 +540,7 @@ static rtems_device_driver bm_init(brm_priv *brm) { } /* end of 16K, fits all current modes (128K, 16K) */ - brm->irq_log = &brm->mem[8*1024-16*2]; + brm->irq_log = (struct irq_log_list *)&brm->mem[8*1024-16*2]; brm->regs->ctrl = 0x0006; /* ping pong enable and enable interrupt log */ brm->regs->oper = 0x0A00; /* configure as BM */ @@ -589,7 +586,7 @@ static rtems_device_driver brm_initialize(rtems_device_major_number major, rtems } /* allocate & zero memory for the brm devices */ - brms = malloc(sizeof(*brms)*dev_cnt); + brms = (brm_priv *)malloc(sizeof(*brms)*dev_cnt); if ( !brms ){ printk("BRM: Failed to allocate SW memory\n\r"); return -1; @@ -601,10 +598,10 @@ static rtems_device_driver brm_initialize(rtems_device_major_number major, rtems */ #define BRM_DESCS_PER_CTRL 128 if ( allbrm_memarea ){ - mem = allbrm_memarea; + mem = (char *)allbrm_memarea; }else{ /* sizeof(struct desc_table) * BRM_DESCS_PER_CTRL * dev_cnt */ - mem = malloc( (128*1024) * (dev_cnt+1)); /* 128k per core + 128k for alignment */ + mem = (char *)malloc( (128*1024) * (dev_cnt+1)); /* 128k per core + 128k for alignment */ if ( !mem ){ free(brms); printk("BRM: Failed to allocate HW memory\n\r"); @@ -680,7 +677,7 @@ static rtems_device_driver brm_initialize(rtems_device_major_number major, rtems brm->memarea_base = (unsigned int)&mem[(128*1024) * minor]; brm->desc = (struct desc_table *) brm->memarea_base; brm->mem = (volatile unsigned short *) brm->memarea_base; - brm->irq_log = (void *)(brm->memarea_base + (0xFFE0<<1)); /* last 64byte */ + brm->irq_log = (struct irq_log_list *)(brm->memarea_base + (0xFFE0<<1)); /* last 64byte */ brm->bm_event = NULL; brm->rt_event = NULL; @@ -1126,6 +1123,7 @@ static rtems_device_driver brm_control(rtems_device_major_number major, rtems_de return RTEMS_SUCCESSFUL; } +#ifdef B1553BRM_DEFINE_INTHANDLER static void b1553brm_interrupt_handler(rtems_vector_number v){ int i; /* find minor */ @@ -1136,14 +1134,15 @@ static void b1553brm_interrupt_handler(rtems_vector_number v){ } } } +#endif static void brm_interrupt(brm_priv *brm) { unsigned short descriptor, current, pending, miw, wc, tmp; unsigned short msgadr, iaw, iiw; int len; int signal_event=0; - unsigned int event_status; - #define SET_ERROR_DESCRIPTOR(descriptor) (event_status = (event_status & 0x0000ffff) | descriptor<<16); + unsigned int event_status=0; + #define SET_ERROR_DESCRIPTOR(descriptor) (event_status = (event_status & 0x0000ffff) | descriptor<<16) while( (iiw=READ_REG(&brm->irq_log[brm->irq].iiw)) != 0xffff ){ iaw=READ_REG(&brm->irq_log[brm->irq].iaw); diff --git a/c/src/lib/libbsp/sparc/shared/can/grcan.c b/c/src/lib/libbsp/sparc/shared/can/grcan.c index 2482414165..9ebe00a1d4 100644 --- a/c/src/lib/libbsp/sparc/shared/can/grcan.c +++ b/c/src/lib/libbsp/sparc/shared/can/grcan.c @@ -82,6 +82,8 @@ #ifndef GRCAN_REG_INT #define GRCAN_REG_INT(handler,irqno,arg) set_vector(handler,irqno+0x10,1) + #undef GRCAN_DEFINE_INTHANDLER + #define GRCAN_DEFINE_INTHANDLER #endif #ifndef GRCAN_DEFAULT_BAUD @@ -227,7 +229,6 @@ struct grcan_priv { static int grcan_core_cnt; struct grcan_priv *grcans; static amba_confarea_type *amba_bus; -static unsigned int ram_base; struct grcan_device_info *grcan_cores; static int grcan_core_cnt; diff --git a/c/src/lib/libbsp/sparc/shared/can/grcan_rasta.c b/c/src/lib/libbsp/sparc/shared/can/grcan_rasta.c index 5f6701fa4c..9dd9e55f20 100644 --- a/c/src/lib/libbsp/sparc/shared/can/grcan_rasta.c +++ b/c/src/lib/libbsp/sparc/shared/can/grcan_rasta.c @@ -58,17 +58,17 @@ void (*grcan_rasta_int_reg)(void *handler, int irq, void *arg) = 0; #define RX_BUF_SIZE 4096 #define STATIC_TX_BUF_ADDR(core) \ - (grcan_rasta_rambase+(core)*(STATIC_TX_BUF_SIZE+STATIC_RX_BUF_SIZE)) + ((unsigned int *)\ + (grcan_rasta_rambase+(core)*(STATIC_TX_BUF_SIZE+STATIC_RX_BUF_SIZE))) #define STATIC_RX_BUF_ADDR(core) \ - (grcan_rasta_rambase+(core)*(STATIC_TX_BUF_SIZE+STATIC_RX_BUF_SIZE)+STATIC_RX_BUF_SIZE) + ((unsigned int *) \ + (grcan_rasta_rambase+(core)*(STATIC_TX_BUF_SIZE+STATIC_RX_BUF_SIZE)+STATIC_RX_BUF_SIZE)) #define GRCAN_DEVNAME "/dev/grcan0" #define GRCAN_DEVNAME_NO(devstr,no) ((devstr)[10]='0'+(no)) -static int grcan_rasta_calc_memoffs(int maxcores, int corenum, unsigned int *mem_base, unsigned int *mem_end, unsigned int *bdtable_base); - void grcan_rasta_interrupt_handler(int irq, void *pDev); unsigned int grcan_rasta_rambase; diff --git a/c/src/lib/libbsp/sparc/shared/can/occan.c b/c/src/lib/libbsp/sparc/shared/can/occan.c index 3227957d9d..6b9dd47601 100644 --- a/c/src/lib/libbsp/sparc/shared/can/occan.c +++ b/c/src/lib/libbsp/sparc/shared/can/occan.c @@ -65,6 +65,8 @@ rtems_assoc_t errno_assoc[] = { #ifndef OCCAN_REG_INT #define OCCAN_REG_INT(handler,irq,arg) set_vector(handler,irq+0x10,1) + #undef OCCAN_DEFINE_INTHANDLER + #define OCCAN_DEFINE_INTHANDLER #endif /* Default to 40MHz system clock */ @@ -258,14 +260,14 @@ static int occan_set_speedregs(occan_priv *priv, occan_speed_regs *timing); static int pelican_speed_auto(occan_priv *priv); static void pelican_init(occan_priv *priv); static void pelican_open(occan_priv *priv); -static void pelican_close(occan_priv *priv); static int pelican_start(occan_priv *priv); static void pelican_stop(occan_priv *priv); -static void pelican_exit(occan_priv *priv); static int pelican_send(occan_priv *can, CANMsg *msg); static void pelican_set_accept(occan_priv *priv, unsigned char *acode, unsigned char *amask); static void occan_interrupt(occan_priv *can); +#ifdef DEBUG_PRINT_REGMAP static void pelican_regadr_print(pelican_regs *regs); +#endif /***** Driver related interface *****/ static rtems_device_driver occan_ioctl(rtems_device_major_number major, rtems_device_minor_number minor, void *arg); @@ -274,8 +276,9 @@ static rtems_device_driver occan_read(rtems_device_major_number major, rtems_dev static rtems_device_driver occan_close(rtems_device_major_number major, rtems_device_minor_number minor, void *arg); static rtems_device_driver occan_open(rtems_device_major_number major, rtems_device_minor_number minor, void *arg); static rtems_device_driver occan_initialize(rtems_device_major_number major, rtems_device_minor_number unused, void *arg); +#ifdef OCCAN_DEFINE_INTHANDLER static void occan_interrupt_handler(rtems_vector_number v); - +#endif static int can_cores; static occan_priv *cans; static amba_confarea_type *amba_bus; @@ -429,14 +432,6 @@ static void pelican_open(occan_priv *priv){ tmp = READ_REG(&priv->regs->intflags); } -static void pelican_close(occan_priv *priv){ - - /* disable all interrupts */ - priv->regs->inten = 0; - - priv->regs->mode = PELICAN_MOD_RESET; -} - static int pelican_start(occan_priv *priv){ unsigned char tmp; /* Start HW communication */ @@ -509,11 +504,6 @@ static void pelican_stop(occan_priv *priv){ } -static void pelican_exit(occan_priv *priv){ - /* reset core */ - priv->regs->mode = PELICAN_MOD_RESET; -} - /* Try to send message "msg", if hardware txfifo is * full, then -1 is returned. * @@ -595,6 +585,7 @@ static void pelican_set_accept(occan_priv *priv, unsigned char *acode, unsigned *amask3 = amask[3]; } +#ifdef DEBUG static void pelican_regs_print(pelican_regs *regs){ printk("--- PELICAN 0x%lx ---\n\r",(unsigned int)regs); printk(" MODE: 0x%02x\n\r",READ_REG(®s->mode)); @@ -627,7 +618,9 @@ static void pelican_regs_print(pelican_regs *regs){ printk(" CLKDIV: 0x%02x\n\r",READ_REG(®s->clkdiv)); printk("-------------------\n\r"); } +#endif +#ifdef DEBUG_PRINT_REGMAP static void pelican_regadr_print(pelican_regs *regs){ printk("--- PELICAN 0x%lx ---\n\r",(unsigned int)regs); printk(" MODE: 0x%lx\n\r",(unsigned int)®s->mode); @@ -717,7 +710,9 @@ static void pelican_regadr_print(pelican_regs *regs){ printk(" CLKDIV: 0x%lx\n\r",(unsigned int)®s->clkdiv); printk("-------------------\n\r"); } +#endif +#ifdef DEBUG static void occan_stat_print(occan_stats *stats){ printk("----Stats----\n\r"); printk("rx_msgs: %d\n\r",stats->rx_msgs); @@ -731,6 +726,7 @@ static void occan_stat_print(occan_stats *stats){ printk("tx_buf_err: %d\n\r",stats->tx_buf_error); printk("-------------\n\r"); } +#endif /* This function calculates BTR0 BTR1 values for a given bitrate. * Heavily based on mgt_mscan_bitrate() from peak driver, which @@ -1391,7 +1387,6 @@ static rtems_device_driver occan_ioctl(rtems_device_major_number major, rtems_de rtems_libio_ioctl_args_t *ioarg = (rtems_libio_ioctl_args_t *) arg; struct occan_afilter *afilter; occan_stats *dststats; - unsigned char btr0, btr1; unsigned int rxcnt,txcnt; DBG("OCCAN: IOCTL %d\n\r",ioarg->command); @@ -1794,6 +1789,7 @@ static void occan_interrupt(occan_priv *can){ } } +#ifdef OCCAN_DEFINE_INTHANDLER static void occan_interrupt_handler(rtems_vector_number v){ int minor; @@ -1805,6 +1801,7 @@ static void occan_interrupt_handler(rtems_vector_number v){ } } } +#endif #define OCCAN_DRIVER_TABLE_ENTRY { occan_initialize, occan_open, occan_close, occan_read, occan_write, occan_ioctl } diff --git a/c/src/lib/libbsp/sparc/shared/spw/grspw.c b/c/src/lib/libbsp/sparc/shared/spw/grspw.c index aa01be4854..9ac6835ce3 100644 --- a/c/src/lib/libbsp/sparc/shared/spw/grspw.c +++ b/c/src/lib/libbsp/sparc/shared/spw/grspw.c @@ -67,6 +67,8 @@ #ifndef GRSPW_REG_INT #define GRSPW_REG_INT(handler,irqno,arg) set_vector(handler,irqno+0x10,1) + #undef GRSPW_DEFINE_INTHANDLER + #define GRSPW_DEFINE_INTHANDLER #endif #include @@ -303,8 +305,8 @@ static unsigned int _MEM_READ(void *addr) { #define SPW_PREPAREMASK_RX (SPW_DMACTRL_TXEN | SPW_DMACTRL_TXIE | SPW_DMACTRL_AI | SPW_DMACTRL_PR | SPW_DMACTRL_RA) static int grspw_hw_init(GRSPW_DEV *pDev); -static int grspw_hw_send(GRSPW_DEV *pDev, unsigned int hlen, unsigned char *hdr, unsigned int dlen, unsigned char *data); -static int grspw_hw_receive(GRSPW_DEV *pDev,unsigned char *b,int c); +static int grspw_hw_send(GRSPW_DEV *pDev, unsigned int hlen, char *hdr, unsigned int dlen, char *data); +static int grspw_hw_receive(GRSPW_DEV *pDev,char *b,int c); static int grspw_hw_startup (GRSPW_DEV *pDev, int timeout); static int grspw_hw_stop (GRSPW_DEV *pDev, int rx, int tx); static void grspw_hw_wait_rx_inactive(GRSPW_DEV *pDev); @@ -500,6 +502,7 @@ static int grspw_buffer_alloc(GRSPW_DEV *pDev) } +#ifdef GRSPW_DEFINE_INTHANDLER /* * Standard Interrupt handler */ @@ -514,6 +517,7 @@ static rtems_isr grspw_interrupt_handler(rtems_vector_number v) } } } +#endif static void grspw_interrupt(GRSPW_DEV *pDev){ int dmactrl; @@ -1464,7 +1468,7 @@ static int grspw_hw_stop (GRSPW_DEV *pDev, int rx, int tx) return RTEMS_SUCCESSFUL; } -int grspw_hw_send(GRSPW_DEV *pDev, unsigned int hlen, unsigned char *hdr, unsigned int dlen, unsigned char *data) +int grspw_hw_send(GRSPW_DEV *pDev, unsigned int hlen, char *hdr, unsigned int dlen, char *data) { unsigned int dmactrl, ctrl; @@ -1539,7 +1543,7 @@ int grspw_hw_send(GRSPW_DEV *pDev, unsigned int hlen, unsigned char *hdr, unsign return hlen + dlen; } -static int grspw_hw_receive(GRSPW_DEV *pDev, unsigned char *b, int c) { +static int grspw_hw_receive(GRSPW_DEV *pDev, char *b, int c) { unsigned int len, rxlen, ctrl; unsigned int cur; unsigned int tmp; diff --git a/c/src/lib/libbsp/sparc/shared/spw/grspw_pci.c b/c/src/lib/libbsp/sparc/shared/spw/grspw_pci.c index 0f83146bdd..112a324ace 100644 --- a/c/src/lib/libbsp/sparc/shared/spw/grspw_pci.c +++ b/c/src/lib/libbsp/sparc/shared/spw/grspw_pci.c @@ -105,6 +105,7 @@ int grspw_pci_register( */ int grspwpci_interrupt_handler(int irq, void *arg){ grspw_interrupt( (GRSPW_DEV *)arg ); + return 0; } #if 0 diff --git a/c/src/lib/libbsp/sparc/shared/uart/apbuart.c b/c/src/lib/libbsp/sparc/shared/uart/apbuart.c index 8a04665a13..144d394182 100644 --- a/c/src/lib/libbsp/sparc/shared/uart/apbuart.c +++ b/c/src/lib/libbsp/sparc/shared/uart/apbuart.c @@ -44,6 +44,8 @@ #ifndef APBUART_REG_INT #define APBUART_REG_INT(handler,irq,arg) set_vector(handler,irq+0x10,1) + #undef APBUART_DEFINE_INTHANDLER + #define APBUART_DEFINE_INTHANDLER #endif /* Default to 40MHz system clock */ @@ -117,7 +119,9 @@ static rtems_driver_address_table apbuart_driver = APBUART_DRIVER_TABLE_ENTRY; static amba_confarea_type *amba_bus; static void apbuart_interrupt(apbuart_priv *uart); +#ifdef APBUART_DEFINE_INTHANDLER static void apbuart_interrupt_handler(rtems_vector_number v); +#endif static void apbuart_hw_close(apbuart_priv *uart); static void apbuart_hw_open(apbuart_priv *uart); @@ -213,6 +217,7 @@ static void apbuart_hw_close(apbuart_priv *uart){ uart->regs->ctrl = 0; } +#ifdef APBUART_DEFINE_INTHANDLER /* interrupt handler */ static void apbuart_interrupt_handler(rtems_vector_number v){ int minor; @@ -225,6 +230,7 @@ static void apbuart_interrupt_handler(rtems_vector_number v){ } } } +#endif /* The interrupt handler, taking care of the * APBUART hardware -- cgit v1.2.3