All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandru Ardelean <alexandru.ardelean@analog.com>
To: linux-spi@vger.kernel.org, linux-iio@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org,
	bcm-kernel-feedback-list@broadcom.com
Cc: jic23@kernel.org, broonie@kernel.org, f.fainelli@gmail.com,
	linus.walleij@linaro.org, orsonzhai@gmail.com,
	baolin.wang@linaro.org, zhang.lyra@gmail.com,
	Alexandru Ardelean <alexandru.ardelean@analog.com>
Subject: [RFC PATCH 11/15] spi: tegra114: use `spi_transfer_delay` helper
Date: Fri, 13 Sep 2019 14:45:46 +0300	[thread overview]
Message-ID: <20190913114550.956-12-alexandru.ardelean@analog.com> (raw)
In-Reply-To: <20190913114550.956-1-alexandru.ardelean@analog.com>

The tegra114 driver has a weird/separate `tegra_spi_transfer_delay()`
function that does 2 delays: one mdelay() and one udelay().

This was introduced via commit f4fade12d506e14867a2b0a5e2f7aaf227297d8b
("spi/tegra114: Correct support for cs_change").

There doesn't seem to be a mention in that commit message to suggest a
specific need/use-case for having the 2 delay calls.
For the most part, udelay() should be sufficient.

This change replaces it with the new `spi_transfer_delay()`, which should
do the same thing.

Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
---
 drivers/spi/spi-tegra114.c | 17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)

diff --git a/drivers/spi/spi-tegra114.c b/drivers/spi/spi-tegra114.c
index 39374c2edcf3..5ac2ceb234fc 100644
--- a/drivers/spi/spi-tegra114.c
+++ b/drivers/spi/spi-tegra114.c
@@ -984,17 +984,6 @@ static int tegra_spi_setup(struct spi_device *spi)
 	return 0;
 }
 
-static void tegra_spi_transfer_delay(int delay)
-{
-	if (!delay)
-		return;
-
-	if (delay >= 1000)
-		mdelay(delay / 1000);
-
-	udelay(delay % 1000);
-}
-
 static void tegra_spi_transfer_end(struct spi_device *spi)
 {
 	struct tegra_spi_data *tspi = spi_master_get_devdata(spi->master);
@@ -1098,7 +1087,7 @@ static int tegra_spi_transfer_one_message(struct spi_master *master,
 complete_xfer:
 		if (ret < 0 || skip) {
 			tegra_spi_transfer_end(spi);
-			tegra_spi_transfer_delay(xfer->delay_usecs);
+			spi_transfer_delay(xfer);
 			goto exit;
 		} else if (list_is_last(&xfer->transfer_list,
 					&msg->transfers)) {
@@ -1106,11 +1095,11 @@ static int tegra_spi_transfer_one_message(struct spi_master *master,
 				tspi->cs_control = spi;
 			else {
 				tegra_spi_transfer_end(spi);
-				tegra_spi_transfer_delay(xfer->delay_usecs);
+				spi_transfer_delay(xfer);
 			}
 		} else if (xfer->cs_change) {
 			tegra_spi_transfer_end(spi);
-			tegra_spi_transfer_delay(xfer->delay_usecs);
+			spi_transfer_delay(xfer);
 		}
 
 	}
-- 
2.20.1

WARNING: multiple messages have this Message-ID (diff)
From: Alexandru Ardelean <alexandru.ardelean@analog.com>
To: <linux-spi@vger.kernel.org>, <linux-iio@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-tegra@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<bcm-kernel-feedback-list@broadcom.com>
Cc: <jic23@kernel.org>, <broonie@kernel.org>, <f.fainelli@gmail.com>,
	<linus.walleij@linaro.org>, <orsonzhai@gmail.com>,
	<baolin.wang@linaro.org>, <zhang.lyra@gmail.com>,
	Alexandru Ardelean <alexandru.ardelean@analog.com>
Subject: [RFC PATCH 11/15] spi: tegra114: use `spi_transfer_delay` helper
Date: Fri, 13 Sep 2019 14:45:46 +0300	[thread overview]
Message-ID: <20190913114550.956-12-alexandru.ardelean@analog.com> (raw)
In-Reply-To: <20190913114550.956-1-alexandru.ardelean@analog.com>

The tegra114 driver has a weird/separate `tegra_spi_transfer_delay()`
function that does 2 delays: one mdelay() and one udelay().

This was introduced via commit f4fade12d506e14867a2b0a5e2f7aaf227297d8b
("spi/tegra114: Correct support for cs_change").

There doesn't seem to be a mention in that commit message to suggest a
specific need/use-case for having the 2 delay calls.
For the most part, udelay() should be sufficient.

This change replaces it with the new `spi_transfer_delay()`, which should
do the same thing.

Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
---
 drivers/spi/spi-tegra114.c | 17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)

diff --git a/drivers/spi/spi-tegra114.c b/drivers/spi/spi-tegra114.c
index 39374c2edcf3..5ac2ceb234fc 100644
--- a/drivers/spi/spi-tegra114.c
+++ b/drivers/spi/spi-tegra114.c
@@ -984,17 +984,6 @@ static int tegra_spi_setup(struct spi_device *spi)
 	return 0;
 }
 
-static void tegra_spi_transfer_delay(int delay)
-{
-	if (!delay)
-		return;
-
-	if (delay >= 1000)
-		mdelay(delay / 1000);
-
-	udelay(delay % 1000);
-}
-
 static void tegra_spi_transfer_end(struct spi_device *spi)
 {
 	struct tegra_spi_data *tspi = spi_master_get_devdata(spi->master);
@@ -1098,7 +1087,7 @@ static int tegra_spi_transfer_one_message(struct spi_master *master,
 complete_xfer:
 		if (ret < 0 || skip) {
 			tegra_spi_transfer_end(spi);
-			tegra_spi_transfer_delay(xfer->delay_usecs);
+			spi_transfer_delay(xfer);
 			goto exit;
 		} else if (list_is_last(&xfer->transfer_list,
 					&msg->transfers)) {
@@ -1106,11 +1095,11 @@ static int tegra_spi_transfer_one_message(struct spi_master *master,
 				tspi->cs_control = spi;
 			else {
 				tegra_spi_transfer_end(spi);
-				tegra_spi_transfer_delay(xfer->delay_usecs);
+				spi_transfer_delay(xfer);
 			}
 		} else if (xfer->cs_change) {
 			tegra_spi_transfer_end(spi);
-			tegra_spi_transfer_delay(xfer->delay_usecs);
+			spi_transfer_delay(xfer);
 		}
 
 	}
-- 
2.20.1


WARNING: multiple messages have this Message-ID (diff)
From: Alexandru Ardelean <alexandru.ardelean@analog.com>
To: <linux-spi@vger.kernel.org>, <linux-iio@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-tegra@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<bcm-kernel-feedback-list@broadcom.com>
Cc: f.fainelli@gmail.com, baolin.wang@linaro.org,
	zhang.lyra@gmail.com, linus.walleij@linaro.org,
	broonie@kernel.org, orsonzhai@gmail.com,
	Alexandru Ardelean <alexandru.ardelean@analog.com>,
	jic23@kernel.org
Subject: [RFC PATCH 11/15] spi: tegra114: use `spi_transfer_delay` helper
Date: Fri, 13 Sep 2019 14:45:46 +0300	[thread overview]
Message-ID: <20190913114550.956-12-alexandru.ardelean@analog.com> (raw)
In-Reply-To: <20190913114550.956-1-alexandru.ardelean@analog.com>

The tegra114 driver has a weird/separate `tegra_spi_transfer_delay()`
function that does 2 delays: one mdelay() and one udelay().

This was introduced via commit f4fade12d506e14867a2b0a5e2f7aaf227297d8b
("spi/tegra114: Correct support for cs_change").

There doesn't seem to be a mention in that commit message to suggest a
specific need/use-case for having the 2 delay calls.
For the most part, udelay() should be sufficient.

This change replaces it with the new `spi_transfer_delay()`, which should
do the same thing.

Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
---
 drivers/spi/spi-tegra114.c | 17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)

diff --git a/drivers/spi/spi-tegra114.c b/drivers/spi/spi-tegra114.c
index 39374c2edcf3..5ac2ceb234fc 100644
--- a/drivers/spi/spi-tegra114.c
+++ b/drivers/spi/spi-tegra114.c
@@ -984,17 +984,6 @@ static int tegra_spi_setup(struct spi_device *spi)
 	return 0;
 }
 
-static void tegra_spi_transfer_delay(int delay)
-{
-	if (!delay)
-		return;
-
-	if (delay >= 1000)
-		mdelay(delay / 1000);
-
-	udelay(delay % 1000);
-}
-
 static void tegra_spi_transfer_end(struct spi_device *spi)
 {
 	struct tegra_spi_data *tspi = spi_master_get_devdata(spi->master);
@@ -1098,7 +1087,7 @@ static int tegra_spi_transfer_one_message(struct spi_master *master,
 complete_xfer:
 		if (ret < 0 || skip) {
 			tegra_spi_transfer_end(spi);
-			tegra_spi_transfer_delay(xfer->delay_usecs);
+			spi_transfer_delay(xfer);
 			goto exit;
 		} else if (list_is_last(&xfer->transfer_list,
 					&msg->transfers)) {
@@ -1106,11 +1095,11 @@ static int tegra_spi_transfer_one_message(struct spi_master *master,
 				tspi->cs_control = spi;
 			else {
 				tegra_spi_transfer_end(spi);
-				tegra_spi_transfer_delay(xfer->delay_usecs);
+				spi_transfer_delay(xfer);
 			}
 		} else if (xfer->cs_change) {
 			tegra_spi_transfer_end(spi);
-			tegra_spi_transfer_delay(xfer->delay_usecs);
+			spi_transfer_delay(xfer);
 		}
 
 	}
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2019-09-13 11:45 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-13 11:45 [RFC PATCH 00/15] Unify SPI delays into an `struct spi_delay` Alexandru Ardelean
2019-09-13 11:45 ` Alexandru Ardelean
2019-09-13 11:45 ` Alexandru Ardelean
2019-09-13 11:45 ` [RFC PATCH 01/15] spi: move `cs_change_delay` backwards compat logic outside switch Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45 ` [RFC PATCH 02/15] spi: introduce spi_delay struct as "value + unit" & spi_delay_exec() Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45 ` [RFC PATCH 03/15] spi: make `cs_change_delay` the first user of the `spi_delay` logic Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-16 12:25   ` Mark Brown
2019-09-16 12:25     ` Mark Brown
2019-09-16 12:37     ` Ardelean, Alexandru
2019-09-16 12:37       ` Ardelean, Alexandru
2019-09-16 12:37       ` Ardelean, Alexandru
2019-09-16 12:47       ` Mark Brown
2019-09-16 12:47         ` Mark Brown
2019-09-16 12:47         ` Mark Brown
2019-09-16 13:04         ` Ardelean, Alexandru
2019-09-16 13:04           ` Ardelean, Alexandru
2019-09-16 13:04           ` Ardelean, Alexandru
2019-09-16 13:43           ` Mark Brown
2019-09-16 13:43             ` Mark Brown
2019-09-16 13:43             ` Mark Brown
2019-09-17  6:05             ` Ardelean, Alexandru
2019-09-17  6:05               ` Ardelean, Alexandru
2019-09-17  6:05               ` Ardelean, Alexandru
2019-09-13 11:45 ` [RFC PATCH 04/15] iio: imu: adis: convert cs_change_delay to spi_delay struct Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45 ` [RFC PATCH 05/15] spi: sprd: convert transfer word delay " Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45 ` [RFC PATCH 06/15] spi: orion: use new `word_delay` field for SPI transfers Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45 ` [RFC PATCH 07/15] spi: spidev: use new `word_delay` field for spi transfers Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45 ` [RFC PATCH 08/15] spi: core,atmel: convert `word_delay_usecs` -> `word_delay` for spi_device Alexandru Ardelean
2019-09-13 11:45   ` [RFC PATCH 08/15] spi: core, atmel: " Alexandru Ardelean
2019-09-13 11:45   ` [RFC PATCH 08/15] spi: core,atmel: " Alexandru Ardelean
2019-09-13 11:45 ` [RFC PATCH 09/15] spi: introduce `delay` field for `spi_transfer` + spi_transfer_exec() Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45 ` [RFC PATCH 10/15] spi: use new `spi_transfer_delay` helper where straightforward Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45 ` Alexandru Ardelean [this message]
2019-09-13 11:45   ` [RFC PATCH 11/15] spi: tegra114: use `spi_transfer_delay` helper Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45 ` [RFC PATCH 12/15] spi: spi-loopback-test: use new `delay` field Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45 ` [RFC PATCH 13/15] spi: spidev: use new `delay` field for spi transfers Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45 ` [RFC PATCH 14/15] spi: tegra114: change format for `spi_set_cs_timing()` function Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45 ` [RFC PATCH 15/15] spi: implement SW control for CS times Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-13 11:45   ` Alexandru Ardelean
2019-09-15 10:22 ` [RFC PATCH 00/15] Unify SPI delays into an `struct spi_delay` Jonathan Cameron
2019-09-15 10:22   ` Jonathan Cameron
2019-09-15 10:22   ` Jonathan Cameron

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=20190913114550.956-12-alexandru.ardelean@analog.com \
    --to=alexandru.ardelean@analog.com \
    --cc=baolin.wang@linaro.org \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=broonie@kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=jic23@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=orsonzhai@gmail.com \
    --cc=zhang.lyra@gmail.com \
    /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 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.