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
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to