[ Sasha's backport helper bot ]
Hi,
Found matching upstream commit: c0f866de4ce447bca3191b9cefac60c4b36a7922
WARNING: Author mismatch between patch and found commit: Backport author: inv.git-commit@tdk.com Commit author: Jean-Baptiste Maneyroljean-baptiste.maneyrol@tdk.com
Status in newer kernel trees: 6.12.y | Not found 6.6.y | Not found 6.1.y | Not found 5.15.y | Not found
Note: The patch differs from the upstream commit: --- 1: c0f866de4ce4 ! 1: 5f7ac79ffe7e iio: imu: inv_icm42600: fix spi burst write not supported @@ Commit message Signed-off-by: Jean-Baptiste Maneyrol jean-baptiste.maneyrol@tdk.com Link: https://patch.msgid.link/20241112-inv-icm42600-fix-spi-burst-write-not-suppo... Signed-off-by: Jonathan Cameron Jonathan.Cameron@huawei.com + (cherry picked from commit c0f866de4ce447bca3191b9cefac60c4b36a7922)
## drivers/iio/imu/inv_icm42600/inv_icm42600.h ## -@@ drivers/iio/imu/inv_icm42600/inv_icm42600.h: struct inv_icm42600_sensor_state { +@@ drivers/iio/imu/inv_icm42600/inv_icm42600.h: struct inv_icm42600_state { typedef int (*inv_icm42600_bus_setup)(struct inv_icm42600_state *);
extern const struct regmap_config inv_icm42600_regmap_config; @@ drivers/iio/imu/inv_icm42600/inv_icm42600.h: struct inv_icm42600_sensor_state { ## drivers/iio/imu/inv_icm42600/inv_icm42600_core.c ## @@ drivers/iio/imu/inv_icm42600/inv_icm42600_core.c: const struct regmap_config inv_icm42600_regmap_config = { }; - EXPORT_SYMBOL_NS_GPL(inv_icm42600_regmap_config, "IIO_ICM42600"); + EXPORT_SYMBOL_GPL(inv_icm42600_regmap_config);
+/* define specific regmap for SPI not supporting burst write */ +const struct regmap_config inv_icm42600_spi_regmap_config = { @@ drivers/iio/imu/inv_icm42600/inv_icm42600_core.c: const struct regmap_config inv + .max_register = 0x4FFF, + .ranges = inv_icm42600_regmap_ranges, + .num_ranges = ARRAY_SIZE(inv_icm42600_regmap_ranges), -+ .volatile_table = inv_icm42600_regmap_volatile_accesses, -+ .rd_noinc_table = inv_icm42600_regmap_rd_noinc_accesses, -+ .cache_type = REGCACHE_RBTREE, + .use_single_write = true, +}; -+EXPORT_SYMBOL_NS_GPL(inv_icm42600_spi_regmap_config, "IIO_ICM42600"); ++EXPORT_SYMBOL_GPL(inv_icm42600_spi_regmap_config); + struct inv_icm42600_hw { uint8_t whoami; @@ drivers/iio/imu/inv_icm42600/inv_icm42600_core.c: const struct regmap_config inv ## drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c ## @@ drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c: static int inv_icm42600_probe(struct spi_device *spi) return -EINVAL; - chip = (uintptr_t)match; + chip = (enum inv_icm42600_chip)match;
- regmap = devm_regmap_init_spi(spi, &inv_icm42600_regmap_config); + /* use SPI specific regmap */ ---
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-5.15.y | Success | Success |