* FAILED: patch "[PATCH] iio: imu: inv_icm42600: fix spi burst write not supported" failed to apply to 5.15-stable tree
@ 2025-01-13 9:57 gregkh
2025-01-13 13:19 ` [PATCH 5.15.y] iio: imu: inv_icm42600: fix spi burst write not supported inv.git-commit
0 siblings, 1 reply; 5+ messages in thread
From: gregkh @ 2025-01-13 9:57 UTC (permalink / raw)
To: jean-baptiste.maneyrol, Jonathan.Cameron; +Cc: stable
The patch below does not apply to the 5.15-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable@vger.kernel.org>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.15.y
git checkout FETCH_HEAD
git cherry-pick -x c0f866de4ce447bca3191b9cefac60c4b36a7922
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<stable@vger.kernel.org>' --in-reply-to '2025011348-amaretto-wasabi-3e96@gregkh' --subject-prefix 'PATCH 5.15.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From c0f866de4ce447bca3191b9cefac60c4b36a7922 Mon Sep 17 00:00:00 2001
From: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
Date: Tue, 12 Nov 2024 10:30:10 +0100
Subject: [PATCH] iio: imu: inv_icm42600: fix spi burst write not supported
Burst write with SPI is not working for all icm42600 chips. It was
only used for setting user offsets with regmap_bulk_write.
Add specific SPI regmap config for using only single write with SPI.
Fixes: 9f9ff91b775b ("iio: imu: inv_icm42600: add SPI driver for inv_icm42600 driver")
Cc: stable@vger.kernel.org
Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
Link: https://patch.msgid.link/20241112-inv-icm42600-fix-spi-burst-write-not-supported-v2-1-97690dc03607@tdk.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600.h b/drivers/iio/imu/inv_icm42600/inv_icm42600.h
index 3a07e43e4cf1..18787a43477b 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600.h
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600.h
@@ -403,6 +403,7 @@ struct inv_icm42600_sensor_state {
typedef int (*inv_icm42600_bus_setup)(struct inv_icm42600_state *);
extern const struct regmap_config inv_icm42600_regmap_config;
+extern const struct regmap_config inv_icm42600_spi_regmap_config;
extern const struct dev_pm_ops inv_icm42600_pm_ops;
const struct iio_mount_matrix *
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
index 561d245c1d64..e43538e536f0 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
@@ -87,6 +87,21 @@ const struct regmap_config inv_icm42600_regmap_config = {
};
EXPORT_SYMBOL_NS_GPL(inv_icm42600_regmap_config, "IIO_ICM42600");
+/* define specific regmap for SPI not supporting burst write */
+const struct regmap_config inv_icm42600_spi_regmap_config = {
+ .name = "inv_icm42600",
+ .reg_bits = 8,
+ .val_bits = 8,
+ .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");
+
struct inv_icm42600_hw {
uint8_t whoami;
const char *name;
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c
index c55d8e672183..2bd2c4c8e50c 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c
@@ -59,7 +59,8 @@ static int inv_icm42600_probe(struct spi_device *spi)
return -EINVAL;
chip = (uintptr_t)match;
- regmap = devm_regmap_init_spi(spi, &inv_icm42600_regmap_config);
+ /* use SPI specific regmap */
+ regmap = devm_regmap_init_spi(spi, &inv_icm42600_spi_regmap_config);
if (IS_ERR(regmap))
return PTR_ERR(regmap);
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH 5.15.y] iio: imu: inv_icm42600: fix spi burst write not supported
2025-01-13 9:57 FAILED: patch "[PATCH] iio: imu: inv_icm42600: fix spi burst write not supported" failed to apply to 5.15-stable tree gregkh
@ 2025-01-13 13:19 ` inv.git-commit
2025-01-13 23:09 ` Sasha Levin
2025-01-20 15:12 ` Greg KH
0 siblings, 2 replies; 5+ messages in thread
From: inv.git-commit @ 2025-01-13 13:19 UTC (permalink / raw)
To: stable; +Cc: Jean-Baptiste Maneyrol, Jonathan Cameron
From: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
Burst write with SPI is not working for all icm42600 chips. It was
only used for setting user offsets with regmap_bulk_write.
Add specific SPI regmap config for using only single write with SPI.
Fixes: 9f9ff91b775b ("iio: imu: inv_icm42600: add SPI driver for inv_icm42600 driver")
Cc: stable@vger.kernel.org
Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
Link: https://patch.msgid.link/20241112-inv-icm42600-fix-spi-burst-write-not-supported-v2-1-97690dc03607@tdk.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
(cherry picked from commit c0f866de4ce447bca3191b9cefac60c4b36a7922)
---
drivers/iio/imu/inv_icm42600/inv_icm42600.h | 1 +
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c | 12 ++++++++++++
drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c | 3 ++-
3 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600.h b/drivers/iio/imu/inv_icm42600/inv_icm42600.h
index 995a9dc06521..f5df2e13b063 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600.h
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600.h
@@ -360,6 +360,7 @@ struct inv_icm42600_state {
typedef int (*inv_icm42600_bus_setup)(struct inv_icm42600_state *);
extern const struct regmap_config inv_icm42600_regmap_config;
+extern const struct regmap_config inv_icm42600_spi_regmap_config;
extern const struct dev_pm_ops inv_icm42600_pm_ops;
const struct iio_mount_matrix *
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
index ca85fccc9839..a562d7476955 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
@@ -43,6 +43,18 @@ const struct regmap_config inv_icm42600_regmap_config = {
};
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 = {
+ .name = "inv_icm42600",
+ .reg_bits = 8,
+ .val_bits = 8,
+ .max_register = 0x4FFF,
+ .ranges = inv_icm42600_regmap_ranges,
+ .num_ranges = ARRAY_SIZE(inv_icm42600_regmap_ranges),
+ .use_single_write = true,
+};
+EXPORT_SYMBOL_GPL(inv_icm42600_spi_regmap_config);
+
struct inv_icm42600_hw {
uint8_t whoami;
const char *name;
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c
index 323789697a08..193afb46725d 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c
@@ -59,7 +59,8 @@ static int inv_icm42600_probe(struct spi_device *spi)
return -EINVAL;
chip = (enum inv_icm42600_chip)match;
- regmap = devm_regmap_init_spi(spi, &inv_icm42600_regmap_config);
+ /* use SPI specific regmap */
+ regmap = devm_regmap_init_spi(spi, &inv_icm42600_spi_regmap_config);
if (IS_ERR(regmap))
return PTR_ERR(regmap);
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH 5.15.y] iio: imu: inv_icm42600: fix spi burst write not supported
2025-01-13 13:19 ` [PATCH 5.15.y] iio: imu: inv_icm42600: fix spi burst write not supported inv.git-commit
@ 2025-01-13 23:09 ` Sasha Levin
2025-01-20 15:12 ` Greg KH
1 sibling, 0 replies; 5+ messages in thread
From: Sasha Levin @ 2025-01-13 23:09 UTC (permalink / raw)
To: stable; +Cc: inv.git-commit, Sasha Levin
[ 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 Maneyrol<jean-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-supported-v2-1-97690dc03607@tdk.com
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 |
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH 5.15.y] iio: imu: inv_icm42600: fix spi burst write not supported
2025-01-13 13:19 ` [PATCH 5.15.y] iio: imu: inv_icm42600: fix spi burst write not supported inv.git-commit
2025-01-13 23:09 ` Sasha Levin
@ 2025-01-20 15:12 ` Greg KH
2025-01-21 10:56 ` Jean-Baptiste Maneyrol
1 sibling, 1 reply; 5+ messages in thread
From: Greg KH @ 2025-01-20 15:12 UTC (permalink / raw)
To: inv.git-commit; +Cc: stable, Jean-Baptiste Maneyrol, Jonathan Cameron
On Mon, Jan 13, 2025 at 01:19:18PM +0000, inv.git-commit@tdk.com wrote:
> From: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
>
> Burst write with SPI is not working for all icm42600 chips. It was
> only used for setting user offsets with regmap_bulk_write.
>
> Add specific SPI regmap config for using only single write with SPI.
>
> Fixes: 9f9ff91b775b ("iio: imu: inv_icm42600: add SPI driver for inv_icm42600 driver")
> Cc: stable@vger.kernel.org
> Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
> Link: https://patch.msgid.link/20241112-inv-icm42600-fix-spi-burst-write-not-supported-v2-1-97690dc03607@tdk.com
> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> (cherry picked from commit c0f866de4ce447bca3191b9cefac60c4b36a7922)
> ---
> drivers/iio/imu/inv_icm42600/inv_icm42600.h | 1 +
> drivers/iio/imu/inv_icm42600/inv_icm42600_core.c | 12 ++++++++++++
> drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c | 3 ++-
> 3 files changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600.h b/drivers/iio/imu/inv_icm42600/inv_icm42600.h
> index 995a9dc06521..f5df2e13b063 100644
> --- a/drivers/iio/imu/inv_icm42600/inv_icm42600.h
> +++ b/drivers/iio/imu/inv_icm42600/inv_icm42600.h
> @@ -360,6 +360,7 @@ struct inv_icm42600_state {
> typedef int (*inv_icm42600_bus_setup)(struct inv_icm42600_state *);
>
> extern const struct regmap_config inv_icm42600_regmap_config;
> +extern const struct regmap_config inv_icm42600_spi_regmap_config;
> extern const struct dev_pm_ops inv_icm42600_pm_ops;
>
> const struct iio_mount_matrix *
> diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
> index ca85fccc9839..a562d7476955 100644
> --- a/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
> +++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
> @@ -43,6 +43,18 @@ const struct regmap_config inv_icm42600_regmap_config = {
> };
> 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 = {
> + .name = "inv_icm42600",
Why does just this one have the .name field set?
I've taken the backports you did for the other branches here, if you
really need .name set please let me know.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH 5.15.y] iio: imu: inv_icm42600: fix spi burst write not supported
2025-01-20 15:12 ` Greg KH
@ 2025-01-21 10:56 ` Jean-Baptiste Maneyrol
0 siblings, 0 replies; 5+ messages in thread
From: Jean-Baptiste Maneyrol @ 2025-01-21 10:56 UTC (permalink / raw)
To: Greg KH, INV Git Commit; +Cc: stable@vger.kernel.org, Jonathan Cameron
Hello Greg,
this is an error of course, thanks a lot for having fixed it.
Thanks,
JB
________________________________________
From: Greg KH <gregkh@linuxfoundation.org>
Sent: Monday, January 20, 2025 16:12
To: INV Git Commit <INV.git-commit@tdk.com>
Cc: stable@vger.kernel.org <stable@vger.kernel.org>; Jean-Baptiste Maneyrol <Jean-Baptiste.Maneyrol@tdk.com>; Jonathan Cameron <Jonathan.Cameron@huawei.com>
Subject: Re: [PATCH 5.15.y] iio: imu: inv_icm42600: fix spi burst write not supported
This Message Is From an External Sender
This message came from outside your organization.
On Mon, Jan 13, 2025 at 01:19:18PM +0000, inv.git-commit@tdk.com wrote:
> From: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
>
> Burst write with SPI is not working for all icm42600 chips. It was
> only used for setting user offsets with regmap_bulk_write.
>
> Add specific SPI regmap config for using only single write with SPI.
>
> Fixes: 9f9ff91b775b ("iio: imu: inv_icm42600: add SPI driver for inv_icm42600 driver")
> Cc: stable@vger.kernel.org
> Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
> Link: https://urldefense.com/v3/__https://patch.msgid.link/20241112-inv-icm42600-fix-spi-burst-write-not-supported-v2-1-97690dc03607@tdk.com__;!!FtrhtPsWDhZ6tw!EaI5egbCz3SoE8NajVgwSO-Z_j3I5coqQ8HT8LjoBpJ2S6DhseAvoLjEq6sxy4FZuqblNw4YjzadiJ2llxZ8rhToxM_A08K9$[patch[.]msgid[.]link]
> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> (cherry picked from commit c0f866de4ce447bca3191b9cefac60c4b36a7922)
> ---
> drivers/iio/imu/inv_icm42600/inv_icm42600.h | 1 +
> drivers/iio/imu/inv_icm42600/inv_icm42600_core.c | 12 ++++++++++++
> drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c | 3 ++-
> 3 files changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600.h b/drivers/iio/imu/inv_icm42600/inv_icm42600.h
> index 995a9dc06521..f5df2e13b063 100644
> --- a/drivers/iio/imu/inv_icm42600/inv_icm42600.h
> +++ b/drivers/iio/imu/inv_icm42600/inv_icm42600.h
> @@ -360,6 +360,7 @@ struct inv_icm42600_state {
> typedef int (*inv_icm42600_bus_setup)(struct inv_icm42600_state *);
>
> extern const struct regmap_config inv_icm42600_regmap_config;
> +extern const struct regmap_config inv_icm42600_spi_regmap_config;
> extern const struct dev_pm_ops inv_icm42600_pm_ops;
>
> const struct iio_mount_matrix *
> diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
> index ca85fccc9839..a562d7476955 100644
> --- a/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
> +++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
> @@ -43,6 +43,18 @@ const struct regmap_config inv_icm42600_regmap_config = {
> };
> 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 = {
> + .name = "inv_icm42600",
Why does just this one have the .name field set?
I've taken the backports you did for the other branches here, if you
really need .name set please let me know.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-01-21 11:22 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-13 9:57 FAILED: patch "[PATCH] iio: imu: inv_icm42600: fix spi burst write not supported" failed to apply to 5.15-stable tree gregkh
2025-01-13 13:19 ` [PATCH 5.15.y] iio: imu: inv_icm42600: fix spi burst write not supported inv.git-commit
2025-01-13 23:09 ` Sasha Levin
2025-01-20 15:12 ` Greg KH
2025-01-21 10:56 ` Jean-Baptiste Maneyrol
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).