Message ID | 2025052225-scallion-ritzy-dbbd@gregkh |
---|---|
State | Accepted |
Commit | 2712a7d362904d0c4283ae91fac8cea6ecd6f9c2 |
Headers | show |
Series | spi: gpio: fix const issue in spi_to_spi_gpio() | expand |
On Thu, 22 May 2025 12:57:26 +0200, Greg Kroah-Hartman wrote: > While the struct spi_device * passed into spi_to_spi_gpio() is a const > one, the struct spi_bitbang * that is retrieved from the controller > field in the spi_device is NOT a const pointer, as it is coming from the > spi_controller_get_devdata() call, and then passed to container_of() > which would strip off the const attribute for no good reason (i.e. if a > const pointer is passed to container_of() it still is const coming out). > > [...] Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next Thanks! [1/1] spi: gpio: fix const issue in spi_to_spi_gpio() commit: 2712a7d362904d0c4283ae91fac8cea6ecd6f9c2 All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark
diff --git a/drivers/spi/spi-gpio.c b/drivers/spi/spi-gpio.c index 405deb6677c1..ea5f1b10b79e 100644 --- a/drivers/spi/spi-gpio.c +++ b/drivers/spi/spi-gpio.c @@ -46,7 +46,7 @@ struct spi_gpio { static inline struct spi_gpio *__pure spi_to_spi_gpio(const struct spi_device *spi) { - const struct spi_bitbang *bang; + struct spi_bitbang *bang; struct spi_gpio *spi_gpio; bang = spi_controller_get_devdata(spi->controller);
While the struct spi_device * passed into spi_to_spi_gpio() is a const one, the struct spi_bitbang * that is retrieved from the controller field in the spi_device is NOT a const pointer, as it is coming from the spi_controller_get_devdata() call, and then passed to container_of() which would strip off the const attribute for no good reason (i.e. if a const pointer is passed to container_of() it still is const coming out). Fix this all up by properly declaring the struct spi_bitbang * as not const. Cc: Mark Brown <broonie@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- drivers/spi/spi-gpio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)