Commit 68b892f1 authored by Johan Hovold's avatar Johan Hovold Committed by Mark Brown

spi: document odd controller reference handling

Document the fact that a reference to the controller is dropped as part
of deregistration.

This is an odd pattern as the reference is typically taken in
__spi_alloc_controller() rather than spi_register_controller(). Most
controller drivers gets it right these days and notably the
device-managed interface relies on this behaviour.
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 2bd6bf03
...@@ -2195,7 +2195,7 @@ static void devm_spi_unregister(struct device *dev, void *res) ...@@ -2195,7 +2195,7 @@ static void devm_spi_unregister(struct device *dev, void *res)
* Context: can sleep * Context: can sleep
* *
* Register a SPI device as with spi_register_controller() which will * Register a SPI device as with spi_register_controller() which will
* automatically be unregister * automatically be unregistered and freed.
* *
* Return: zero on success, else a negative error code. * Return: zero on success, else a negative error code.
*/ */
...@@ -2236,6 +2236,8 @@ static int __unregister(struct device *dev, void *null) ...@@ -2236,6 +2236,8 @@ static int __unregister(struct device *dev, void *null)
* only ones directly touching chip registers. * only ones directly touching chip registers.
* *
* This must be called from context that can sleep. * This must be called from context that can sleep.
*
* Note that this function also drops a reference to the controller.
*/ */
void spi_unregister_controller(struct spi_controller *ctlr) void spi_unregister_controller(struct spi_controller *ctlr)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment