mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-09-12 09:33:20 +03:00
(stable-branch of Openmoko) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13613 3c298f89-4303-0410-b956-a3cf2f4a3e73
39 lines
1.3 KiB
Diff
39 lines
1.3 KiB
Diff
From b6aa20d6e44fccefba7ca933d11befba3611a68a Mon Sep 17 00:00:00 2001
|
|
From: Andy Green <andy@openmoko.com>
|
|
Date: Wed, 2 Jul 2008 22:40:58 +0100
|
|
Subject: [PATCH] fix-pcf50633-add-back-gratuitous-isr-work-call-in-resume.patch
|
|
|
|
Sean McNeil reports that he doesn't get pcf50633 interrupts any
|
|
more after resume. This adds back the call to ISR work in
|
|
the resume, removal of which is probably to do with it.
|
|
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
---
|
|
drivers/i2c/chips/pcf50633.c | 10 ++++++++++
|
|
1 files changed, 10 insertions(+), 0 deletions(-)
|
|
|
|
diff --git a/drivers/i2c/chips/pcf50633.c b/drivers/i2c/chips/pcf50633.c
|
|
index 6e50ae8..037ae04 100644
|
|
--- a/drivers/i2c/chips/pcf50633.c
|
|
+++ b/drivers/i2c/chips/pcf50633.c
|
|
@@ -2474,6 +2474,16 @@ static int pcf50633_resume(struct device *dev)
|
|
|
|
mutex_unlock(&pcf->lock);
|
|
|
|
+ /* gratuitous call to PCF work function, in the case that the PCF
|
|
+ * interrupt edge was missed during resume, this forces the pending
|
|
+ * register clear and lifts the interrupt back high again. In the
|
|
+ * case nothing is waiting for service, no harm done.
|
|
+ */
|
|
+
|
|
+ get_device(&pcf->client.dev);
|
|
+ if (!schedule_work(&pcf->work) && !pcf->working)
|
|
+ dev_err(&pcf->client.dev, "resume work item may be lost\n");
|
|
+
|
|
callback_all_resume_dependencies(&pcf->resume_dependency);
|
|
|
|
return 0;
|
|
--
|
|
1.5.6.5
|
|
|