aboutsummaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorAndy Green <andy@openmoko.com>2008-11-19 17:09:48 +0000
committerAndy Green <agreen@pads.home.warmcat.com>2008-11-19 17:09:48 +0000
commit2389770c968c761d765b1f2edaad9163c7d2063f (patch)
treecb4e8cc76ae7aa9be2df0f5dd852fd11f8aee06d /drivers/video
parent8ea2da6e862ac3cd234cf2645645267a1d7fcde9 (diff)
change-lcm-keep-power-faster-resume.patch
The LCM spins for 100ms during resume for not much reason. Leave it powered (it is meant to pull uA when suspended) and get nice fast resume to video. Signed-off-by: Andy Green <andy@openmoko.com>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/display/jbt6k74.c24
1 files changed, 4 insertions, 20 deletions
diff --git a/drivers/video/display/jbt6k74.c b/drivers/video/display/jbt6k74.c
index 7cc00ad5071..6fa1fe7ee51 100644
--- a/drivers/video/display/jbt6k74.c
+++ b/drivers/video/display/jbt6k74.c
@@ -628,7 +628,7 @@ static int jbt_suspend(struct spi_device *spi, pm_message_t state)
struct jbt_info *jbt = dev_get_drvdata(&spi->dev);
struct jbt6k74_platform_data *jbt6k74_pdata = spi->dev.platform_data;
- /* platform needs to register resume dependencies here */
+ /* platform can register resume dependencies here, if any */
if (jbt6k74_pdata->suspending)
(jbt6k74_pdata->suspending)(0, spi);
@@ -638,7 +638,7 @@ static int jbt_suspend(struct spi_device *spi, pm_message_t state)
jbt->have_resumed = 0;
- (jbt6k74_pdata->reset)(0, 0);
+/* (jbt6k74_pdata->reset)(0, 0); */
return 0;
}
@@ -648,31 +648,17 @@ int jbt6k74_resume(struct spi_device *spi)
struct jbt_info *jbt = dev_get_drvdata(&spi->dev);
struct jbt6k74_platform_data *jbt6k74_pdata = spi->dev.platform_data;
- /* if we still wait on dependencies, exit because we will get called
- * again. This guy will get called once by core resume action, and
- * should be set as resume_dependency callback for any dependencies
- * set by platform code.
- */
-
if (jbt6k74_pdata->all_dependencies_resumed)
if (!(jbt6k74_pdata->all_dependencies_resumed)(0))
return 0;
/* we can get called twice with all dependencies resumed if our core
- * resume callback is last of all. Protect against going twice
+ * resume callback is last of all. Protect against doing anything twice
*/
if (jbt->have_resumed)
return 0;
- jbt->have_resumed = 1;
-
- /* OK we are sure all devices we depend on for operation are up now */
-
- /* even this needs glamo up on GTA02 :-/ */
- (jbt6k74_pdata->reset)(0, 1);
-
- jbt6k74_enter_state(jbt, JBT_STATE_DEEP_STANDBY);
- msleep(100);
+ jbt->have_resumed |= 1;
switch (jbt->last_state) {
case JBT_STATE_QVGA_NORMAL:
@@ -684,8 +670,6 @@ int jbt6k74_resume(struct spi_device *spi)
}
jbt6k74_display_onoff(jbt, 1);
- /* this gives the platform a chance to bring up backlight now */
-
if (jbt6k74_pdata->resuming)
(jbt6k74_pdata->resuming)(0);