diff options
Diffstat (limited to 'target/linux/s3c24xx/patches/0200-From-c221bb27c8e22daa451e26353140777223d397d2-Mon-Se.patch')
-rwxr-xr-x | target/linux/s3c24xx/patches/0200-From-c221bb27c8e22daa451e26353140777223d397d2-Mon-Se.patch | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/target/linux/s3c24xx/patches/0200-From-c221bb27c8e22daa451e26353140777223d397d2-Mon-Se.patch b/target/linux/s3c24xx/patches/0200-From-c221bb27c8e22daa451e26353140777223d397d2-Mon-Se.patch new file mode 100755 index 0000000000..3331ed8ab7 --- /dev/null +++ b/target/linux/s3c24xx/patches/0200-From-c221bb27c8e22daa451e26353140777223d397d2-Mon-Se.patch @@ -0,0 +1,72 @@ +From 1e8163901ed89e4849a1c9e304d140e043cc2b9f Mon Sep 17 00:00:00 2001 +From: Holger Freyther <zecke@openmoko.org> +Date: Fri, 25 Jul 2008 23:06:17 +0100 +Subject: [PATCH] From c221bb27c8e22daa451e26353140777223d397d2 Mon Sep 17 00:00:00 2001 + Subject: [PATCH] [pcf50633] Report more events to userspace using the default callback + +Signed-Off-By: Holger Freyther <zecke@openmoko.org> +--- + drivers/i2c/chips/pcf50633.c | 20 +++++++++++++++----- + include/linux/pcf506xx.h | 1 + + 2 files changed, 16 insertions(+), 5 deletions(-) + +diff --git a/drivers/i2c/chips/pcf50633.c b/drivers/i2c/chips/pcf50633.c +index 4be6cd3..ead4273 100644 +--- a/drivers/i2c/chips/pcf50633.c ++++ b/drivers/i2c/chips/pcf50633.c +@@ -1036,25 +1036,35 @@ static void pcf50633_work(struct work_struct *work) + * this is really "battery not pulling current" -- it can + * appear with no battery attached + */ +- /* FIXME: signal this to userspace */ ++ if (pcf->pdata->cb) ++ pcf->pdata->cb(&pcf->client.dev, ++ PCF50633_FEAT_MBC, PMU_EVT_CHARGER_CHANGE); + } + if (pcfirq[2] & PCF50633_INT3_THLIMON) { + DEBUGPC("THLIMON "); + pcf->flags |= PCF50633_F_CHG_PROT; +- /* FIXME: signal this to userspace */ ++ if (pcf->pdata->cb) ++ pcf->pdata->cb(&pcf->client.dev, ++ PCF50633_FEAT_MBC, PMU_EVT_CHARGER_CHANGE); + } + if (pcfirq[2] & PCF50633_INT3_THLIMOFF) { + DEBUGPC("THLIMOFF "); + pcf->flags &= ~PCF50633_F_CHG_PROT; +- /* FIXME: signal this to userspace */ ++ if (pcf->pdata->cb) ++ pcf->pdata->cb(&pcf->client.dev, ++ PCF50633_FEAT_MBC, PMU_EVT_CHARGER_CHANGE); + } + if (pcfirq[2] & PCF50633_INT3_USBLIMON) { + DEBUGPC("USBLIMON "); +- /* FIXME: signal this to userspace */ ++ if (pcf->pdata->cb) ++ pcf->pdata->cb(&pcf->client.dev, ++ PCF50633_FEAT_MBC, PMU_EVT_CHARGER_CHANGE); + } + if (pcfirq[2] & PCF50633_INT3_USBLIMOFF) { + DEBUGPC("USBLIMOFF "); +- /* FIXME: signal this to userspace */ ++ if (pcf->pdata->cb) ++ pcf->pdata->cb(&pcf->client.dev, ++ PCF50633_FEAT_MBC, PMU_EVT_CHARGER_CHANGE); + } + if (pcfirq[2] & PCF50633_INT3_ADCRDY) { + /* ADC result ready */ +diff --git a/include/linux/pcf506xx.h b/include/linux/pcf506xx.h +index a1365e0..459b160 100644 +--- a/include/linux/pcf506xx.h ++++ b/include/linux/pcf506xx.h +@@ -23,6 +23,7 @@ enum pmu_event { + #endif + PMU_EVT_CHARGER_ACTIVE, + PMU_EVT_CHARGER_IDLE, ++ PMU_EVT_CHARGER_CHANGE, + __NUM_PMU_EVTS + }; + +-- +1.5.6.3 + |