summaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
Diffstat (limited to 'target')
-rw-r--r--target/linux/omap24xx/patches-2.6.37/900-n810-battery-management.patch27
1 files changed, 13 insertions, 14 deletions
diff --git a/target/linux/omap24xx/patches-2.6.37/900-n810-battery-management.patch b/target/linux/omap24xx/patches-2.6.37/900-n810-battery-management.patch
index 31eeeb857a..e460d3c088 100644
--- a/target/linux/omap24xx/patches-2.6.37/900-n810-battery-management.patch
+++ b/target/linux/omap24xx/patches-2.6.37/900-n810-battery-management.patch
@@ -41,8 +41,8 @@ Index: linux-2.6.37/drivers/cbus/Makefile
Index: linux-2.6.37/drivers/cbus/n810bm_main.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.37/drivers/cbus/n810bm_main.c 2011-02-09 13:47:23.831144291 +0100
-@@ -0,0 +1,1169 @@
++++ linux-2.6.37/drivers/cbus/n810bm_main.c 2011-02-09 19:05:18.435536304 +0100
+@@ -0,0 +1,1168 @@
+/*
+ * Nokia n810 battery management
+ *
@@ -86,7 +86,7 @@ Index: linux-2.6.37/drivers/cbus/n810bm_main.c
+#define N810BM_PMM_BLOCK_SIZE 0x600
+
+#define N810BM_CHECK_INTERVAL (HZ * 2)
-+#define N810BM_MIN_VOLTAGE_THRES 3300 /* Absolute minimum voltage threshold */
++#define N810BM_MIN_VOLTAGE_THRES 3200 /* Absolute minimum voltage threshold */
+
+
+/* RETU_ADC_BSI
@@ -612,7 +612,6 @@ Index: linux-2.6.37/drivers/cbus/n810bm_main.c
+ struct n810bm, periodic_check_work);
+ u16 status;
+ bool battery_was_present, charger_was_present;
-+ bool force_charge = 0;
+ int mv;
+
+ mutex_lock(&bm->mutex);
@@ -646,23 +645,23 @@ Index: linux-2.6.37/drivers/cbus/n810bm_main.c
+ bm->charger_present ? "plugged in" : "removed");
+ }
+
-+ if (bm->battery_present && !lipocharge_is_charging(&bm->charger)) {
++ if ((bm->battery_present && !bm->charger_present) ||
++ !n810bm_known_battery_present(bm)){
+ /* We're draining the battery */
+ mv = n810bm_measure_batt_voltage(bm);
-+ if (mv < 0)
-+ n810bm_emergency(bm, "check timer: Failed to measure");
-+ if (!bm->charger_present) {
-+ if (mv < N810BM_MIN_VOLTAGE_THRES) {
-+ n810bm_emergency(bm, "check timer: "
-+ "Minimum voltage threshold reached");
-+ }
-+ force_charge = 1;
++ if (mv < 0) {
++ n810bm_emergency(bm,
++ "check: Failed to measure voltage");
++ }
++ if (mv < N810BM_MIN_VOLTAGE_THRES) {
++ n810bm_emergency(bm,
++ "check: Minimum voltage threshold reached");
+ }
+ }
+
+ if (bm->charger_present && n810bm_known_battery_present(bm)) {
+ /* Known battery and charger are connected */
-+ if (bm->charger_enabled || force_charge) {
++ if (bm->charger_enabled) {
+ /* Charger is enabled */
+ if (!lipocharge_is_charging(&bm->charger)) {
+ //TODO start charging, if battery is below some threshold