Index: linux-2.6.24/sound/soc/s3c24xx/Kconfig
===================================================================
--- linux-2.6.24.orig/sound/soc/s3c24xx/Kconfig	2008-02-15 18:24:06.000000000 +0100
+++ linux-2.6.24/sound/soc/s3c24xx/Kconfig	2008-02-15 18:26:07.000000000 +0100
@@ -34,4 +34,15 @@
 	  Say Y if you want to add support for SoC audio on smdk2443
 	  with the WM9710.
 
+config SND_S3C24XX_SOC_G500_WM9713
+	tristate "SoC AC97 Audio support for G500 - WM9713"
+	depends on SND_S3C24XX_SOC && MACH_G500
+	select SND_S3C2443_SOC_AC97
+  select AC97_BUS
+	select SND_SOC_AC97_BUS
+	select SND_SOC_WM9713
+	help
+	  Say Y if you want to add support for SoC audio on Eten G500
+	  with the WM9713.
+
 
Index: linux-2.6.24/sound/soc/s3c24xx/Makefile
===================================================================
--- linux-2.6.24.orig/sound/soc/s3c24xx/Makefile	2008-02-15 18:24:06.000000000 +0100
+++ linux-2.6.24/sound/soc/s3c24xx/Makefile	2008-02-15 18:26:07.000000000 +0100
@@ -10,6 +10,8 @@
 # S3C24XX Machine Support
 snd-soc-neo1973-wm8753-objs := neo1973_wm8753.o
 snd-soc-smdk2443-wm9710-objs := smdk2443_wm9710.o
+snd-soc-g500-wm9713-objs := g500_wm9713.o
 
 obj-$(CONFIG_SND_S3C24XX_SOC_NEO1973_WM8753) += snd-soc-neo1973-wm8753.o
 obj-$(CONFIG_SND_S3C24XX_SOC_SMDK2443_WM9710) += snd-soc-smdk2443-wm9710.o
+obj-$(CONFIG_SND_S3C24XX_SOC_G500_WM9713) += snd-soc-g500-wm9713.o
Index: linux-2.6.24/sound/soc/s3c24xx/g500_wm9713.c
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6.24/sound/soc/s3c24xx/g500_wm9713.c	2008-02-15 18:26:07.000000000 +0100
@@ -0,0 +1,84 @@
+/*
+ * g500_wm9713.c  --  SoC audio for g500
+ *
+ * Copyright 2008 Pierre Hebert
+ *
+ * Based on smdk2443_wm9710.c
+ * 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.
+ *
+ */
+
+#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/wm9713.h"
+#include "s3c24xx-pcm.h"
+#include "s3c24xx-ac97.h"
+
+static struct snd_soc_machine g500;
+
+static struct snd_soc_dai_link g500_dai[] = {
+{
+	.name = "AC97",
+	.stream_name = "AC97 HiFi",
+	.cpu_dai = &s3c2440_ac97_dai[0],
+	.codec_dai = &wm9713_dai[0],
+},
+};
+
+static struct snd_soc_machine g500 = {
+	.name = "G500",
+	.dai_link = g500_dai,
+	.num_links = ARRAY_SIZE(g500_dai),
+};
+
+static struct snd_soc_device g500_snd_ac97_devdata = {
+	.machine = &g500,
+	.platform = &s3c24xx_soc_platform,
+	.codec_dev = &soc_codec_dev_wm9713,
+};
+
+static struct platform_device *g500_snd_ac97_device;
+
+static int __init g500_init(void)
+{
+	int ret;
+
+	g500_snd_ac97_device = platform_device_alloc("soc-audio", -1);
+	if (!g500_snd_ac97_device)
+		return -ENOMEM;
+
+	platform_set_drvdata(g500_snd_ac97_device,
+				&g500_snd_ac97_devdata);
+	g500_snd_ac97_devdata.dev = &g500_snd_ac97_device->dev;
+	ret = platform_device_add(g500_snd_ac97_device);
+
+	if (ret)
+		platform_device_put(g500_snd_ac97_device);
+
+	return ret;
+}
+
+static void __exit g500_exit(void)
+{
+	platform_device_unregister(g500_snd_ac97_device);
+}
+
+module_init(g500_init);
+module_exit(g500_exit);
+
+/* Module information */
+MODULE_AUTHOR("Pierre Hebert, pîerrox@pierrox.net");
+MODULE_DESCRIPTION("ALSA SoC WM9713 G500");
+MODULE_LICENSE("GPL");

