On Thu, Nov 29, 2018 at 03:11:00PM +0100, Roland Hieber wrote: > On Mon, Nov 26, 2018 at 11:53:47AM +0100, Roland Hieber wrote: > > > > + pr_vdebug("Result\n"); > > > > + for (i = 0; i < RESULT_SIZE; i++) { > > > > + pr_vdebug("%02X\n", result[i]); > > > > + } > > > > + > > > > + pr_vdebug("Expected Result:\n"); > > > > + for (i = 0; i < RESULT_SIZE; i++) { > > > > + pr_vdebug("%02X\n", exp_result[i]); > > > > + } > > > > > > Use memory_display to display this. Also this is only interesting if > > > both differ, so better print it in the failure path. > > > > I thought about that too, but I didn't see a way to make memory_display > > use pr_vdebug, or otherwise make its output depend on the debug level. > > I have several solutions in mind: one would be to introduce a function > log_level() to get the current log level and decide on that whether to > call memory_display. However then memory dump won't pick up the pr_* > prefixes and use plain printf nevertheless. So my second thought is to > add a callback function to memory_display to pass pr_debug or else to it > which it can use to print stuff. However then we need to remodel > memory_display so it always prints full lines (or uses pr_cont which it > would need to know about, and you wanted to get rid of pr_cont anyway). > We could also use a third way and implement a custom printf escape, say > %md, that gets replaced with memory_display output when calling > pr_printk, and move the core formatting of memory_display into a helper. Just posted another possibility. See if it fits your needs. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox