diff options
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.24/1220-From-c221bb27c8e22daa451e26353140777223d397d2-Mon-Se.patch')
-rw-r--r-- | target/linux/s3c24xx/patches-2.6.24/1220-From-c221bb27c8e22daa451e26353140777223d397d2-Mon-Se.patch | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.24/1220-From-c221bb27c8e22daa451e26353140777223d397d2-Mon-Se.patch b/target/linux/s3c24xx/patches-2.6.24/1220-From-c221bb27c8e22daa451e26353140777223d397d2-Mon-Se.patch new file mode 100644 index 0000000000..54b1281bf9 --- /dev/null +++ b/target/linux/s3c24xx/patches-2.6.24/1220-From-c221bb27c8e22daa451e26353140777223d397d2-Mon-Se.patch @@ -0,0 +1,72 @@ +From 618097c906c68f2df5fb03ace81e6295be6ded42 Mon Sep 17 00:00:00 2001 +From: Holger Freyther <zecke@openmoko.org> +Date: Wed, 2 Jul 2008 22:45:07 +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 8a27925..10934f7 100644 +--- a/drivers/i2c/chips/pcf50633.c ++++ b/drivers/i2c/chips/pcf50633.c +@@ -1037,25 +1037,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.5 + |