On Wed, Oct 19, 2022 at 02:38:15PM +0200, Ahmad Fatoum wrote: > puthex_ll prints a single zero-padded unsigned long, which for a single > byte is not very readable, especially on 64-bit systems. Define > puthexc_ll() as well, which just accepts a byte and formats its nibbles > as hexadecimal characters. > > Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> > --- > include/debug_ll.h | 16 ++++++++++++++-- > 1 file changed, 14 insertions(+), 2 deletions(-) Applied, thanks Sascha > > diff --git a/include/debug_ll.h b/include/debug_ll.h > index 735033b314cc..856a157bf52c 100644 > --- a/include/debug_ll.h > +++ b/include/debug_ll.h > @@ -33,17 +33,25 @@ static inline void putc_ll(char value) > PUTC_LL(value); > } > > -static inline void puthex_ll(unsigned long value) > +static inline void puthexc_ll(unsigned char value) > { > int i; unsigned char ch; > > - for (i = sizeof(unsigned long) * 2; i--; ) { > + for (i = 2; i--; ) { > ch = ((value >> (i * 4)) & 0xf); > ch += (ch >= 10) ? 'a' - 10 : '0'; > putc_ll(ch); > } > } > > +static inline void puthex_ll(unsigned long value) > +{ > + int i; > + > + for (i = sizeof(unsigned long); i--; ) > + puthexc_ll(value >> (i * 8)); > +} > + > /* > * Be careful with puts_ll, it only works if the binary is running at the > * link address which often is not the case during early startup. If in doubt > @@ -66,6 +74,10 @@ static inline void putc_ll(char value) > { > } > > +static inline void puthexc_ll(unsigned char value) > +{ > +} > + > static inline void puthex_ll(unsigned long value) > { > } > -- > 2.30.2 > > > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |