-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ALSA] ASoC S3C24xx machine drivers - SMDK 2443
This patch adds ALSA support for the SMDK2443 reference board. Signed-off-by: Graeme Gregory <gg@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
- Loading branch information
Graeme Gregory
authored and
Jaroslav Kysela
committed
Jul 20, 2007
1 parent
74930bb
commit 438b76a
Showing
1 changed file
with
85 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
/* | ||
* smdk2443_wm9710.c -- SoC audio for smdk2443 | ||
* | ||
* 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 as published by the | ||
* Free Software Foundation; either version 2 of the License, or (at your | ||
* option) any later version. | ||
* | ||
* Revision history | ||
* 8th Mar 2007 Initial version. | ||
* | ||
*/ | ||
|
||
#include <linux/module.h> | ||
#include <linux/device.h> | ||
#include <sound/driver.h> | ||
#include <sound/core.h> | ||
#include <sound/pcm.h> | ||
#include <sound/soc.h> | ||
#include <sound/soc-dapm.h> | ||
|
||
#include "../codecs/ac97.h" | ||
#include "s3c24xx-pcm.h" | ||
#include "s3c24xx-ac97.h" | ||
|
||
static struct snd_soc_machine smdk2443; | ||
|
||
static struct snd_soc_dai_link smdk2443_dai[] = { | ||
{ | ||
.name = "AC97", | ||
.stream_name = "AC97 HiFi", | ||
.cpu_dai = &s3c2443_ac97_dai[0], | ||
.codec_dai = &ac97_dai, | ||
}, | ||
}; | ||
|
||
static struct snd_soc_machine smdk2443 = { | ||
.name = "SMDK2443", | ||
.dai_link = smdk2443_dai, | ||
.num_links = ARRAY_SIZE(smdk2443_dai), | ||
}; | ||
|
||
static struct snd_soc_device smdk2443_snd_ac97_devdata = { | ||
.machine = &smdk2443, | ||
.platform = &s3c24xx_soc_platform, | ||
.codec_dev = &soc_codec_dev_ac97, | ||
}; | ||
|
||
static struct platform_device *smdk2443_snd_ac97_device; | ||
|
||
static int __init smdk2443_init(void) | ||
{ | ||
int ret; | ||
|
||
smdk2443_snd_ac97_device = platform_device_alloc("soc-audio", -1); | ||
if (!smdk2443_snd_ac97_device) | ||
return -ENOMEM; | ||
|
||
platform_set_drvdata(smdk2443_snd_ac97_device, | ||
&smdk2443_snd_ac97_devdata); | ||
smdk2443_snd_ac97_devdata.dev = &smdk2443_snd_ac97_device->dev; | ||
ret = platform_device_add(smdk2443_snd_ac97_device); | ||
|
||
if (ret) | ||
platform_device_put(smdk2443_snd_ac97_device); | ||
|
||
return ret; | ||
} | ||
|
||
static void __exit smdk2443_exit(void) | ||
{ | ||
platform_device_unregister(smdk2443_snd_ac97_device); | ||
} | ||
|
||
module_init(smdk2443_init); | ||
module_exit(smdk2443_exit); | ||
|
||
/* Module information */ | ||
MODULE_AUTHOR("Graeme Gregory, graeme.gregory@wolfsonmicro.com, www.wolfsonmicro.com"); | ||
MODULE_DESCRIPTION("ALSA SoC WM9710 SMDK2443"); | ||
MODULE_LICENSE("GPL"); |