r3850 - branches/src/target/kernel/2.6.24.x/patches
werner at sita.openmoko.org
werner at sita.openmoko.org
Tue Jan 15 22:25:25 CET 2008
Author: werner
Date: 2008-01-15 22:25:21 +0100 (Tue, 15 Jan 2008)
New Revision: 3850
Added:
branches/src/target/kernel/2.6.24.x/patches/suspend-prelim1.patch
Modified:
branches/src/target/kernel/2.6.24.x/patches/series
Log:
Applied the preliminary power-saving patches for GTA02:
- "matt-suspend-prelim1-pcf50633.patch",
http://git.openmoko.org/?p=kernel.git;a=commit;h=e52762af763ec931a68ced7aeefccf11fc2c802b
- "matt-suspend-prelim1-pm-i2c.patch",
http://git.openmoko.org/?p=kernel.git;a=commit;h=bb908eb228af05fd532b2df7eb6bb50baf725bc2
- "matt-suspend-prelim1-smedia-glamo-interdiff.patch",
http://git.openmoko.org/?p=kernel.git;a=commit;h=e65a28139d23240c780f0ca65caa1147c49bd1ac
From: Matt Hsu <matt_hsu at openmoko.org>
Note: these patches are highly experimental and need cleaning up.
suspend-prelim1.patch:
- drivers/i2c/chips/pcf50633.c (pcf50633_suspend): turn off the backlight
- drivers/i2c/chips/pcf50633.c (pcf50633_resume): enable it again
- drivers/i2c/i2c-core.c (i2c_device_suspend, i2c_device_resume): call device
suspend/resume functions directly
- drivers/mfd/glamo/glamo-core.c (glamo_suspend, glamo_resume): added
suspend/resume support
Modified: branches/src/target/kernel/2.6.24.x/patches/series
===================================================================
--- branches/src/target/kernel/2.6.24.x/patches/series 2008-01-15 21:12:26 UTC (rev 3849)
+++ branches/src/target/kernel/2.6.24.x/patches/series 2008-01-15 21:25:21 UTC (rev 3850)
@@ -62,8 +62,15 @@
# qt2410 local hacks
qt2410-cs8900.patch
s3c2410-qt2410-buttons.patch
+
+# local hack
fail-unless-uimage.patch
+
+# Atheros WLAN driver
pnp_fixes.patch
atheros_2_0_function.patch
atheros_2_0_hcd-patch
atheros_2_0_sdio_stack.patch
+
+# Preliminary suspend/resume power saving improvements
+suspend-prelim1.patch
Added: branches/src/target/kernel/2.6.24.x/patches/suspend-prelim1.patch
===================================================================
--- branches/src/target/kernel/2.6.24.x/patches/suspend-prelim1.patch 2008-01-15 21:12:26 UTC (rev 3849)
+++ branches/src/target/kernel/2.6.24.x/patches/suspend-prelim1.patch 2008-01-15 21:25:21 UTC (rev 3850)
@@ -0,0 +1,84 @@
+Index: linux-2.6.24-rc7/drivers/i2c/chips/pcf50633.c
+===================================================================
+--- linux-2.6.24-rc7.orig/drivers/i2c/chips/pcf50633.c
++++ linux-2.6.24-rc7/drivers/i2c/chips/pcf50633.c
+@@ -1615,6 +1615,9 @@
+ }
+ }
+
++ /* turn off the backlight */
++ __reg_write(pcf, PCF50633_REG_LEDENA, 0x00);
++
+ pcf->standby_regs.int1m = __reg_read(pcf, PCF50633_REG_INT1M);
+ pcf->standby_regs.int2m = __reg_read(pcf, PCF50633_REG_INT2M);
+ pcf->standby_regs.int3m = __reg_read(pcf, PCF50633_REG_INT3M);
+@@ -1639,6 +1642,8 @@
+
+ mutex_lock(&pcf->lock);
+
++ __reg_write(pcf, PCF50633_REG_LEDENA, 0x01);
++
+ /* Resume all saved registers that don't "survive" standby state */
+ __reg_write(pcf, PCF50633_REG_INT1M, pcf->standby_regs.int1m);
+ __reg_write(pcf, PCF50633_REG_INT2M, pcf->standby_regs.int2m);
+Index: linux-2.6.24-rc7/drivers/i2c/i2c-core.c
+===================================================================
+--- linux-2.6.24-rc7.orig/drivers/i2c/i2c-core.c
++++ linux-2.6.24-rc7/drivers/i2c/i2c-core.c
+@@ -1,4 +1,3 @@
+-/* i2c-core.c - a device driver for the iic-bus interface */
+ /* ------------------------------------------------------------------------- */
+ /* Copyright (C) 1995-99 Simon G. Vogl
+
+@@ -136,10 +135,16 @@
+
+ if (!dev->driver)
+ return 0;
++#if 0
+ driver = to_i2c_driver(dev->driver);
+ if (!driver->suspend)
+ return 0;
+ return driver->suspend(to_i2c_client(dev), mesg);
++#else
++ if (!dev->driver->suspend)
++ return 0;
++ return dev->driver->suspend(dev, mesg);
++#endif
+ }
+
+ static int i2c_device_resume(struct device * dev)
+@@ -148,10 +153,16 @@
+
+ if (!dev->driver)
+ return 0;
++#if 0
+ driver = to_i2c_driver(dev->driver);
+ if (!driver->resume)
+ return 0;
+ return driver->resume(to_i2c_client(dev));
++#else
++ if (!dev->driver->resume)
++ return 0;
++ return dev->driver->resume(dev);
++#endif
+ }
+
+ static void i2c_client_release(struct device *dev)
+Index: linux-2.6.24-rc7/drivers/mfd/glamo/glamo-core.c
+===================================================================
+--- linux-2.6.24-rc7.orig/drivers/mfd/glamo/glamo-core.c
++++ linux-2.6.24-rc7/drivers/mfd/glamo/glamo-core.c
+@@ -1071,11 +1071,13 @@
+ #ifdef CONFIG_PM
+ static int glamo_suspend(struct platform_device *pdev, pm_message_t state)
+ {
++ glamo_power(glamo_handle, GLAMO_POWER_SUSPEND);
+ return 0;
+ }
+
+ static int glamo_resume(struct platform_device *pdev)
+ {
++ glamo_power(glamo_handle, GLAMO_POWER_ON);
+ return 0;
+ }
+ #else
More information about the commitlog
mailing list