Re: [U-Boot] [PATCH 1/2] zlib/gunzip: Use WATCHDOG_RESET macro

2010-10-12 Thread Wolfgang Denk
Dear Stefan Roese,

In message 1283952898-4247-1-git-send-email...@denx.de you wrote:
 As usually done in U-Boot, the watchdog_reset code is called via a
 macro (WATCHDOG_RESET). In zlib.c this was done differently, by using
 a function pointer which is initialized with WATCHDOG_RESET upon watchdog
 usage or with NULL otherwise. This patch now uses the plain
 WATCHDOG_RESET macros to call the function resulting in slightly smaller
 U-Boot images and simpler code.
 
 U-Boot code size reduction:
 
 PowerPC board with watchdog support (lwmon5):
 - 80 bytes smaller image size
 
 PowerPC board without watchdog support (sequoia):
 - 112 bytes smaller image size
 
 Signed-off-by: Stefan Roese s...@denx.de
 Cc: Detlev Zundel d...@denx.de
 Cc: Wolfgang Denk w...@denx.de
 ---
  lib/gunzip.c |5 -
  lib/zlib.c   |   10 --
  2 files changed, 4 insertions(+), 11 deletions(-)

Applied, thanks.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
You could end up being oddly sad and full of a strange, diffuse  com-
passion  which would lead you to believe that it might be a good idea
to wipe out the whole human race and start again with amoebas.
 - Terry Pratchett, _Guards! Guards!_
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2] zlib/gunzip: Use WATCHDOG_RESET macro

2010-09-13 Thread Detlev Zundel
Hi Stefan,

 As usually done in U-Boot, the watchdog_reset code is called via a
 macro (WATCHDOG_RESET). In zlib.c this was done differently, by using
 a function pointer which is initialized with WATCHDOG_RESET upon watchdog
 usage or with NULL otherwise. This patch now uses the plain
 WATCHDOG_RESET macros to call the function resulting in slightly smaller
 U-Boot images and simpler code.

 U-Boot code size reduction:

 PowerPC board with watchdog support (lwmon5):
 - 80 bytes smaller image size

 PowerPC board without watchdog support (sequoia):
 - 112 bytes smaller image size

 Signed-off-by: Stefan Roese s...@denx.de
 Cc: Detlev Zundel d...@denx.de
 Cc: Wolfgang Denk w...@denx.de

Thanks, now even I can understand the code ;)

Acked-by: Detlev Zundel d...@denx.de

Cheers
  Detlev

-- 
A zen-buddhist walked into a pizza shop and
said, Make me one with everything.
--
DENX Software Engineering GmbH,  MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: d...@denx.de
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 1/2] zlib/gunzip: Use WATCHDOG_RESET macro

2010-09-08 Thread Stefan Roese
As usually done in U-Boot, the watchdog_reset code is called via a
macro (WATCHDOG_RESET). In zlib.c this was done differently, by using
a function pointer which is initialized with WATCHDOG_RESET upon watchdog
usage or with NULL otherwise. This patch now uses the plain
WATCHDOG_RESET macros to call the function resulting in slightly smaller
U-Boot images and simpler code.

U-Boot code size reduction:

PowerPC board with watchdog support (lwmon5):
- 80 bytes smaller image size

PowerPC board without watchdog support (sequoia):
- 112 bytes smaller image size

Signed-off-by: Stefan Roese s...@denx.de
Cc: Detlev Zundel d...@denx.de
Cc: Wolfgang Denk w...@denx.de
---
 lib/gunzip.c |5 -
 lib/zlib.c   |   10 --
 2 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/lib/gunzip.c b/lib/gunzip.c
index d2b7ad4..482a476 100644
--- a/lib/gunzip.c
+++ b/lib/gunzip.c
@@ -96,11 +96,6 @@ int zunzip(void *dst, int dstlen, unsigned char *src, 
unsigned long *lenp,
 
s.zalloc = zalloc;
s.zfree = zfree;
-#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
-   s.outcb = (cb_func)WATCHDOG_RESET;
-#else
-   s.outcb = Z_NULL;
-#endif /* CONFIG_HW_WATCHDOG */
 
r = inflateInit2(s, -MAX_WBITS);
if (r != Z_OK) {
diff --git a/lib/zlib.c b/lib/zlib.c
index 26e5af1..2b31dba 100644
--- a/lib/zlib.c
+++ b/lib/zlib.c
@@ -29,6 +29,7 @@
 #include common.h
 #include compiler.h
 #include asm/unaligned.h
+#include watchdog.h
 #include u-boot/zlib.h
 #undef OFF /* avoid conflicts */
 
@@ -1075,8 +1076,7 @@ z_streamp strm;
 state-hold = 0;
 state-bits = 0;
 state-lencode = state-distcode = state-next = state-codes;
-if (strm-outcb != Z_NULL)
-   (*strm-outcb)(Z_NULL, 0);
+WATCHDOG_RESET();
 Tracev((stderr, inflate: reset\n));
 return Z_OK;
 }
@@ -1776,8 +1776,7 @@ int flush;
 Tracev((stderr, inflate:   codes ok\n));
 state-mode = LEN;
 case LEN:
-if (strm-outcb != Z_NULL) /* for watchdog (U-Boot) */
-(*strm-outcb)(Z_NULL, 0);
+   WATCHDOG_RESET();
 if (have = 6  left = 258) {
 RESTORE();
 inflate_fast(strm, out);
@@ -1990,8 +1989,7 @@ z_streamp strm;
 return Z_STREAM_ERROR;
 state = (struct inflate_state FAR *)strm-state;
 if (state-window != Z_NULL) {
-   if (strm-outcb != Z_NULL)
-   (*strm-outcb)(Z_NULL, 0);
+   WATCHDOG_RESET();
ZFREE(strm, state-window);
 }
 ZFREE(strm, strm-state);
-- 
1.7.2.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot