2007-10-26 16:53:47 +04:00
/*
* SoC audio for ln2440sbc
2008-04-30 19:19:57 +04:00
*
2007-10-26 16:53:47 +04:00
* Copyright 2007 KonekTel , a . s .
* Author : Ivan Kuten
* ivan . kuten @ promwad . com
2008-04-30 19:19:57 +04:00
*
2007-10-26 16:53:47 +04:00
* Heavily based on smdk2443_wm9710 . c
* Copyright 2007 Wolfson Microelectronics PLC .
* Author : Graeme Gregory
* graeme . gregory @ wolfsonmicro . com or linux @ wolfsonmicro . com
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation .
*
*/
2011-07-15 20:38:28 +04:00
# include <linux/module.h>
2007-10-26 16:53:47 +04:00
# include <sound/soc.h>
2008-11-18 23:50:34 +03:00
static struct snd_soc_card ln2440sbc ;
2007-10-26 16:53:47 +04:00
static struct snd_soc_dai_link ln2440sbc_dai [ ] = {
{
. name = " AC97 " ,
. stream_name = " AC97 HiFi " ,
2010-11-22 09:36:00 +03:00
. cpu_dai_name = " samsung-ac97 " ,
2010-03-17 23:15:21 +03:00
. codec_dai_name = " ac97-hifi " ,
. codec_name = " ac97-codec " ,
2012-12-07 12:29:21 +04:00
. platform_name = " samsung-ac97 " ,
2007-10-26 16:53:47 +04:00
} ,
} ;
2008-11-18 23:50:34 +03:00
static struct snd_soc_card ln2440sbc = {
2007-10-26 16:53:47 +04:00
. name = " LN2440SBC " ,
2011-12-22 06:53:15 +04:00
. owner = THIS_MODULE ,
2007-10-26 16:53:47 +04:00
. dai_link = ln2440sbc_dai ,
. num_links = ARRAY_SIZE ( ln2440sbc_dai ) ,
} ;
static struct platform_device * ln2440sbc_snd_ac97_device ;
static int __init ln2440sbc_init ( void )
{
int ret ;
ln2440sbc_snd_ac97_device = platform_device_alloc ( " soc-audio " , - 1 ) ;
if ( ! ln2440sbc_snd_ac97_device )
return - ENOMEM ;
2010-03-17 23:15:21 +03:00
platform_set_drvdata ( ln2440sbc_snd_ac97_device , & ln2440sbc ) ;
2007-10-26 16:53:47 +04:00
ret = platform_device_add ( ln2440sbc_snd_ac97_device ) ;
if ( ret )
platform_device_put ( ln2440sbc_snd_ac97_device ) ;
return ret ;
}
static void __exit ln2440sbc_exit ( void )
{
platform_device_unregister ( ln2440sbc_snd_ac97_device ) ;
}
module_init ( ln2440sbc_init ) ;
module_exit ( ln2440sbc_exit ) ;
/* Module information */
MODULE_AUTHOR ( " Ivan Kuten " ) ;
MODULE_DESCRIPTION ( " ALSA SoC ALC650 LN2440SBC " ) ;
MODULE_LICENSE ( " GPL " ) ;