[ Sasha's backport helper bot ] Hi, Found matching upstream commit: c0f866de4ce447bca3191b9cefac60c4b36a7922 WARNING: Author mismatch between patch and found commit: Backport author: inv.git-commit@xxxxxxx Commit author: Jean-Baptiste Maneyrol<jean-baptiste.maneyrol@xxxxxxx> 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@xxxxxxx> Link: https://patch.msgid.link/20241112-inv-icm42600-fix-spi-burst-write-not-supported-v2-1-97690dc03607@xxxxxxx Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> + (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 |