summaryrefslogtreecommitdiffstats
path: root/meta/packages/linux/linux-openmoko/iis-suspend.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/linux/linux-openmoko/iis-suspend.patch')
-rw-r--r--meta/packages/linux/linux-openmoko/iis-suspend.patch63
1 files changed, 0 insertions, 63 deletions
diff --git a/meta/packages/linux/linux-openmoko/iis-suspend.patch b/meta/packages/linux/linux-openmoko/iis-suspend.patch
deleted file mode 100644
index ab38672463..0000000000
--- a/meta/packages/linux/linux-openmoko/iis-suspend.patch
+++ /dev/null
@@ -1,63 +0,0 @@
1Index: linux-2.6.22/sound/soc/s3c24xx/s3c24xx-i2s.c
2===================================================================
3--- linux-2.6.22.orig/sound/soc/s3c24xx/s3c24xx-i2s.c 2007-11-09 16:13:04.000000000 +0000
4+++ linux-2.6.22/sound/soc/s3c24xx/s3c24xx-i2s.c 2007-11-09 16:17:47.000000000 +0000
5@@ -75,6 +75,10 @@
6 struct s3c24xx_i2s_info {
7 void __iomem *regs;
8 struct clk *iis_clk;
9+ u32 iiscon;
10+ u32 iismod;
11+ u32 iisfcon;
12+ u32 iispsr;
13 };
14 static struct s3c24xx_i2s_info s3c24xx_i2s;
15
16@@ -404,6 +408,38 @@
17 return 0;
18 }
19
20+#ifdef CONFIG_PM
21+int s3c24xx_i2s_suspend(struct platform_device *pdev,
22+ struct snd_soc_cpu_dai *cpu_dai)
23+{
24+ s3c24xx_i2s.iiscon=readl(s3c24xx_i2s.regs + S3C2410_IISCON);
25+ s3c24xx_i2s.iismod=readl(s3c24xx_i2s.regs + S3C2410_IISMOD);
26+ s3c24xx_i2s.iisfcon=readl(s3c24xx_i2s.regs + S3C2410_IISFCON);
27+ s3c24xx_i2s.iispsr=readl(s3c24xx_i2s.regs + S3C2410_IISPSR);
28+
29+ clk_disable(s3c24xx_i2s.iis_clk);
30+
31+ return 0;
32+}
33+
34+int s3c24xx_i2s_resume(struct platform_device *pdev,
35+ struct snd_soc_cpu_dai *cpu_dai)
36+{
37+ clk_enable(s3c24xx_i2s.iis_clk);
38+
39+ writel(s3c24xx_i2s.iiscon, s3c24xx_i2s.regs + S3C2410_IISCON);
40+ writel(s3c24xx_i2s.iismod, s3c24xx_i2s.regs + S3C2410_IISMOD);
41+ writel(s3c24xx_i2s.iisfcon, s3c24xx_i2s.regs + S3C2410_IISFCON);
42+ writel(s3c24xx_i2s.iispsr, s3c24xx_i2s.regs + S3C2410_IISPSR);
43+
44+ return 0;
45+}
46+#else
47+#define s3c24xx_i2s_suspend NULL
48+#define s3c24xx_i2s_resume NULL
49+#endif
50+
51+
52 #define S3C24XX_I2S_RATES \
53 (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 | SNDRV_PCM_RATE_16000 | \
54 SNDRV_PCM_RATE_22050 | SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | \
55@@ -414,6 +450,8 @@
56 .id = 0,
57 .type = SND_SOC_DAI_I2S,
58 .probe = s3c24xx_i2s_probe,
59+ .suspend = s3c24xx_i2s_suspend,
60+ .resume = s3c24xx_i2s_resume,
61 .playback = {
62 .channels_min = 2,
63 .channels_max = 2,