* effect updates to digit and dots. Repeated code is nasty too, so
* we define it once here.
*/
-#define FLASH_SHOW_PROGRESS(scale, dots, digit) \
+#ifdef CONFIG_FLASH_SHOW_PROGRESS
+#define FLASH_SHOW_PROGRESS(scale, dots, digit, dots_sub) \
+ dots -= dots_sub; \
if ((scale > 0) && (dots <= 0)) { \
if ((digit % 5) == 0) \
printf ("%d", digit / 5); \
digit--; \
dots += scale; \
}
+#else
+#define FLASH_SHOW_PROGRESS(scale, dots, digit, dots_sub)
+#endif
/*-----------------------------------------------------------------------
* Copy memory to flash, returns:
return rc;
wp += i;
-#ifdef CONFIG_FLASH_SHOW_PROGRESS
- dots -= i;
- FLASH_SHOW_PROGRESS(scale, dots, digit);
-#endif
+ FLASH_SHOW_PROGRESS(scale, dots, digit, i);
}
/* handle the aligned part */
wp += i;
src += i;
cnt -= i;
-#ifdef CONFIG_FLASH_SHOW_PROGRESS
- dots -= i;
- FLASH_SHOW_PROGRESS(scale, dots, digit);
-#endif
+ FLASH_SHOW_PROGRESS(scale, dots, digit, i);
}
#else
while (cnt >= info->portwidth) {
return rc;
wp += info->portwidth;
cnt -= info->portwidth;
-#ifdef CONFIG_FLASH_SHOW_PROGRESS
- dots -= info->portwidth;
- FLASH_SHOW_PROGRESS(scale, dots, digit);
-#endif
+ FLASH_SHOW_PROGRESS(scale, dots, digit, info->portwidth);
}
#endif /* CFG_FLASH_USE_BUFFER_WRITE */