Message ID | 20230207065826.285013-9-william.zhang@broadcom.com |
---|---|
State | Superseded |
Headers | show |
Series | spi: bcm63xx-hsspi: driver and doc updates | expand |
On Mon, Feb 06, 2023 at 10:58:19PM -0800, William Zhang wrote: > 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. This doesn't apply against current code, please check and resend.
Will send out v4. Thanks Mark for taking this series of the patches! On 02/09/2023 06:59 AM, Mark Brown wrote: > On Mon, Feb 06, 2023 at 10:58:19PM -0800, William Zhang wrote: >> 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. > > This doesn't apply against current code, please check and resend. >
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 3cc7bb4d03de..00a176804378 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -1484,6 +1484,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() * diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h index 9a32495fbb1f..19857ebb1d95 100644 --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h @@ -26,6 +26,7 @@ struct spi_controller; struct spi_transfer; struct spi_controller_mem_ops; struct spi_controller_mem_caps; +struct spi_message; /* * INTERFACES between SPI master-side drivers and SPI slave protocol handlers, @@ -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_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 @@ -263,8 +266,6 @@ static inline void *spi_get_drvdata(struct spi_device *spi) return dev_get_drvdata(&spi->dev); } -struct spi_message; - /** * struct spi_driver - Host side "protocol" driver * @id_table: List of SPI devices supported by this driver
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: William Zhang <william.zhang@broadcom.com> --- (no changes since v1) drivers/spi/spi.c | 7 +++++++ include/linux/spi/spi.h | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-)