diff mbox series

iio: adc: ad7944: drop bits_per_word hack

Message ID 20250331-iio-adc-ad7944-drop-bits_per_word-hack-v1-1-2b952e033340@baylibre.com (mailing list archive)
State New
Headers show
Series iio: adc: ad7944: drop bits_per_word hack | expand

Commit Message

David Lechner March 31, 2025, 7:29 p.m. UTC
Remove setting bits_per_word in SPI xfers without data. The shortcoming
that this was working around was fixed in the SPI controller driver, so
it is no longer necessary. And we don't need this to be cargo-culted to
new drivers.

Signed-off-by: David Lechner <dlechner@baylibre.com>
---
 drivers/iio/adc/ad7944.c | 11 -----------
 1 file changed, 11 deletions(-)


---
base-commit: f8ffc92ae9052e6615896052f0c5b808bfc17520
change-id: 20250331-iio-adc-ad7944-drop-bits_per_word-hack-a71b2d51fa3f

Best regards,

Comments

Nuno Sá April 1, 2025, 9:11 a.m. UTC | #1
On Mon, 2025-03-31 at 14:29 -0500, David Lechner wrote:
> Remove setting bits_per_word in SPI xfers without data. The shortcoming
> that this was working around was fixed in the SPI controller driver, so
> it is no longer necessary. And we don't need this to be cargo-culted to
> new drivers.
> 
> Signed-off-by: David Lechner <dlechner@baylibre.com>
> ---

Reviewed-by: Nuno Sá <nuno.sa@analog.com>

>  drivers/iio/adc/ad7944.c | 11 -----------
>  1 file changed, 11 deletions(-)
> 
> diff --git a/drivers/iio/adc/ad7944.c b/drivers/iio/adc/ad7944.c
> index
> 2f949fe5587318957f2e423029294ced0a6f803d..70f313545af2393a625ae2ec3c2cff2e2915
> 3ffb 100644
> --- a/drivers/iio/adc/ad7944.c
> +++ b/drivers/iio/adc/ad7944.c
> @@ -189,11 +189,6 @@ static int ad7944_3wire_cs_mode_init_msg(struct device
> *dev, struct ad7944_adc *
>  						   : adc->timing_spec-
> >conv_ns;
>  	struct spi_transfer *xfers = adc->xfers;
>  
> -	/*
> -	 * NB: can get better performance from some SPI controllers if we use
> -	 * the same bits_per_word in every transfer.
> -	 */
> -	xfers[0].bits_per_word = chan->scan_type.realbits;
>  	/*
>  	 * CS is tied to CNV and we need a low to high transition to start
> the
>  	 * conversion, so place CNV low for t_QUIET to prepare for this.
> @@ -208,7 +203,6 @@ static int ad7944_3wire_cs_mode_init_msg(struct device
> *dev, struct ad7944_adc *
>  	xfers[1].cs_off = 1;
>  	xfers[1].delay.value = t_conv_ns;
>  	xfers[1].delay.unit = SPI_DELAY_UNIT_NSECS;
> -	xfers[1].bits_per_word = chan->scan_type.realbits;
>  
>  	/* Then we can read the data during the acquisition phase */
>  	xfers[2].rx_buf = &adc->sample.raw;
> @@ -227,11 +221,6 @@ static int ad7944_4wire_mode_init_msg(struct device *dev,
> struct ad7944_adc *adc
>  						   : adc->timing_spec-
> >conv_ns;
>  	struct spi_transfer *xfers = adc->xfers;
>  
> -	/*
> -	 * NB: can get better performance from some SPI controllers if we use
> -	 * the same bits_per_word in every transfer.
> -	 */
> -	xfers[0].bits_per_word = chan->scan_type.realbits;
>  	/*
>  	 * CS has to be high for full conversion time to avoid triggering the
>  	 * busy indication.
> 
> ---
> base-commit: f8ffc92ae9052e6615896052f0c5b808bfc17520
> change-id: 20250331-iio-adc-ad7944-drop-bits_per_word-hack-a71b2d51fa3f
> 
> Best regards,
diff mbox series

Patch

diff --git a/drivers/iio/adc/ad7944.c b/drivers/iio/adc/ad7944.c
index 2f949fe5587318957f2e423029294ced0a6f803d..70f313545af2393a625ae2ec3c2cff2e29153ffb 100644
--- a/drivers/iio/adc/ad7944.c
+++ b/drivers/iio/adc/ad7944.c
@@ -189,11 +189,6 @@  static int ad7944_3wire_cs_mode_init_msg(struct device *dev, struct ad7944_adc *
 						   : adc->timing_spec->conv_ns;
 	struct spi_transfer *xfers = adc->xfers;
 
-	/*
-	 * NB: can get better performance from some SPI controllers if we use
-	 * the same bits_per_word in every transfer.
-	 */
-	xfers[0].bits_per_word = chan->scan_type.realbits;
 	/*
 	 * CS is tied to CNV and we need a low to high transition to start the
 	 * conversion, so place CNV low for t_QUIET to prepare for this.
@@ -208,7 +203,6 @@  static int ad7944_3wire_cs_mode_init_msg(struct device *dev, struct ad7944_adc *
 	xfers[1].cs_off = 1;
 	xfers[1].delay.value = t_conv_ns;
 	xfers[1].delay.unit = SPI_DELAY_UNIT_NSECS;
-	xfers[1].bits_per_word = chan->scan_type.realbits;
 
 	/* Then we can read the data during the acquisition phase */
 	xfers[2].rx_buf = &adc->sample.raw;
@@ -227,11 +221,6 @@  static int ad7944_4wire_mode_init_msg(struct device *dev, struct ad7944_adc *adc
 						   : adc->timing_spec->conv_ns;
 	struct spi_transfer *xfers = adc->xfers;
 
-	/*
-	 * NB: can get better performance from some SPI controllers if we use
-	 * the same bits_per_word in every transfer.
-	 */
-	xfers[0].bits_per_word = chan->scan_type.realbits;
 	/*
 	 * CS has to be high for full conversion time to avoid triggering the
 	 * busy indication.