summaryrefslogtreecommitdiff
path: root/target/linux/s3c24xx/patches-2.6.24/1245-fix-pcf50633-only-do-platform-callback-once-per-even.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.24/1245-fix-pcf50633-only-do-platform-callback-once-per-even.patch')
-rw-r--r--target/linux/s3c24xx/patches-2.6.24/1245-fix-pcf50633-only-do-platform-callback-once-per-even.patch78
1 files changed, 0 insertions, 78 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.24/1245-fix-pcf50633-only-do-platform-callback-once-per-even.patch b/target/linux/s3c24xx/patches-2.6.24/1245-fix-pcf50633-only-do-platform-callback-once-per-even.patch
deleted file mode 100644
index c0418b5..0000000
--- a/target/linux/s3c24xx/patches-2.6.24/1245-fix-pcf50633-only-do-platform-callback-once-per-even.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From be0f111b3d1570dec174ff301d08bad995ccf1e6 Mon Sep 17 00:00:00 2001
-From: Andy Green <andy@openmoko.com>
-Date: Tue, 22 Jul 2008 22:17:15 +0100
-Subject: [PATCH] fix-pcf50633-only-do-platform-callback-once-per-event.patch
- Reported-by: Holger Freyther <zecke@openmoko.org>
-
-We harmlessly repeated PMU platform callbacks about charging state twice.
-Clean it up and leave it to pcf50633_charge_enable() to report once.
-
-Also tidies the sequencing so we set current limit before we enable
-charger now.
-
-Signed-off-by: Andy Green <andy@openmoko.com>
----
- drivers/i2c/chips/pcf50633.c | 35 ++++++++++++++++-------------------
- 1 files changed, 16 insertions(+), 19 deletions(-)
-
-diff --git a/drivers/i2c/chips/pcf50633.c b/drivers/i2c/chips/pcf50633.c
-index bd47ebc..98c254c 100644
---- a/drivers/i2c/chips/pcf50633.c
-+++ b/drivers/i2c/chips/pcf50633.c
-@@ -1392,6 +1392,7 @@ static DEVICE_ATTR(voltage_hcldo, S_IRUGO | S_IWUSR, show_vreg, set_vreg);
- static void pcf50633_usb_curlim_set(struct pcf50633_data *pcf, int ma)
- {
- u_int8_t bits;
-+ int active = 0;
-
- pcf->last_curlim_set = ma;
-
-@@ -1407,30 +1408,26 @@ static void pcf50633_usb_curlim_set(struct pcf50633_data *pcf, int ma)
- else
- bits = PCF50633_MBCC7_USB_SUSPEND;
-
-- DEBUGPC("pcf50633_usb_curlim_set -> %dmA\n", ma);
--
-- if (!pcf->pdata->cb)
-- goto set_it;
-+ /* set the nearest charging limit */
-+ reg_set_bit_mask(pcf, PCF50633_REG_MBCC7, PCF56033_MBCC7_USB_MASK,
-+ bits);
-
-+ /* with this charging limit, is charging actually meaningful? */
- switch (bits) {
-- case PCF50633_MBCC7_USB_100mA:
-- case PCF50633_MBCC7_USB_SUSPEND:
-- /* no charging is gonna be happening */
-- pcf->pdata->cb(&pcf->client.dev,
-- PCF50633_FEAT_MBC, PMU_EVT_CHARGER_IDLE);
-- pcf50633_charge_enable(pcf50633_global, 0);
-+ case PCF50633_MBCC7_USB_500mA:
-+ case PCF50633_MBCC7_USB_1000mA:
-+ /* yes with this charging limit, we can do real charging */
-+ active = 1;
- break;
-- default: /* right charging context that if there is power, we charge */
-- if (pcf->flags & PCF50633_F_USB_PRESENT)
-- pcf->pdata->cb(&pcf->client.dev,
-- PCF50633_FEAT_MBC, PMU_EVT_CHARGER_ACTIVE);
-- pcf50633_charge_enable(pcf50633_global, 1);
-+ default:
-+ /* no charging is gonna be happening */
- break;
- }
--
--set_it:
-- reg_set_bit_mask(pcf, PCF50633_REG_MBCC7, PCF56033_MBCC7_USB_MASK,
-- bits);
-+ /*
-+ * enable or disable charging according to current limit -- this will
-+ * also throw a platform notification callback about it
-+ */
-+ pcf50633_charge_enable(pcf50633_global, active);
-
- /* clear batfull */
- reg_set_bit_mask(pcf, PCF50633_REG_MBCC1,
---
-1.5.6.5
-