spi: cadence-quadspi: Implement refcount to handle unbind during busy
authorKhairul Anuar Romli <khairul.anuar.romli@altera.com>
Tue, 26 Aug 2025 00:33:58 +0000 (08:33 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 1 Sep 2025 12:37:27 +0000 (13:37 +0100)
commit7446284023e8ef694fb392348185349c773eefb3
tree81e6c8dde6d6e596f47cfecf0c32934b75ac2eb7
parent89e7353f522f5cf70cb48c01ce2dcdcb275b8022
spi: cadence-quadspi: Implement refcount to handle unbind during busy

driver support indirect read and indirect write operation with
assumption no force device removal(unbind) operation. However
force device removal(removal) is still available to root superuser.

Unbinding driver during operation causes kernel crash. This changes
ensure driver able to handle such operation for indirect read and
indirect write by implementing refcount to track attached devices
to the controller and gracefully wait and until attached devices
remove operation completed before proceed with removal operation.

Signed-off-by: Khairul Anuar Romli <khairul.anuar.romli@altera.com>
Reviewed-by: Matthew Gerlach <matthew.gerlach@altera.com>
Reviewed-by: Niravkumar L Rabara <nirav.rabara@altera.com>
Link: https://patch.msgid.link/8704fd6bd2ff4d37bba4a0eacf5eba3ba001079e.1756168074.git.khairul.anuar.romli@altera.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-cadence-quadspi.c