psc-i2s.c (5a2dd72abdae75ea2960145e0549635ce4e0be96) psc-i2s.c (6335d05548eece40092000aa91b64a50310d69d5)
1/*
2 * Au12x0/Au1550 PSC ALSA ASoC audio support.
3 *
4 * (c) 2007-2008 MSC Vertriebsges.m.b.H.,
5 * Manuel Lauss <mano@roarinelk.homelinux.net>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as

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

362 au_sync();
363 au_writel(au1xpsc_i2s_workdata->pm[0],
364 PSC_SEL(au1xpsc_i2s_workdata));
365 au_sync();
366
367 return 0;
368}
369
1/*
2 * Au12x0/Au1550 PSC ALSA ASoC audio support.
3 *
4 * (c) 2007-2008 MSC Vertriebsges.m.b.H.,
5 * Manuel Lauss <mano@roarinelk.homelinux.net>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as

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

362 au_sync();
363 au_writel(au1xpsc_i2s_workdata->pm[0],
364 PSC_SEL(au1xpsc_i2s_workdata));
365 au_sync();
366
367 return 0;
368}
369
370static struct snd_soc_dai_ops au1xpsc_i2s_dai_ops = {
371 .trigger = au1xpsc_i2s_trigger,
372 .hw_params = au1xpsc_i2s_hw_params,
373 .set_fmt = au1xpsc_i2s_set_fmt,
374};
375
370struct snd_soc_dai au1xpsc_i2s_dai = {
371 .name = "au1xpsc_i2s",
372 .probe = au1xpsc_i2s_probe,
373 .remove = au1xpsc_i2s_remove,
374 .suspend = au1xpsc_i2s_suspend,
375 .resume = au1xpsc_i2s_resume,
376 .playback = {
377 .rates = AU1XPSC_I2S_RATES,
378 .formats = AU1XPSC_I2S_FMTS,
379 .channels_min = 2,
380 .channels_max = 8, /* 2 without external help */
381 },
382 .capture = {
383 .rates = AU1XPSC_I2S_RATES,
384 .formats = AU1XPSC_I2S_FMTS,
385 .channels_min = 2,
386 .channels_max = 8, /* 2 without external help */
387 },
376struct snd_soc_dai au1xpsc_i2s_dai = {
377 .name = "au1xpsc_i2s",
378 .probe = au1xpsc_i2s_probe,
379 .remove = au1xpsc_i2s_remove,
380 .suspend = au1xpsc_i2s_suspend,
381 .resume = au1xpsc_i2s_resume,
382 .playback = {
383 .rates = AU1XPSC_I2S_RATES,
384 .formats = AU1XPSC_I2S_FMTS,
385 .channels_min = 2,
386 .channels_max = 8, /* 2 without external help */
387 },
388 .capture = {
389 .rates = AU1XPSC_I2S_RATES,
390 .formats = AU1XPSC_I2S_FMTS,
391 .channels_min = 2,
392 .channels_max = 8, /* 2 without external help */
393 },
388 .ops = {
389 .trigger = au1xpsc_i2s_trigger,
390 .hw_params = au1xpsc_i2s_hw_params,
391 .set_fmt = au1xpsc_i2s_set_fmt,
392 },
394 .ops = &au1xpsc_i2s_dai_ops,
393};
394EXPORT_SYMBOL(au1xpsc_i2s_dai);
395
396static int __init au1xpsc_i2s_init(void)
397{
398 au1xpsc_i2s_workdata = NULL;
399 return snd_soc_register_dai(&au1xpsc_i2s_dai);
400}

--- 12 unchanged lines hidden ---
395};
396EXPORT_SYMBOL(au1xpsc_i2s_dai);
397
398static int __init au1xpsc_i2s_init(void)
399{
400 au1xpsc_i2s_workdata = NULL;
401 return snd_soc_register_dai(&au1xpsc_i2s_dai);
402}

--- 12 unchanged lines hidden ---