From 2204d8b104b812411a39118ffb436dfbd479787a Mon Sep 17 00:00:00 2001 From: Andy Green Date: Wed, 19 Nov 2008 17:09:46 +0000 Subject: 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 --- drivers/mfd/glamo/glamo-core.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'drivers/mfd/glamo/glamo-core.c') 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 -- cgit v1.2.3