* [PATCH 0/1] spi: convert transfer delay to new spi_delay struct
@ 2025-06-27 12:28 Bo Sun
2025-06-27 12:28 ` [PATCH 1/1] " Bo Sun
0 siblings, 1 reply; 5+ messages in thread
From: Bo Sun @ 2025-06-27 12:28 UTC (permalink / raw)
To: barebox
This resolves the TODO comment in spi_transfer_one_message().
Only one driver (mc13xxx) was using the delay_usecs field, making this a
straightforward conversion with minimal impact.
Bo Sun (1):
spi: convert transfer delay to new spi_delay struct
drivers/mfd/mc13xxx.c | 5 ++++-
drivers/spi/spi.c | 4 +---
include/spi/spi.h | 8 ++++----
3 files changed, 9 insertions(+), 8 deletions(-)
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/1] spi: convert transfer delay to new spi_delay struct
2025-06-27 12:28 [PATCH 0/1] spi: convert transfer delay to new spi_delay struct Bo Sun
@ 2025-06-27 12:28 ` Bo Sun
2025-06-30 8:06 ` Sascha Hauer
2025-06-30 8:08 ` Sascha Hauer
0 siblings, 2 replies; 5+ messages in thread
From: Bo Sun @ 2025-06-27 12:28 UTC (permalink / raw)
To: barebox
Replace the deprecated delay_usecs field with the new spi_delay struct
in spi_transfer structure. Update spi_transfer_one_message to use
spi_delay_exec and the mc13xxx driver to use the new structure.
Signed-off-by: Bo Sun <bo@mboxify.com>
---
drivers/mfd/mc13xxx.c | 5 ++++-
drivers/spi/spi.c | 4 +---
include/spi/spi.h | 8 ++++----
3 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/drivers/mfd/mc13xxx.c b/drivers/mfd/mc13xxx.c
index 288bd407ff..393f163671 100644
--- a/drivers/mfd/mc13xxx.c
+++ b/drivers/mfd/mc13xxx.c
@@ -84,7 +84,10 @@ static int spi_rw(struct spi_device *spi, void * buf, size_t len)
.rx_buf = buf,
.len = len,
.cs_change = 0,
- .delay_usecs = 0,
+ .delay = {
+ .value = 0,
+ .unit = SPI_DELAY_UNIT_USECS,
+ },
};
struct spi_message m;
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index f8a01dd083..b64e206649 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -463,9 +463,7 @@ static int spi_transfer_one_message(struct spi_device *spi, struct spi_message *
if (msg->status != -EINPROGRESS)
goto out;
- /* TODO: Convert to new spi_delay API */
- if (xfer->delay_usecs)
- udelay(xfer->delay_usecs);
+ spi_delay_exec(&xfer->delay, NULL);
if (xfer->cs_change) {
if (list_is_last(&xfer->transfer_list,
diff --git a/include/spi/spi.h b/include/spi/spi.h
index 5b2d345705..00337446e6 100644
--- a/include/spi/spi.h
+++ b/include/spi/spi.h
@@ -413,9 +413,9 @@ static inline size_t spi_max_transfer_size(struct spi_device *spi)
* @bits_per_word: select a bits_per_word other then the device default
* for this transfer. If 0 the default (from @spi_device) is used.
* @cs_change: affects chipselect after this transfer completes
- * @delay_usecs: microseconds to delay after this transfer before
- * (optionally) changing the chipselect status, then starting
- * the next transfer or completing this @spi_message.
+ * @delay: delay to be introduced after this transfer before
+ * (optionally) changing the chipselect status, then starting
+ * the next transfer or completing this @spi_message.
* @transfer_list: transfers are sequenced through @spi_message.transfers
*
* SPI transfers always write the same number of bytes as they read.
@@ -476,7 +476,7 @@ struct spi_transfer {
unsigned cs_change:1;
u8 bits_per_word;
- u16 delay_usecs;
+ struct spi_delay delay;
u32 speed_hz;
u32 effective_speed_hz;
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] spi: convert transfer delay to new spi_delay struct
2025-06-27 12:28 ` [PATCH 1/1] " Bo Sun
@ 2025-06-30 8:06 ` Sascha Hauer
2025-06-30 8:08 ` Sascha Hauer
1 sibling, 0 replies; 5+ messages in thread
From: Sascha Hauer @ 2025-06-30 8:06 UTC (permalink / raw)
To: barebox, Bo Sun
On Fri, 27 Jun 2025 20:28:11 +0800, Bo Sun wrote:
> Replace the deprecated delay_usecs field with the new spi_delay struct
> in spi_transfer structure. Update spi_transfer_one_message to use
> spi_delay_exec and the mc13xxx driver to use the new structure.
>
>
Applied, thanks!
[1/1] spi: convert transfer delay to new spi_delay struct
https://git.pengutronix.de/cgit/barebox/commit/?id=b66fab5c7425 (link may not be stable)
Best regards,
--
Sascha Hauer <s.hauer@pengutronix.de>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] spi: convert transfer delay to new spi_delay struct
2025-06-27 12:28 ` [PATCH 1/1] " Bo Sun
2025-06-30 8:06 ` Sascha Hauer
@ 2025-06-30 8:08 ` Sascha Hauer
2025-06-30 8:38 ` bo
1 sibling, 1 reply; 5+ messages in thread
From: Sascha Hauer @ 2025-06-30 8:08 UTC (permalink / raw)
To: Bo Sun; +Cc: barebox
Hi,
On Fri, Jun 27, 2025 at 08:28:11PM +0800, Bo Sun wrote:
> Replace the deprecated delay_usecs field with the new spi_delay struct
> in spi_transfer structure. Update spi_transfer_one_message to use
> spi_delay_exec and the mc13xxx driver to use the new structure.
>
> Signed-off-by: Bo Sun <bo@mboxify.com>
> ---
> drivers/mfd/mc13xxx.c | 5 ++++-
> drivers/spi/spi.c | 4 +---
> include/spi/spi.h | 8 ++++----
> 3 files changed, 9 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/mfd/mc13xxx.c b/drivers/mfd/mc13xxx.c
> index 288bd407ff..393f163671 100644
> --- a/drivers/mfd/mc13xxx.c
> +++ b/drivers/mfd/mc13xxx.c
> @@ -84,7 +84,10 @@ static int spi_rw(struct spi_device *spi, void * buf, size_t len)
> .rx_buf = buf,
> .len = len,
> .cs_change = 0,
> - .delay_usecs = 0,
It's initialized to 0, so
if (xfer->delay_usecs)
udelay(xfer->delay_usecs);
will do just nothing.
> + .delay = {
> + .value = 0,
> + .unit = SPI_DELAY_UNIT_USECS,
> + },
I just dropped this and adjusted the commit message accordingly.
Sascha
--
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 |
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] spi: convert transfer delay to new spi_delay struct
2025-06-30 8:08 ` Sascha Hauer
@ 2025-06-30 8:38 ` bo
0 siblings, 0 replies; 5+ messages in thread
From: bo @ 2025-06-30 8:38 UTC (permalink / raw)
To: Sascha Hauer; +Cc: barebox
On 2025-06-30 16:08, Sascha Hauer wrote:
> Hi,
>
> On Fri, Jun 27, 2025 at 08:28:11PM +0800, Bo Sun wrote:
>> Replace the deprecated delay_usecs field with the new spi_delay struct
>> in spi_transfer structure. Update spi_transfer_one_message to use
>> spi_delay_exec and the mc13xxx driver to use the new structure.
>>
>> Signed-off-by: Bo Sun <bo@mboxify.com>
>> ---
>> drivers/mfd/mc13xxx.c | 5 ++++-
>> drivers/spi/spi.c | 4 +---
>> include/spi/spi.h | 8 ++++----
>> 3 files changed, 9 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/mfd/mc13xxx.c b/drivers/mfd/mc13xxx.c
>> index 288bd407ff..393f163671 100644
>> --- a/drivers/mfd/mc13xxx.c
>> +++ b/drivers/mfd/mc13xxx.c
>> @@ -84,7 +84,10 @@ static int spi_rw(struct spi_device *spi, void *
>> buf, size_t len)
>> .rx_buf = buf,
>> .len = len,
>> .cs_change = 0,
>> - .delay_usecs = 0,
>
> It's initialized to 0, so
>
> if (xfer->delay_usecs)
> udelay(xfer->delay_usecs);
>
> will do just nothing.
>
>> + .delay = {
>> + .value = 0,
>> + .unit = SPI_DELAY_UNIT_USECS,
>> + },
>
> I just dropped this and adjusted the commit message accordingly.
Thanks, and sorry for the oversight.
Bo
>
> Sascha
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-06-30 8:46 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-06-27 12:28 [PATCH 0/1] spi: convert transfer delay to new spi_delay struct Bo Sun
2025-06-27 12:28 ` [PATCH 1/1] " Bo Sun
2025-06-30 8:06 ` Sascha Hauer
2025-06-30 8:08 ` Sascha Hauer
2025-06-30 8:38 ` bo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox