ASoC: Properly handle AC'97 device lifetime management
authorLars-Peter Clausen <lars@metafoo.de>
Mon, 10 Nov 2014 21:41:45 +0000 (22:41 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 18 Nov 2014 15:26:05 +0000 (15:26 +0000)
commit70f3af3ca15affaef3d026a5aa6e44c4627ea6c7
tree214ed9e55bd37bc22922e44a31a28b71ac0d24f3
parent65c72efd1ea370f0311a5d89754996fff9fc0747
ASoC: Properly handle AC'97 device lifetime management

The memory that a struct device is contained in must not be freed except
from within the device's release callback. The ASoC code currently does not
adhere to this rule for the AC'97 device. This patch fixes it by moving the
freeing of the AC'97 to the release callback and splitting up the
registration and unregistration of the device into separate steps for
getting/putting the reference to the device and adding/removing it to the
device hierarchy.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-core.c