Re: [PATCH v2] iio: accel: bmi088: Correctly compute the address of the struct spi_device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Le 02/04/2023 à 22:58, Christophe JAILLET a écrit :
bmi088_regmap_spi_write() is said to be similar to the SPI generic write
function.
However, regmap_spi_write() calls to_spi_device() in order to find the
reference to the "struct spi_device", instead of considering that 'context'
is already the correct value.

Just NACK.
The patch looks just plain wrong.

Sorry for the noise.

CJ



This works because "struct device	dev" is the first entry of
"struct spi_device".

Align bmi088_regmap_spi_write() and regmap_spi_write() to be more
future proof, should "struct spi_device" be shuffled one day.

Also update bmi088_regmap_spi_read() in the same way.

Fixes: c19ae6be7555 ("iio: accel: Add support for the Bosch-Sensortec BMI088")
Signed-off-by: Christophe JAILLET <christophe.jaillet-39ZsbGIQGT5GWvitb5QawA@xxxxxxxxxxxxxxxx>
---
v2: do the same for bmi088_regmap_spi_read()
---
  drivers/iio/accel/bmi088-accel-spi.c | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/iio/accel/bmi088-accel-spi.c b/drivers/iio/accel/bmi088-accel-spi.c
index ee540edd8412..79e4b5392312 100644
--- a/drivers/iio/accel/bmi088-accel-spi.c
+++ b/drivers/iio/accel/bmi088-accel-spi.c
@@ -15,7 +15,8 @@
static int bmi088_regmap_spi_write(void *context, const void *data, size_t count)
  {
-	struct spi_device *spi = context;
+	struct device *dev = context;
+	struct spi_device *spi = to_spi_device(dev);
/* Write register is same as generic SPI */
  	return spi_write(spi, data, count);
@@ -24,7 +25,8 @@ static int bmi088_regmap_spi_write(void *context, const void *data, size_t count
  static int bmi088_regmap_spi_read(void *context, const void *reg,
  				size_t reg_size, void *val, size_t val_size)
  {
-	struct spi_device *spi = context;
+	struct device *dev = context;
+	struct spi_device *spi = to_spi_device(dev);
  	u8 addr[2];
addr[0] = *(u8 *)reg;




[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux