diff options
author | Mirko Vogt <mirko@openwrt.org> | 2008-12-12 11:58:53 +0000 |
---|---|---|
committer | Mirko Vogt <mirko@openwrt.org> | 2008-12-12 11:58:53 +0000 |
commit | fac7f7f84f3771c5247c7fdee825c092077984f5 (patch) | |
tree | 54644c1229434d7ee13c5872bda4129e34337fc0 /target/linux/s3c24xx/patches-2.6.26/0172-fix-pcf50633-add-back-gratuitous-isr-work-call-in-re.patch | |
parent | a34279723a9cf0796f9261f2fb90bea18cd95711 (diff) | |
download | upstream-fac7f7f84f3771c5247c7fdee825c092077984f5.tar.gz upstream-fac7f7f84f3771c5247c7fdee825c092077984f5.tar.bz2 upstream-fac7f7f84f3771c5247c7fdee825c092077984f5.zip |
changed Makefile and profiles, added patches for kernel 2.6.24
(stable-branch of Openmoko)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13613 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.26/0172-fix-pcf50633-add-back-gratuitous-isr-work-call-in-re.patch')
-rwxr-xr-x | target/linux/s3c24xx/patches-2.6.26/0172-fix-pcf50633-add-back-gratuitous-isr-work-call-in-re.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.26/0172-fix-pcf50633-add-back-gratuitous-isr-work-call-in-re.patch b/target/linux/s3c24xx/patches-2.6.26/0172-fix-pcf50633-add-back-gratuitous-isr-work-call-in-re.patch new file mode 100755 index 0000000000..b149540bac --- /dev/null +++ b/target/linux/s3c24xx/patches-2.6.26/0172-fix-pcf50633-add-back-gratuitous-isr-work-call-in-re.patch @@ -0,0 +1,38 @@ +From d94d0b993494af18025b0980810ddbd44964ad04 Mon Sep 17 00:00:00 2001 +From: Andy Green <andy@openmoko.com> +Date: Fri, 25 Jul 2008 23:06:14 +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 3bc9fa7..4002c03 100644 +--- a/drivers/i2c/chips/pcf50633.c ++++ b/drivers/i2c/chips/pcf50633.c +@@ -2467,6 +2467,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.3 + |