OSDN Git Service

spi: stm32-qspi: Update spi registering
authorPatrice Chotard <patrice.chotard@foss.st.com>
Mon, 17 Jan 2022 12:17:44 +0000 (13:17 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 19 Jan 2022 16:47:41 +0000 (16:47 +0000)
commite4d63473d3110afd170e6e0e48494d3789d26136
tree75cf7bcc23132cc633cde265ac8aba455b88cb6b
parent44ea62813f0ab3d718de480504f4dfd0bdd01858
spi: stm32-qspi: Update spi registering

Some device driver need to communicate to qspi device during the remove
process, qspi controller must be functional when spi_unregister_master()
is called.

To ensure this, replace devm_spi_register_master() by spi_register_master()
and spi_unregister_master() is called directly in .remove callback before
stopping the qspi controller.

This issue was put in evidence using kernel v5.11 and later
with a spi-nor which supports the software reset feature introduced
by commit d73ee7534cc5 ("mtd: spi-nor: core: perform a Soft Reset on
shutdown")

Fixes: c530cd1d9d5e ("spi: spi-mem: add stm32 qspi controller")

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Cc: <stable@vger.kernel.org> # 5.8.x
Reviewed-by: Lukas Wunner <lukas@wunner.de>
Link: https://lore.kernel.org/r/20220117121744.29729-1-patrice.chotard@foss.st.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-stm32-qspi.c