From: Stefan Roese Date: Wed, 8 Sep 2010 13:34:58 +0000 (+0200) Subject: zlib/gunzip: Use WATCHDOG_RESET macro X-Git-Tag: v2010.12-rc1~129 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=f852628638654f2dfa5eee3ec6a307a17b138ba7;p=oweals%2Fu-boot.git zlib/gunzip: Use WATCHDOG_RESET macro 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 Cc: Detlev Zundel Cc: Wolfgang Denk Acked-by: Detlev Zundel --- diff --git a/lib/gunzip.c b/lib/gunzip.c index d2b7ad4779..482a4768a3 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 26e5af1d8e..2b31dbadb8 100644 --- a/lib/zlib.c +++ b/lib/zlib.c @@ -29,6 +29,7 @@ #include #include #include +#include #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);