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. I'm not sure which one is best. - Roland -- Roland Hieber | r.hieber@xxxxxxxxxxxxxx | Pengutronix e.K. | https://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim | Phone: +49-5121-206917-5086 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox