ssm2602.c (6627a653bceb3a54e55e5cdc478ec5b8d5c9cc44) ssm2602.c (6335d05548eece40092000aa91b64a50310d69d5)
1/*
2 * File: sound/soc/codecs/ssm2602.c
3 * Author: Cliff Cai <Cliff.Cai@analog.com>
4 *
5 * Created: Tue June 06 2008
6 * Description: Driver for ssm2602 sound chip
7 *
8 * Modified:

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

501 SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |\
502 SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |\
503 SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |\
504 SNDRV_PCM_RATE_96000)
505
506#define SSM2602_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |\
507 SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE)
508
1/*
2 * File: sound/soc/codecs/ssm2602.c
3 * Author: Cliff Cai <Cliff.Cai@analog.com>
4 *
5 * Created: Tue June 06 2008
6 * Description: Driver for ssm2602 sound chip
7 *
8 * Modified:

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

501 SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |\
502 SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |\
503 SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |\
504 SNDRV_PCM_RATE_96000)
505
506#define SSM2602_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |\
507 SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE)
508
509static struct snd_soc_dai_ops ssm2602_dai_ops = {
510 .startup = ssm2602_startup,
511 .prepare = ssm2602_pcm_prepare,
512 .hw_params = ssm2602_hw_params,
513 .shutdown = ssm2602_shutdown,
514 .digital_mute = ssm2602_mute,
515 .set_sysclk = ssm2602_set_dai_sysclk,
516 .set_fmt = ssm2602_set_dai_fmt,
517};
518
509struct snd_soc_dai ssm2602_dai = {
510 .name = "SSM2602",
511 .playback = {
512 .stream_name = "Playback",
513 .channels_min = 2,
514 .channels_max = 2,
515 .rates = SSM2602_RATES,
516 .formats = SSM2602_FORMATS,},
517 .capture = {
518 .stream_name = "Capture",
519 .channels_min = 2,
520 .channels_max = 2,
521 .rates = SSM2602_RATES,
522 .formats = SSM2602_FORMATS,},
519struct snd_soc_dai ssm2602_dai = {
520 .name = "SSM2602",
521 .playback = {
522 .stream_name = "Playback",
523 .channels_min = 2,
524 .channels_max = 2,
525 .rates = SSM2602_RATES,
526 .formats = SSM2602_FORMATS,},
527 .capture = {
528 .stream_name = "Capture",
529 .channels_min = 2,
530 .channels_max = 2,
531 .rates = SSM2602_RATES,
532 .formats = SSM2602_FORMATS,},
523 .ops = {
524 .startup = ssm2602_startup,
525 .prepare = ssm2602_pcm_prepare,
526 .hw_params = ssm2602_hw_params,
527 .shutdown = ssm2602_shutdown,
528 .digital_mute = ssm2602_mute,
529 .set_sysclk = ssm2602_set_dai_sysclk,
530 .set_fmt = ssm2602_set_dai_fmt,
531 }
533 .ops = &ssm2602_dai_ops,
532};
533EXPORT_SYMBOL_GPL(ssm2602_dai);
534
535static int ssm2602_suspend(struct platform_device *pdev, pm_message_t state)
536{
537 struct snd_soc_device *socdev = platform_get_drvdata(pdev);
538 struct snd_soc_codec *codec = socdev->card->codec;
539

--- 257 unchanged lines hidden ---
534};
535EXPORT_SYMBOL_GPL(ssm2602_dai);
536
537static int ssm2602_suspend(struct platform_device *pdev, pm_message_t state)
538{
539 struct snd_soc_device *socdev = platform_get_drvdata(pdev);
540 struct snd_soc_codec *codec = socdev->card->codec;
541

--- 257 unchanged lines hidden ---