ASoC: Add support for allocating AC'97 device before registering it

In some cases it is necessary to before additional operations after the
device has been initialized and before the device is registered. This can
for example be resetting the device.

This patch introduces a new function snd_soc_alloc_ac97_codec() which is
similar to snd_soc_new_ac97_codec() except that it does not register the
device. Any users of snd_soc_alloc_ac97_codec() are responsible for calling
device_add() manually.

Fixes: 6794f709b7 ("ASoC: ac97: Drop delayed device registration")
Reported-by: Manuel Lauss <[email protected]>
Signed-off-by: Lars-Peter Clausen <[email protected]>
Tested-by: Manuel Lauss <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Cc: [email protected]
This commit is contained in:
Lars-Peter Clausen 2015-01-23 16:21:36 +01:00 • committed by Mark Brown
commit 47e039413c
2 changed files with 31 additions and 6 deletions

View file

@ -498,6 +498,7 @@ int snd_soc_test_bits(struct snd_soc_codec *codec, unsigned int reg,
unsigned int mask, unsigned int value);
#ifdef CONFIG_SND_SOC_AC97_BUS
struct snd_ac97 *snd_soc_alloc_ac97_codec(struct snd_soc_codec *codec);
struct snd_ac97 *snd_soc_new_ac97_codec(struct snd_soc_codec *codec);
void snd_soc_free_ac97_codec(struct snd_ac97 *ac97);