Hello Vipul,

your patches are getting better, but please review them carefully before you submit them and fix all obvious problems:

gmake[6]: Entering directory `/scratch/git-build/b-edb7312/arm-rtems4.11/c/edb7312/lib/libbsp/arm/edb7312' arm-rtems4.11-gcc --pipe -B../../../../../.././lib/ -B../../../../../.././edb7312/lib/ -specs bsp_specs -qrtems -DHAVE_CONFIG_H -isystem ../../../../../.././edb7312/lib/include -O2 -g -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT clockdrv.o -MD -MP -MF .deps/clockdrv.Tpo -c -o clockdrv.o `test -f 'clock/clockdrv.c' || echo '/home/sh/rtems-4.11/c/src/lib/libbsp/arm/edb7312/'`clock/clockdrv.c /home/sh/rtems-4.11/c/src/lib/libbsp/arm/edb7312/clock/clockdrv.c:74:10: warning: no previous prototype for 'clock_driver_get_nanoseconds_since_last_tick' [-Wmissing-prototypes]
 uint32_t clock_driver_get_nanoseconds_since_last_tick(void)
          ^

The next patch from you with compiler warnings is the last patch I review from 
you.

If you are unsure, how to deal with a warning, then ask on the list, but don't expect that reviewers solve the problems for you.

In this particular case you can completely remove the nanoseconds support. See also clockdrv_shell.h:

[...]
  #if defined(Clock_driver_nanoseconds_since_last_tick)
    rtems_clock_set_nanoseconds_extension(
      Clock_driver_nanoseconds_since_last_tick
    );
  #endif
[...]

So this nanoseconds handler is optional.  All BSPs defining

uint32_t clock_driver_get_nanoseconds_since_last_tick(void)
{
  return 0;
}

have this problem.

On 07/15/2013 11:32 AM, Vipul Nayyar wrote:
---
  c/src/lib/libbsp/arm/edb7312/clock/clockdrv.c  |  3 +--
  c/src/lib/libbsp/arm/edb7312/network/network.c | 12 +++++-------
  2 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/c/src/lib/libbsp/arm/edb7312/clock/clockdrv.c 
b/c/src/lib/libbsp/arm/edb7312/clock/clockdrv.c
index af0448ff7..761387f 100644
--- a/c/src/lib/libbsp/arm/edb7312/clock/clockdrv.c
+++ b/c/src/lib/libbsp/arm/edb7312/clock/clockdrv.c
@@ -18,8 +18,7 @@
    #define CLOCK_DRIVER_USE_FAST_IDLE
  #endif

-void Clock_isr(rtems_irq_hdl_param arg);
-uint32_t clock_driver_get_nanoseconds_since_last_tick(void);
+void Clock_isr(void * arg);

  #define Clock_driver_support_at_tick()                \
    do {                                                \
diff --git a/c/src/lib/libbsp/arm/edb7312/network/network.c 
b/c/src/lib/libbsp/arm/edb7312/network/network.c
index ce139ec..468fb61 100644
--- a/c/src/lib/libbsp/arm/edb7312/network/network.c
+++ b/c/src/lib/libbsp/arm/edb7312/network/network.c
@@ -7,14 +7,13 @@
  #define CS8900_BASE 0x20000300
  unsigned int bsp_cs8900_io_base = 0;
  unsigned int bsp_cs8900_memory_base = 0;
-cs8900_device *g_cs;
-void cs8900_isr(rtems_irq_hdl_param unused);
+static void cs8900_isr(void *);

  char g_enetbuf[1520];

-void cs8900_isr(rtems_irq_hdl_param unused)
+static void cs8900_isr(void *arg)
  {
-    cs8900_interrupt(BSP_EINT3, g_cs);
+    cs8900_interrupt(BSP_EINT3, arg);
  }

  /* cs8900_io_set_reg - set one of the I/O addressed registers */
@@ -64,14 +63,13 @@ unsigned short cs8900_mem_get_reg (cs8900_device *cs, 
unsigned long reg)
  void cs8900_attach_interrupt (cs8900_device *cs)
  {
      rtems_status_code status = RTEMS_SUCCESSFUL;
-    g_cs = cs;

      status = rtems_interrupt_handler_install(
          BSP_EINT3,
          "Network",
          RTEMS_INTERRUPT_UNIQUE,
          cs8900_isr,
-        NULL
+        cs
      );
      assert(status == RTEMS_SUCCESSFUL);
  }
@@ -83,7 +81,7 @@ void cs8900_detach_interrupt (cs8900_device *cs)
      status = rtems_interrupt_handler_remove(
          BSP_EINT3,
          cs8900_isr,
-        NULL
+        cs
      );
      assert(status == RTEMS_SUCCESSFUL);
  }



--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
_______________________________________________
rtems-devel mailing list
rtems-devel@rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel

Reply via email to