Re: [PATCH 1/4] Cleaned hexadecimal dump
On Sat, Mar 07, 2015 at 12:56:32PM -0500, Adrian Remonda wrote: > +static void hexDump(const void *src, size_t length, size_t bLine, char > *prefix) > +{ Please call this hex_dump or something - that's more in line with the kernel coding style. Please also don't vUse aHungarian nNotation, it's also not the kernel coding style. signature.asc Description: Digital signature
Re: [PATCH 1/4] Cleaned hexadecimal dump
On Sat, Mar 7, 2015 at 6:56 PM, Adrian Remonda wrote: > diff --git a/Documentation/spi/spidev_test.c b/Documentation/spi/spidev_test.c > index 3a2f9d59edab..533050ced9f1 100644 > --- a/Documentation/spi/spidev_test.c > +++ b/Documentation/spi/spidev_test.c > @@ -15,6 +15,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -35,6 +36,33 @@ static uint8_t bits = 8; > static uint32_t speed = 50; > static uint16_t delay; > > +static void hexDump(const void *src, size_t length, size_t bLine, char > *prefix) > +{ > + int i = 0; > + char *address = (char *)src; If you use "const char *address", you don't need the cast. If you use "const unsigned char *address", one more cast below can be dropped. > + char *line = (char *)address; "const unsigned char *line", and drop the cast. > + unsigned char c; > + > + printf("%s | ", prefix); > + while (length-- > 0) { > + printf("%02X ", (unsigned char)*address++); > @@ -76,12 +104,7 @@ static void transfer(int fd) > if (ret < 1) > pabort("can't send spi message"); > > - for (ret = 0; ret < ARRAY_SIZE(tx); ret++) { > - if (!(ret % 6)) > - puts(""); > - printf("%.2X ", rx[ret]); > - } > - puts(""); > + hexDump(rx, ARRAY_SIZE(tx), 32, "RX"); I know rx and tx have the same size, but please switch to "ARRAY_SIZE(RX)" while at it. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/4] Cleaned hexadecimal dump
On Sun, 2015-03-08 at 12:53 +0200, Andy Shevchenko wrote: > On Sun, Mar 8, 2015 at 4:22 AM, Joe Perches wrote: > > On Sat, 2015-03-07 at 12:56 -0500, Adrian Remonda wrote: > > >> +static void hexDump(const void *src, size_t length, size_t bLine, char > >> *prefix) > > Is there something necessary that print_hex_dump can't do? > As far as I can see the tool is running in user space. OK, I skipped over that bit. Nevermind. > Do we have > possibility to use print_hex_dump() in user space? No. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/4] Cleaned hexadecimal dump
On Sun, Mar 8, 2015 at 4:22 AM, Joe Perches wrote: > On Sat, 2015-03-07 at 12:56 -0500, Adrian Remonda wrote: >> +static void hexDump(const void *src, size_t length, size_t bLine, char >> *prefix) >> +{ > > Is there something necessary that print_hex_dump can't do? As far as I can see the tool is running in user space. Do we have possibility to use print_hex_dump() in user space? -- With Best Regards, Andy Shevchenko -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/4] Cleaned hexadecimal dump
On Sat, 2015-03-07 at 12:56 -0500, Adrian Remonda wrote: > Signed-off-by: Adrian Remonda [] > diff --git a/Documentation/spi/spidev_test.c b/Documentation/spi/spidev_test.c [] > +static void hexDump(const void *src, size_t length, size_t bLine, char > *prefix) > +{ Is there something necessary that print_hex_dump can't do? > + int i = 0; > + char *address = (char *)src; > + char *line = (char *)address; > + unsigned char c; > + > + printf("%s | ", prefix); > + while (length-- > 0) { > + printf("%02X ", (unsigned char)*address++); > + if (!(++i % bLine) || (length == 0 && i % bLine)) { > + if (length == 0) { > + while (i++ % bLine) > + printf("__ "); > + } > + printf(" | "); /* right close */ > + while (line < address) { > + c = *line++; > + printf("%c", (c < 33 || c == 255) ? 0x2E : c); > + } > + printf("\n"); > + if (length > 0) > + printf("%s | ", prefix); > + } > + } > +} -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/