Commit 6e80133a authored by William Zhang's avatar William Zhang Committed by Mark Brown

spi: export spi_transfer_cs_change_delay_exec function

For SPI controller that implements transfer_one_message, it needs to
insert the delay that required by cs change event between the transfers.
Add a wrapper for the local function _spi_transfer_cs_change_delay_exec
and export it for SPI controller driver to use.
Signed-off-by: default avatarWilliam Zhang <william.zhang@broadcom.com>
Link: https://lore.kernel.org/r/20230209200246.141520-9-william.zhang@broadcom.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 2ea9b08a
...@@ -1483,6 +1483,13 @@ static void _spi_transfer_cs_change_delay(struct spi_message *msg, ...@@ -1483,6 +1483,13 @@ static void _spi_transfer_cs_change_delay(struct spi_message *msg,
} }
} }
void spi_transfer_cs_change_delay_exec(struct spi_message *msg,
struct spi_transfer *xfer)
{
_spi_transfer_cs_change_delay(msg, xfer);
}
EXPORT_SYMBOL_GPL(spi_transfer_cs_change_delay_exec);
/* /*
* spi_transfer_one_message - Default implementation of transfer_one_message() * spi_transfer_one_message - Default implementation of transfer_one_message()
* *
......
...@@ -26,6 +26,7 @@ struct spi_controller; ...@@ -26,6 +26,7 @@ struct spi_controller;
struct spi_transfer; struct spi_transfer;
struct spi_controller_mem_ops; struct spi_controller_mem_ops;
struct spi_controller_mem_caps; struct spi_controller_mem_caps;
struct spi_message;
/* /*
* INTERFACES between SPI master-side drivers and SPI slave protocol handlers, * INTERFACES between SPI master-side drivers and SPI slave protocol handlers,
...@@ -119,6 +120,8 @@ struct spi_delay { ...@@ -119,6 +120,8 @@ struct spi_delay {
extern int spi_delay_to_ns(struct spi_delay *_delay, struct spi_transfer *xfer); extern int spi_delay_to_ns(struct spi_delay *_delay, struct spi_transfer *xfer);
extern int spi_delay_exec(struct spi_delay *_delay, struct spi_transfer *xfer); extern int spi_delay_exec(struct spi_delay *_delay, struct spi_transfer *xfer);
extern void spi_transfer_cs_change_delay_exec(struct spi_message *msg,
struct spi_transfer *xfer);
/** /**
* struct spi_device - Controller side proxy for an SPI slave device * struct spi_device - Controller side proxy for an SPI slave device
...@@ -283,8 +286,6 @@ static inline void spi_set_csgpiod(struct spi_device *spi, u8 idx, struct gpio_d ...@@ -283,8 +286,6 @@ static inline void spi_set_csgpiod(struct spi_device *spi, u8 idx, struct gpio_d
spi->cs_gpiod = csgpiod; spi->cs_gpiod = csgpiod;
} }
struct spi_message;
/** /**
* struct spi_driver - Host side "protocol" driver * struct spi_driver - Host side "protocol" driver
* @id_table: List of SPI devices supported by this driver * @id_table: List of SPI devices supported by this driver
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment