mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jonas Rebmann <jre@pengutronix.de>
To: Mark Brown <broonie@kernel.org>
Cc: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org,
	 Marc Kleine-Budde <mkl@pengutronix.de>,
	kernel@pengutronix.de,  Jonas Rebmann <jre@pengutronix.de>
Subject: [PATCH v7 03/13] spi: spidev_test: make size argument mandatory for --size
Date: Thu, 24 Sep 2026 15:43:53 +0200	[thread overview]
Message-ID: <20260924-spi-sun4i-spidev_test-v7-3-126e31a07fdc@pengutronix.de> (raw)
In-Reply-To: <20260924-spi-sun4i-spidev_test-v7-0-126e31a07fdc@pengutronix.de>

When the argument to --size is omitted, abort with a message instead of
transmitting default_tx[].

Signed-off-by: Jonas Rebmann <jre@pengutronix.de>
---
 tools/spi/spidev_test.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/tools/spi/spidev_test.c b/tools/spi/spidev_test.c
index 0bd6ae419cbf..36292d868d69 100644
--- a/tools/spi/spidev_test.c
+++ b/tools/spi/spidev_test.c
@@ -41,9 +41,10 @@ static uint32_t speed = 500000;
 static uint16_t delay;
 static uint16_t word_delay;
 static int verbose;
-static int transfer_size;
+static int transfer_size = -1;
 static int iterations;
 static int interval = 5; /* interval in seconds for showing transfer rate */
+static int random_input;
 static int input_choices;
 
 static uint8_t default_tx[] = {
@@ -319,6 +320,7 @@ static void parse_opts(int argc, char *argv[])
 			break;
 		case 'S':
 			transfer_size = atoi(optarg);
+			random_input = 1;
 			input_choices++;
 			break;
 		case 'I':
@@ -454,6 +456,9 @@ int main(int argc, char *argv[])
 		pabort("at most one of -S (--size), -p, -i (--input) may be selected, "
 		       "and each may be specified only once");
 
+	if (random_input && transfer_size < 0)
+		pabort("a size argument is mandatory for -S (--size)");
+
 	fd = open(device, O_RDWR);
 	if (fd < 0)
 		pabort("can't open device");
@@ -509,7 +514,7 @@ int main(int argc, char *argv[])
 		transfer_escaped_string(fd, input_tx);
 	else if (input_file)
 		transfer_file(fd, input_file);
-	else if (transfer_size) {
+	else if (transfer_size >= 0) {
 		struct timespec last_stat;
 
 		clock_gettime(CLOCK_MONOTONIC, &last_stat);

-- 
2.56.0.rc0.108.gf0ef1b96a0


  parent reply	other threads:[~2026-09-24 13:44 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-24 13:43 [PATCH v7 00/13] spi: spidev_test: new features Jonas Rebmann
2026-09-24 13:43 ` [PATCH v7 01/13] spi: spidev_test: include tools/include Jonas Rebmann
2026-09-24 13:43 ` [PATCH v7 02/13] spi: spidev_test: clarify usage for --size Jonas Rebmann
2026-09-24 13:43 ` Jonas Rebmann [this message]
2026-09-24 13:43 ` [PATCH v7 04/13] spi: spidev_test: allow zero-length transfers Jonas Rebmann
2026-09-24 13:43 ` [PATCH v7 05/13] spi: spidev_test: abort when -I is selected without -S Jonas Rebmann
2026-09-24 13:43 ` [PATCH v7 06/13] spi: spidev_test: always compare loopback data Jonas Rebmann
2026-09-24 13:43 ` [PATCH v7 07/13] spi: spidev_test: add compare mode Jonas Rebmann
2026-09-24 13:43 ` [PATCH v7 08/13] spi: spidev_test: allow disabling rx or tx buffers Jonas Rebmann
2026-09-24 20:54   ` Mark Brown
2026-09-25  7:12     ` [PATCH] spi: spidev_test: don't mix up rx_rate and tx_rate Jonas Rebmann
2026-09-25 10:24       ` Mark Brown
2026-09-24 13:43 ` [PATCH v7 09/13] spi: spidev_test: don't send 0x0 or 0xff Jonas Rebmann
2026-09-24 13:44 ` [PATCH v7 10/13] spi: spidev_test: send predictable data Jonas Rebmann
2026-09-24 13:44 ` [PATCH v7 11/13] spi: spidev_test: add option to split message into multiple transfers Jonas Rebmann
2026-09-24 13:44 ` [PATCH v7 12/13] spi: spidev_test: print TX on error Jonas Rebmann
2026-09-24 13:44 ` [PATCH v7 13/13] spi: spidev_test: rewrite unescape() to stay in bounds Jonas Rebmann
2026-09-24 20:48 ` [PATCH v7 00/13] spi: spidev_test: new features Mark Brown
2026-09-24 21:00 ` Mark Brown
2026-09-25 10:51   ` Jonas Rebmann
2026-09-25 12:07     ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260924-spi-sun4i-spidev_test-v7-3-126e31a07fdc@pengutronix.de \
    --to=jre@pengutronix.de \
    --cc=broonie@kernel.org \
    --cc=kernel@pengutronix.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=mkl@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®