1/* 2 * smdk2443_wm9710.c -- SoC audio for smdk2443 3 * 4 * Copyright 2007 Wolfson Microelectronics PLC. 5 * Author: Graeme Gregory 6 * graeme.gregory@wolfsonmicro.com or linux@wolfsonmicro.com 7 * 8 * This program is free software; you can redistribute it and/or modify it 9 * under the terms of the GNU General Public License as published by the 10 * Free Software Foundation; either version 2 of the License, or (at your 11 * option) any later version. 12 * 13 */ 14 15#include <linux/module.h> 16#include <linux/device.h> 17#include <sound/core.h> 18#include <sound/pcm.h> 19#include <sound/soc.h> 20#include <sound/soc-dapm.h> 21 22#include "../codecs/ac97.h" 23#include "s3c-dma.h" 24#include "s3c-ac97.h" 25 26static struct snd_soc_card smdk2443; 27 28static struct snd_soc_dai_link smdk2443_dai[] = { 29{ 30 .name = "AC97", 31 .stream_name = "AC97 HiFi", 32 .cpu_dai = &s3c_ac97_dai[S3C_AC97_DAI_PCM], 33 .codec_dai = &ac97_dai, 34}, 35}; 36 37static struct snd_soc_card smdk2443 = { 38 .name = "SMDK2443", 39 .platform = &s3c24xx_soc_platform, 40 .dai_link = smdk2443_dai, 41 .num_links = ARRAY_SIZE(smdk2443_dai), 42}; 43 44static struct snd_soc_device smdk2443_snd_ac97_devdata = { 45 .card = &smdk2443, 46 .codec_dev = &soc_codec_dev_ac97, 47}; 48 49static struct platform_device *smdk2443_snd_ac97_device; 50 51static int __init smdk2443_init(void) 52{ 53 int ret; 54 55 smdk2443_snd_ac97_device = platform_device_alloc("soc-audio", -1); 56 if (!smdk2443_snd_ac97_device) 57 return -ENOMEM; 58 59 platform_set_drvdata(smdk2443_snd_ac97_device, 60 &smdk2443_snd_ac97_devdata); 61 smdk2443_snd_ac97_devdata.dev = &smdk2443_snd_ac97_device->dev; 62 ret = platform_device_add(smdk2443_snd_ac97_device); 63 64 if (ret) 65 platform_device_put(smdk2443_snd_ac97_device); 66 67 return ret; 68} 69 70static void __exit smdk2443_exit(void) 71{ 72 platform_device_unregister(smdk2443_snd_ac97_device); 73} 74 75module_init(smdk2443_init); 76module_exit(smdk2443_exit); 77 78/* Module information */ 79MODULE_AUTHOR("Graeme Gregory, graeme.gregory@wolfsonmicro.com, www.wolfsonmicro.com"); 80MODULE_DESCRIPTION("ALSA SoC WM9710 SMDK2443"); 81MODULE_LICENSE("GPL"); 82