aboutsummaryrefslogtreecommitdiff
path: root/drivers/mfd/glamo/glamo-core.c
diff options
context:
space:
mode:
authorAndy Green <andy@openmoko.com>2008-11-19 17:09:46 +0000
committerAndy Green <agreen@pads.home.warmcat.com>2008-11-19 17:09:46 +0000
commit2204d8b104b812411a39118ffb436dfbd479787a (patch)
treec44cf815b492a2b81717947a4836a264692bb440 /drivers/mfd/glamo/glamo-core.c
parentd4f8c947ca4693e5a08c252bcd2f0bb6d1e99592 (diff)
add-use-pcf50633-resume-callback-jbt6k74.patch
Adds the resume callback stuff to glamo, then changes jbt6k74 to no longer use a sleeping workqueue, but to make its resume actions dependent on pcf50633 and glamo resume (for backlight and communication to LCM respectively) Signed-off-by: Andy Green <andy@openmoko.com>
Diffstat (limited to 'drivers/mfd/glamo/glamo-core.c')
-rw-r--r--drivers/mfd/glamo/glamo-core.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/mfd/glamo/glamo-core.c b/drivers/mfd/glamo/glamo-core.c
index a6b977b41f6..445ff242d5b 100644
--- a/drivers/mfd/glamo/glamo-core.c
+++ b/drivers/mfd/glamo/glamo-core.c
@@ -1088,6 +1088,8 @@ static int __init glamo_probe(struct platform_device *pdev)
goto out_free;
}
+ init_resume_dependency_list(&glamo->resume_dependency);
+
/* register a number of sibling devices whoise IOMEM resources
* are siblings of pdev's IOMEM resource */
#if 0
@@ -1226,6 +1228,18 @@ static int glamo_remove(struct platform_device *pdev)
}
#ifdef CONFIG_PM
+
+/* have to export this because struct glamo_core is opaque */
+
+void glamo_register_resume_dependency(struct resume_dependency *
+ resume_dependency)
+{
+ register_resume_dependency(&glamo_handle->resume_dependency,
+ resume_dependency);
+}
+EXPORT_SYMBOL_GPL(glamo_register_resume_dependency);
+
+
static int glamo_suspend(struct platform_device *pdev, pm_message_t state)
{
glamo_power(glamo_handle, GLAMO_POWER_SUSPEND);
@@ -1235,6 +1249,8 @@ static int glamo_suspend(struct platform_device *pdev, pm_message_t state)
static int glamo_resume(struct platform_device *pdev)
{
glamo_power(glamo_handle, GLAMO_POWER_ON);
+ callback_all_resume_dependencies(&glamo_handle->resume_dependency);
+
return 0;
}
#else