* [PATCH] spi: spidev_test: Added functionalities @ 2015-02-25 19:08 ` Adrian Remonda 0 siblings, 0 replies; 10+ messages in thread From: Adrian Remonda @ 2015-02-25 19:08 UTC (permalink / raw) Cc: Adrian Remonda, Mark Brown, Jonathan Corbet, open list:SPI SUBSYSTEM, open list:DOCUMENTATION, open list This is a patch that add functionalities to the spidev_test tool found in Documentation/spi/spidev_test.c. - Cleaned hexadecimal dump - Added verbose mode to see the transmitting sequence - Added input buffer from the terminal. Now it is possible to send string and hexadecimal data as an input parameter: Example that shows verbose mode and a sending sequence: root@microZed:~# ./a.out -D /dev/spidev32766.1 -p "\x23ab1" -v spi mode: 0x0 bits per word: 8 max speed: 500000 Hz (500 KHz) TX | 23 61 62 31 __ __ __ __ | #ab1 RX | FF FF FF FF __ __ __ __ | .... modified: Documentation/spi/spidev_test.c Signed-off-by: Adrian Remonda <adrianremonda-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> --- Documentation/spi/spidev_test.c | 118 +++++++++++++++++++++++++++++++++------- 1 file changed, 98 insertions(+), 20 deletions(-) diff --git a/Documentation/spi/spidev_test.c b/Documentation/spi/spidev_test.c index 3a2f9d59edab..7fe5ba4b9072 100644 --- a/Documentation/spi/spidev_test.c +++ b/Documentation/spi/spidev_test.c @@ -15,6 +15,7 @@ #include <unistd.h> #include <stdio.h> #include <stdlib.h> +#include <string.h> #include <getopt.h> #include <fcntl.h> #include <sys/ioctl.h> @@ -34,24 +35,55 @@ static uint32_t mode; static uint8_t bits = 8; static uint32_t speed = 500000; static uint16_t delay; +static int verbose; -static void transfer(int fd) +uint8_t default_tx[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x40, 0x00, 0x00, 0x00, 0x00, 0x95, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF0, 0x0D, +}; + +uint8_t default_rx[ARRAY_SIZE(default_tx)] = {0, }; +char *input_tx; + +static void hexDump(const void *src, size_t length, size_t bLine, char *prefix) +{ + 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); + } + } +} + +static void transfer(int fd, uint8_t const *tx, uint8_t const *rx, size_t len) { int ret; - uint8_t tx[] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x40, 0x00, 0x00, 0x00, 0x00, 0x95, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xDE, 0xAD, 0xBE, 0xEF, 0xBA, 0xAD, - 0xF0, 0x0D, - }; - uint8_t rx[ARRAY_SIZE(tx)] = {0, }; + struct spi_ioc_transfer tr = { .tx_buf = (unsigned long)tx, .rx_buf = (unsigned long)rx, - .len = ARRAY_SIZE(tx), + .len = len, .delay_usecs = delay, .speed_hz = speed, .bits_per_word = bits, @@ -76,27 +108,54 @@ 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]); + if (verbose) + hexDump(tx, len, 32, "TX"); + hexDump(rx, len, 32, "RX"); +} + +/* + * Unescape - process hexadecimal escape character + * converts shell input "\x23" -> 0x23 + */ +int unespcape(char *dst, char *src, size_t len) +{ + int ret = 0; + char *pSrc = src; + char *pDst = dst; + unsigned int ch; + + while (*pSrc) { + if (*pSrc == '\\' && *(pSrc+1) == 'x') { + sscanf(pSrc + 2, "%2x", &ch); + pSrc += 4; + *pDst++ = (unsigned char)ch; + } else { + *pDst++ = *pSrc++; + } + + + ret++; } - puts(""); + return ret; + } static void print_usage(const char *prog) { + printf("Usage: %s [-DsbdlHOLC3]\n", prog); puts(" -D --device device to use (default /dev/spidev1.1)\n" " -s --speed max speed (Hz)\n" " -d --delay delay (usec)\n" - " -b --bpw bits per word \n" + " -b --bpw bits per word\n" " -l --loop loopback\n" " -H --cpha clock phase\n" " -O --cpol clock polarity\n" " -L --lsb least significant bit first\n" " -C --cs-high chip select active high\n" " -3 --3wire SI/SO signals shared\n" + " -v --verbose Verbose (show tx buffer)\n" + " -p Send data (e.g. \"1234\\xde\\xad\")\n" " -N --no-cs no chip select\n" " -R --ready slave pulls low to pause\n" " -2 --dual dual transfer\n" @@ -120,13 +179,14 @@ static void parse_opts(int argc, char *argv[]) { "3wire", 0, 0, '3' }, { "no-cs", 0, 0, 'N' }, { "ready", 0, 0, 'R' }, + { "verbose", 0, 0, 'v' }, { "dual", 0, 0, '2' }, { "quad", 0, 0, '4' }, { NULL, 0, 0, 0 }, }; int c; - c = getopt_long(argc, argv, "D:s:d:b:lHOLC3NR24", lopts, NULL); + c = getopt_long(argc, argv, "D:s:d:b:lHOLC3NR24p:v", lopts, NULL); if (c == -1) break; @@ -168,6 +228,11 @@ static void parse_opts(int argc, char *argv[]) case 'R': mode |= SPI_READY; break; + case 'p': + input_tx = optarg; + break; + case 'v': + verbose = 1; case '2': mode |= SPI_TX_DUAL; break; @@ -191,6 +256,9 @@ int main(int argc, char *argv[]) { int ret = 0; int fd; + int size; + uint8_t *tx; + uint8_t *rx; parse_opts(argc, argv); @@ -235,7 +303,17 @@ int main(int argc, char *argv[]) printf("bits per word: %d\n", bits); printf("max speed: %d Hz (%d KHz)\n", speed, speed/1000); - transfer(fd); + if (input_tx) { + size = strlen(input_tx+1); + tx = (uint8_t *)malloc(size); + rx = (uint8_t *)malloc(size); + size = unespcape((char *)tx, input_tx, size); + transfer(fd, tx, rx, size); + free(rx); + free(tx); + } else { + transfer(fd, default_tx, default_rx, sizeof(default_tx)); + } close(fd); -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH] spi: spidev_test: Added functionalities @ 2015-02-25 19:08 ` Adrian Remonda 0 siblings, 0 replies; 10+ messages in thread From: Adrian Remonda @ 2015-02-25 19:08 UTC (permalink / raw) Cc: Adrian Remonda, Mark Brown, Jonathan Corbet, open list:SPI SUBSYSTEM, open list:DOCUMENTATION, open list This is a patch that add functionalities to the spidev_test tool found in Documentation/spi/spidev_test.c. - Cleaned hexadecimal dump - Added verbose mode to see the transmitting sequence - Added input buffer from the terminal. Now it is possible to send string and hexadecimal data as an input parameter: Example that shows verbose mode and a sending sequence: root@microZed:~# ./a.out -D /dev/spidev32766.1 -p "\x23ab1" -v spi mode: 0x0 bits per word: 8 max speed: 500000 Hz (500 KHz) TX | 23 61 62 31 __ __ __ __ | #ab1 RX | FF FF FF FF __ __ __ __ | .... modified: Documentation/spi/spidev_test.c Signed-off-by: Adrian Remonda <adrianremonda@gmail.com> --- Documentation/spi/spidev_test.c | 118 +++++++++++++++++++++++++++++++++------- 1 file changed, 98 insertions(+), 20 deletions(-) diff --git a/Documentation/spi/spidev_test.c b/Documentation/spi/spidev_test.c index 3a2f9d59edab..7fe5ba4b9072 100644 --- a/Documentation/spi/spidev_test.c +++ b/Documentation/spi/spidev_test.c @@ -15,6 +15,7 @@ #include <unistd.h> #include <stdio.h> #include <stdlib.h> +#include <string.h> #include <getopt.h> #include <fcntl.h> #include <sys/ioctl.h> @@ -34,24 +35,55 @@ static uint32_t mode; static uint8_t bits = 8; static uint32_t speed = 500000; static uint16_t delay; +static int verbose; -static void transfer(int fd) +uint8_t default_tx[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x40, 0x00, 0x00, 0x00, 0x00, 0x95, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF0, 0x0D, +}; + +uint8_t default_rx[ARRAY_SIZE(default_tx)] = {0, }; +char *input_tx; + +static void hexDump(const void *src, size_t length, size_t bLine, char *prefix) +{ + 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); + } + } +} + +static void transfer(int fd, uint8_t const *tx, uint8_t const *rx, size_t len) { int ret; - uint8_t tx[] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x40, 0x00, 0x00, 0x00, 0x00, 0x95, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xDE, 0xAD, 0xBE, 0xEF, 0xBA, 0xAD, - 0xF0, 0x0D, - }; - uint8_t rx[ARRAY_SIZE(tx)] = {0, }; + struct spi_ioc_transfer tr = { .tx_buf = (unsigned long)tx, .rx_buf = (unsigned long)rx, - .len = ARRAY_SIZE(tx), + .len = len, .delay_usecs = delay, .speed_hz = speed, .bits_per_word = bits, @@ -76,27 +108,54 @@ 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]); + if (verbose) + hexDump(tx, len, 32, "TX"); + hexDump(rx, len, 32, "RX"); +} + +/* + * Unescape - process hexadecimal escape character + * converts shell input "\x23" -> 0x23 + */ +int unespcape(char *dst, char *src, size_t len) +{ + int ret = 0; + char *pSrc = src; + char *pDst = dst; + unsigned int ch; + + while (*pSrc) { + if (*pSrc == '\\' && *(pSrc+1) == 'x') { + sscanf(pSrc + 2, "%2x", &ch); + pSrc += 4; + *pDst++ = (unsigned char)ch; + } else { + *pDst++ = *pSrc++; + } + + + ret++; } - puts(""); + return ret; + } static void print_usage(const char *prog) { + printf("Usage: %s [-DsbdlHOLC3]\n", prog); puts(" -D --device device to use (default /dev/spidev1.1)\n" " -s --speed max speed (Hz)\n" " -d --delay delay (usec)\n" - " -b --bpw bits per word \n" + " -b --bpw bits per word\n" " -l --loop loopback\n" " -H --cpha clock phase\n" " -O --cpol clock polarity\n" " -L --lsb least significant bit first\n" " -C --cs-high chip select active high\n" " -3 --3wire SI/SO signals shared\n" + " -v --verbose Verbose (show tx buffer)\n" + " -p Send data (e.g. \"1234\\xde\\xad\")\n" " -N --no-cs no chip select\n" " -R --ready slave pulls low to pause\n" " -2 --dual dual transfer\n" @@ -120,13 +179,14 @@ static void parse_opts(int argc, char *argv[]) { "3wire", 0, 0, '3' }, { "no-cs", 0, 0, 'N' }, { "ready", 0, 0, 'R' }, + { "verbose", 0, 0, 'v' }, { "dual", 0, 0, '2' }, { "quad", 0, 0, '4' }, { NULL, 0, 0, 0 }, }; int c; - c = getopt_long(argc, argv, "D:s:d:b:lHOLC3NR24", lopts, NULL); + c = getopt_long(argc, argv, "D:s:d:b:lHOLC3NR24p:v", lopts, NULL); if (c == -1) break; @@ -168,6 +228,11 @@ static void parse_opts(int argc, char *argv[]) case 'R': mode |= SPI_READY; break; + case 'p': + input_tx = optarg; + break; + case 'v': + verbose = 1; case '2': mode |= SPI_TX_DUAL; break; @@ -191,6 +256,9 @@ int main(int argc, char *argv[]) { int ret = 0; int fd; + int size; + uint8_t *tx; + uint8_t *rx; parse_opts(argc, argv); @@ -235,7 +303,17 @@ int main(int argc, char *argv[]) printf("bits per word: %d\n", bits); printf("max speed: %d Hz (%d KHz)\n", speed, speed/1000); - transfer(fd); + if (input_tx) { + size = strlen(input_tx+1); + tx = (uint8_t *)malloc(size); + rx = (uint8_t *)malloc(size); + size = unespcape((char *)tx, input_tx, size); + transfer(fd, tx, rx, size); + free(rx); + free(tx); + } else { + transfer(fd, default_tx, default_rx, sizeof(default_tx)); + } close(fd); -- 2.1.4 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] spi: spidev_test: Added functionalities 2015-02-25 19:08 ` Adrian Remonda (?) @ 2015-02-26 2:01 ` Mark Brown -1 siblings, 0 replies; 10+ messages in thread From: Mark Brown @ 2015-02-26 2:01 UTC (permalink / raw) To: Adrian Remonda Cc: Jonathan Corbet, open list:SPI SUBSYSTEM, open list:DOCUMENTATION, open list [-- Attachment #1: Type: text/plain, Size: 640 bytes --] On Wed, Feb 25, 2015 at 08:08:44PM +0100, Adrian Remonda wrote: > This is a patch that add functionalities to the spidev_test tool found > in Documentation/spi/spidev_test.c. > - Cleaned hexadecimal dump > - Added verbose mode to see the transmitting sequence > - Added input buffer from the terminal. Now it is possible to send > string and hexadecimal data as an input parameter: Since this is doing several different things then it should be a series of patches rather than a single patch - please see SubmittingPatches for advice on how to prepare patches for submission. It is hard to review changes which do more than one thing. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 473 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] spi: spidev_test: Added functionalities 2015-02-25 19:08 ` Adrian Remonda (?) (?) @ 2015-02-27 22:11 ` Jonathan Corbet 2015-02-28 7:27 ` Mark Brown 2015-03-01 18:28 ` AdrianRemonda -1 siblings, 2 replies; 10+ messages in thread From: Jonathan Corbet @ 2015-02-27 22:11 UTC (permalink / raw) To: Adrian Remonda Cc: Mark Brown, open list:SPI SUBSYSTEM, open list:DOCUMENTATION, open list On Wed, 25 Feb 2015 20:08:44 +0100 Adrian Remonda <adrianremonda@gmail.com> wrote: > This is a patch that add functionalities to the spidev_test tool found > in Documentation/spi/spidev_test.c. This seems good. But our hope is to move useful code out of Documentation; care to submit a patch putting it properly somewhere under tools/? (Meanwhile, I've applied this one). Thanks, jon ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] spi: spidev_test: Added functionalities 2015-02-27 22:11 ` Jonathan Corbet @ 2015-02-28 7:27 ` Mark Brown [not found] ` <20150228072742.GM6236-bheZrs9scGb3/WHNxyQH9YN0K6Il/+VY@public.gmane.org> 2015-03-01 18:28 ` AdrianRemonda 1 sibling, 1 reply; 10+ messages in thread From: Mark Brown @ 2015-02-28 7:27 UTC (permalink / raw) To: Jonathan Corbet Cc: Adrian Remonda, open list:SPI SUBSYSTEM, open list:DOCUMENTATION, open list [-- Attachment #1: Type: text/plain, Size: 289 bytes --] On Fri, Feb 27, 2015 at 03:11:17PM -0700, Jonathan Corbet wrote: > (Meanwhile, I've applied this one). Sorry, I shoud've been clearer that my previous mail was intended as a nack for the patch as submitted - I'd expected SPI documentation/test code updates to be going via the SPI tree. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 473 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <20150228072742.GM6236-bheZrs9scGb3/WHNxyQH9YN0K6Il/+VY@public.gmane.org>]
* Re: [PATCH] spi: spidev_test: Added functionalities 2015-02-28 7:27 ` Mark Brown @ 2015-03-01 20:39 ` Jonathan Corbet 0 siblings, 0 replies; 10+ messages in thread From: Jonathan Corbet @ 2015-03-01 20:39 UTC (permalink / raw) To: Mark Brown Cc: Adrian Remonda, open list:SPI SUBSYSTEM, open list:DOCUMENTATION, open list On Sat, 28 Feb 2015 16:27:42 +0900 Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> wrote: > > (Meanwhile, I've applied this one). > > Sorry, I shoud've been clearer that my previous mail was intended as a > nack for the patch as submitted - I'd expected SPI documentation/test > code updates to be going via the SPI tree. I begin to understand why docs maintainers tend not to hang around for long :) I've dropped the commit. In the future I'll ignore patches to Documentation/spi. jon -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] spi: spidev_test: Added functionalities @ 2015-03-01 20:39 ` Jonathan Corbet 0 siblings, 0 replies; 10+ messages in thread From: Jonathan Corbet @ 2015-03-01 20:39 UTC (permalink / raw) To: Mark Brown Cc: Adrian Remonda, open list:SPI SUBSYSTEM, open list:DOCUMENTATION, open list On Sat, 28 Feb 2015 16:27:42 +0900 Mark Brown <broonie@kernel.org> wrote: > > (Meanwhile, I've applied this one). > > Sorry, I shoud've been clearer that my previous mail was intended as a > nack for the patch as submitted - I'd expected SPI documentation/test > code updates to be going via the SPI tree. I begin to understand why docs maintainers tend not to hang around for long :) I've dropped the commit. In the future I'll ignore patches to Documentation/spi. jon ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] spi: spidev_test: Added functionalities 2015-02-27 22:11 ` Jonathan Corbet 2015-02-28 7:27 ` Mark Brown @ 2015-03-01 18:28 ` AdrianRemonda 2015-03-04 23:54 ` Mark Brown 1 sibling, 1 reply; 10+ messages in thread From: AdrianRemonda @ 2015-03-01 18:28 UTC (permalink / raw) To: Jonathan Corbet Cc: Mark Brown, open list:SPI SUBSYSTEM, open list:DOCUMENTATION, open list On Fri, Feb 27, 2015 at 03:11:17PM -0700, Jonathan Corbet wrote: > On Wed, 25 Feb 2015 20:08:44 +0100 > Adrian Remonda <adrianremonda@gmail.com> wrote: > > > This is a patch that add functionalities to the spidev_test tool found > > in Documentation/spi/spidev_test.c. > > This seems good. But our hope is to move useful code out of > Documentation; care to submit a patch putting it properly somewhere under > tools/? > > (Meanwhile, I've applied this one). > > Thanks, > > jon I apologize for the wrong patch format. Should I contact the mantainer of the tool path and ask him where to add it? Or how should I proceed? Thanks, Adrian ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] spi: spidev_test: Added functionalities 2015-03-01 18:28 ` AdrianRemonda @ 2015-03-04 23:54 ` Mark Brown 2015-03-07 17:59 ` AdrianRemonda 0 siblings, 1 reply; 10+ messages in thread From: Mark Brown @ 2015-03-04 23:54 UTC (permalink / raw) To: AdrianRemonda Cc: Jonathan Corbet, open list:SPI SUBSYSTEM, open list:DOCUMENTATION, open list [-- Attachment #1: Type: text/plain, Size: 567 bytes --] On Sun, Mar 01, 2015 at 07:28:41PM +0100, AdrianRemonda wrote: > I apologize for the wrong patch format. > Should I contact the mantainer of the tool path and ask him where to add > it? Or how should I proceed? I am the relevant maintainer here. The main thing from my point of view is to split the three changes you were making out into separate commits so they can be easily reviewed. Jon is right that this should be moved into a better directory but that's a separate issue that can be tackled separately (though feel free to do it immediately if you like!). [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 473 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] spi: spidev_test: Added functionalities 2015-03-04 23:54 ` Mark Brown @ 2015-03-07 17:59 ` AdrianRemonda 0 siblings, 0 replies; 10+ messages in thread From: AdrianRemonda @ 2015-03-07 17:59 UTC (permalink / raw) To: Mark Brown Cc: Jonathan Corbet, open list:SPI SUBSYSTEM, open list:DOCUMENTATION, open list On Wed, Mar 04, 2015 at 11:54:39PM +0000, Mark Brown wrote: > On Sun, Mar 01, 2015 at 07:28:41PM +0100, AdrianRemonda wrote: > > > I apologize for the wrong patch format. > > Should I contact the mantainer of the tool path and ask him where to add > > it? Or how should I proceed? > > I am the relevant maintainer here. The main thing from my point of view > is to split the three changes you were making out into separate commits > so they can be easily reviewed. Jon is right that this should be moved > into a better directory but that's a separate issue that can be tackled > separately (though feel free to do it immediately if you like!). Thanks. I sent it to you and moved it to the tools dir. Regards, Adrian ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2015-03-07 17:59 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-25 19:08 [PATCH] spi: spidev_test: Added functionalities Adrian Remonda
2015-02-25 19:08 ` Adrian Remonda
2015-02-26 2:01 ` Mark Brown
2015-02-27 22:11 ` Jonathan Corbet
2015-02-28 7:27 ` Mark Brown
[not found] ` <20150228072742.GM6236-bheZrs9scGb3/WHNxyQH9YN0K6Il/+VY@public.gmane.org>
2015-03-01 20:39 ` Jonathan Corbet
2015-03-01 20:39 ` Jonathan Corbet
2015-03-01 18:28 ` AdrianRemonda
2015-03-04 23:54 ` Mark Brown
2015-03-07 17:59 ` AdrianRemonda
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.