tlv320aic23.c (6627a653bceb3a54e55e5cdc478ec5b8d5c9cc44) tlv320aic23.c (6335d05548eece40092000aa91b64a50310d69d5)
1/*
2 * ALSA SoC TLV320AIC23 codec driver
3 *
4 * Author: Arun KS, <arunks@mistralsolutions.com>
5 * Copyright: (C) 2008 Mistral Solutions Pvt Ltd.,
6 *
7 * Based on sound/soc/codecs/wm8731.c by Richard Purdie
8 *

--- 566 unchanged lines hidden (view full) ---

575 codec->bias_level = level;
576 return 0;
577}
578
579#define AIC23_RATES SNDRV_PCM_RATE_8000_96000
580#define AIC23_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \
581 SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S32_LE)
582
1/*
2 * ALSA SoC TLV320AIC23 codec driver
3 *
4 * Author: Arun KS, <arunks@mistralsolutions.com>
5 * Copyright: (C) 2008 Mistral Solutions Pvt Ltd.,
6 *
7 * Based on sound/soc/codecs/wm8731.c by Richard Purdie
8 *

--- 566 unchanged lines hidden (view full) ---

575 codec->bias_level = level;
576 return 0;
577}
578
579#define AIC23_RATES SNDRV_PCM_RATE_8000_96000
580#define AIC23_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \
581 SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S32_LE)
582
583static struct snd_soc_dai_ops tlv320aic23_dai_ops = {
584 .prepare = tlv320aic23_pcm_prepare,
585 .hw_params = tlv320aic23_hw_params,
586 .shutdown = tlv320aic23_shutdown,
587 .digital_mute = tlv320aic23_mute,
588 .set_fmt = tlv320aic23_set_dai_fmt,
589 .set_sysclk = tlv320aic23_set_dai_sysclk,
590};
591
583struct snd_soc_dai tlv320aic23_dai = {
584 .name = "tlv320aic23",
585 .playback = {
586 .stream_name = "Playback",
587 .channels_min = 2,
588 .channels_max = 2,
589 .rates = AIC23_RATES,
590 .formats = AIC23_FORMATS,},
591 .capture = {
592 .stream_name = "Capture",
593 .channels_min = 2,
594 .channels_max = 2,
595 .rates = AIC23_RATES,
596 .formats = AIC23_FORMATS,},
592struct snd_soc_dai tlv320aic23_dai = {
593 .name = "tlv320aic23",
594 .playback = {
595 .stream_name = "Playback",
596 .channels_min = 2,
597 .channels_max = 2,
598 .rates = AIC23_RATES,
599 .formats = AIC23_FORMATS,},
600 .capture = {
601 .stream_name = "Capture",
602 .channels_min = 2,
603 .channels_max = 2,
604 .rates = AIC23_RATES,
605 .formats = AIC23_FORMATS,},
597 .ops = {
598 .prepare = tlv320aic23_pcm_prepare,
599 .hw_params = tlv320aic23_hw_params,
600 .shutdown = tlv320aic23_shutdown,
601 .digital_mute = tlv320aic23_mute,
602 .set_fmt = tlv320aic23_set_dai_fmt,
603 .set_sysclk = tlv320aic23_set_dai_sysclk,
604 }
606 .ops = &tlv320aic23_dai_ops,
605};
606EXPORT_SYMBOL_GPL(tlv320aic23_dai);
607
608static int tlv320aic23_suspend(struct platform_device *pdev,
609 pm_message_t state)
610{
611 struct snd_soc_device *socdev = platform_get_drvdata(pdev);
612 struct snd_soc_codec *codec = socdev->card->codec;

--- 235 unchanged lines hidden ---
607};
608EXPORT_SYMBOL_GPL(tlv320aic23_dai);
609
610static int tlv320aic23_suspend(struct platform_device *pdev,
611 pm_message_t state)
612{
613 struct snd_soc_device *socdev = platform_get_drvdata(pdev);
614 struct snd_soc_codec *codec = socdev->card->codec;

--- 235 unchanged lines hidden ---