Lines Matching refs:ad1836
2 * File: sound/soc/codecs/ad1836.c
32 #include "ad1836.h"
42 static int ad1836_register(struct ad1836_priv *ad1836);
43 static void ad1836_unregister(struct ad1836_priv *ad1836);
208 struct ad1836_priv *ad1836;
210 ad1836 = kzalloc(sizeof(struct ad1836_priv), GFP_KERNEL);
211 if (ad1836 == NULL)
214 codec = &ad1836->codec;
218 dev_set_drvdata(&spi->dev, ad1836);
220 return ad1836_register(ad1836);
225 struct ad1836_priv *ad1836 = dev_get_drvdata(&spi->dev);
227 ad1836_unregister(ad1836);
233 .name = "ad1836",
268 static int ad1836_register(struct ad1836_priv *ad1836)
271 struct snd_soc_codec *codec = &ad1836->codec;
274 dev_err(codec->dev, "Another ad1836 is registered\n");
275 kfree(ad1836);
282 snd_soc_codec_set_drvdata(codec, ad1836);
283 codec->reg_cache = ad1836->reg_cache;
299 kfree(ad1836);
303 /* default setting for ad1836 */
325 kfree(ad1836);
333 kfree(ad1836);
340 static void ad1836_unregister(struct ad1836_priv *ad1836)
343 snd_soc_unregister_codec(&ad1836->codec);
344 kfree(ad1836);
404 printk(KERN_ERR "Failed to register ad1836 SPI driver: %d\n",
418 MODULE_DESCRIPTION("ASoC ad1836 driver");