r3191 - branches/src/target/kernel/2.6.23.x/patches
shoragan at sita.openmoko.org
shoragan at sita.openmoko.org
Tue Oct 16 17:20:30 CEST 2007
Author: shoragan
Date: 2007-10-16 17:20:27 +0200 (Tue, 16 Oct 2007)
New Revision: 3191
Added:
branches/src/target/kernel/2.6.23.x/patches/asoc-neo1973_wm8753-power.patch
Modified:
branches/src/target/kernel/2.6.23.x/patches/series
Log:
Follow changes in 2.6.22:
(orig r3168): laforge | 2007-10-15 10:54:10 +0200
add the asoc amplifier power down fix to the series
(orig r3167): laforge | 2007-10-15 10:48:09 +0200
This patch fixes the current leak caused by not shutting down the audio
amplifier during suspend/resume and after power-down. See bug
http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=781
Added: branches/src/target/kernel/2.6.23.x/patches/asoc-neo1973_wm8753-power.patch
===================================================================
--- branches/src/target/kernel/2.6.23.x/patches/asoc-neo1973_wm8753-power.patch 2007-10-16 15:02:36 UTC (rev 3190)
+++ branches/src/target/kernel/2.6.23.x/patches/asoc-neo1973_wm8753-power.patch 2007-10-16 15:20:27 UTC (rev 3191)
@@ -0,0 +1,50 @@
+Index: linux-2.6.22.5-moko/sound/soc/s3c24xx/neo1973_wm8753.c
+===================================================================
+--- linux-2.6.22.5-moko.orig/sound/soc/s3c24xx/neo1973_wm8753.c
++++ linux-2.6.22.5-moko/sound/soc/s3c24xx/neo1973_wm8753.c
+@@ -615,6 +615,35 @@
+ return i2c_probe(adap, &addr_data, lm4857_amp_probe);
+ }
+
++static u8 lm4857_state;
++
++static int lm4857_suspend(struct i2c_client *dev, pm_message_t state)
++{
++ dev_dbg(&dev->dev, "lm4857_suspend\n");
++ lm4857_state = lm4857_regs[LM4857_CTRL] & 0xf;
++ if (lm4857_state) {
++ lm4857_regs[LM4857_CTRL] &= 0xf0;
++ lm4857_write_regs();
++ }
++ return 0;
++}
++
++static int lm4857_resume(struct i2c_client *dev)
++{
++ if (lm4857_state) {
++ lm4857_regs[LM4857_CTRL] |= (lm4857_state & 0x0f);
++ lm4857_write_regs();
++ }
++ return 0;
++}
++
++static void lm4857_shutdown(struct i2c_client *dev)
++{
++ dev_dbg(&dev->dev, "lm4857_shutdown\n");
++ lm4857_regs[LM4857_CTRL] &= 0xf0;
++ lm4857_write_regs();
++}
++
+ /* corgi i2c codec control layer */
+ static struct i2c_driver lm4857_i2c_driver = {
+ .driver = {
+@@ -622,6 +651,9 @@
+ .owner = THIS_MODULE,
+ },
+ .id = I2C_DRIVERID_LM4857,
++ .suspend = lm4857_suspend,
++ .resume = lm4857_resume,
++ .shutdown = lm4857_shutdown,
+ .attach_adapter = lm4857_i2c_attach,
+ .detach_client = lm4857_i2c_detach,
+ .command = NULL,
Modified: branches/src/target/kernel/2.6.23.x/patches/series
===================================================================
--- branches/src/target/kernel/2.6.23.x/patches/series 2007-10-16 15:02:36 UTC (rev 3190)
+++ branches/src/target/kernel/2.6.23.x/patches/series 2007-10-16 15:20:27 UTC (rev 3191)
@@ -1,5 +1,6 @@
asoc-platform-hw_init-pcm_emulation-fix.patch
asoc-kconfig-fix.patch
+asoc-neo1973_wm8753-power.patch
missing_defs.patch
openmoko-logo.patch
yaffs2-20070905.patch
More information about the commitlog
mailing list