summaryrefslogtreecommitdiff
path: root/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/sharpsl_battery.patch
diff options
context:
space:
mode:
Diffstat (limited to 'linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/sharpsl_battery.patch')
-rw-r--r--linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/sharpsl_battery.patch346
1 files changed, 0 insertions, 346 deletions
diff --git a/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/sharpsl_battery.patch b/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/sharpsl_battery.patch
deleted file mode 100644
index fafdf32e55..0000000000
--- a/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/sharpsl_battery.patch
+++ /dev/null
@@ -1,346 +0,0 @@
---- linux-orig/arch/arm/mach-pxa/sharpsl_battery.c 2004-02-18 23:41:57.000000000 +0300
-+++ linux/arch/arm/mach-pxa/sharpsl_battery.c 2004-02-24 06:21:56.000000000 +0300
-@@ -197,7 +197,7 @@
- #define SHARPSL_CHECK_BATTERY_WAIT_TIME_VOLT 1 // 10msec
- #define SHARPSL_CHECK_BATTERY_WAIT_TIME_JKVAD 1 // 10msec
- #define SHARPSL_CORGI_FATAL_ACIN_VOLT 182 // 3.45V
--#define SHARPSL_CORGI_FATAL_NOACIN_VOLT 179 // 3.40V
-+#define SHARPSL_CORGI_FATAL_NOACIN_VOLT 170 // 3.40V
- #define SHARPSL_CORGI_WAIT_CO_TIME 15 // 15 Sec
- //NOTICE !! you want to change this value , so you must change
- // alarm check mirgin time ( +30 ) in the sharpsl_power.c.
-@@ -245,10 +245,17 @@
- BATTERY_THRESH *GetMainLevel( int Volt );
- int sharpsl_get_main_battery(void);
- int suspend_sharpsl_read_Voltage(void);
-+int GetMainPercent(int);
- int GetMainChargePercent(int);
- int Get_DAC_Value(int);
- int sharpsl_check_battery(int mode);
-
-+// remove warnings
-+static int sharpsl_battery_thread_main(void);
-+int handle_scancode(int, int);
-+int sharpsl_ac_check(void);
-+void sharpsl_charge_err_off(void);
-+
- /*** extern ***********************************************************************/
- extern u32 apm_wakeup_src_mask;
- #if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-@@ -269,7 +276,6 @@
-
- /*** variables ********************************************************************/
-
--
- #if defined(CONFIG_ARCH_PXA_POODLE)
-
- BATTERY_THRESH sharpsl_main_battery_thresh_fl[] = {
-@@ -293,20 +299,26 @@
- #elif defined(CONFIG_ARCH_PXA_CORGI)
-
- BATTERY_THRESH sharpsl_main_battery_thresh_fl[] = {
-- { 194, 100, SHARPSL_BATTERY_STATUS_HIGH},
-- { 188, 75, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 999, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 210, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 194, 90, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 188, 70, SHARPSL_BATTERY_STATUS_HIGH},
- { 184, 50, SHARPSL_BATTERY_STATUS_HIGH},
- { 180, 25, SHARPSL_BATTERY_STATUS_LOW},
-- { 171, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
-+ { 174, 10, SHARPSL_BATTERY_STATUS_LOW},
-+ { 170, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
- { 0, 0, SHARPSL_BATTERY_STATUS_CRITICAL},
- };
-
- BATTERY_THRESH sharpsl_main_battery_thresh_nofl[] = {
-- { 194, 100, SHARPSL_BATTERY_STATUS_HIGH},
-- { 188, 75, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 999, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 210, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 194, 90, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 188, 70, SHARPSL_BATTERY_STATUS_HIGH},
- { 184, 50, SHARPSL_BATTERY_STATUS_HIGH},
- { 180, 25, SHARPSL_BATTERY_STATUS_LOW},
-- { 171, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
-+ { 174, 10, SHARPSL_BATTERY_STATUS_LOW},
-+ { 170, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
- { 0, 0, SHARPSL_BATTERY_STATUS_CRITICAL},
- };
- #endif
-@@ -332,25 +344,36 @@
- #elif defined(CONFIG_ARCH_PXA_CORGI)
-
- BATTERY_THRESH sharpsl_main_battery_thresh_charge_fl[] = {
-- { 200, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 999, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 210, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 200, 95, SHARPSL_BATTERY_STATUS_HIGH},
- { 196, 75, SHARPSL_BATTERY_STATUS_HIGH},
- { 192, 50, SHARPSL_BATTERY_STATUS_HIGH},
- { 187, 25, SHARPSL_BATTERY_STATUS_LOW},
-- { 171, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
-+ { 182, 10, SHARPSL_BATTERY_STATUS_LOW},
-+ { 170, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
- { 0, 0, SHARPSL_BATTERY_STATUS_CRITICAL},
- };
-
- BATTERY_THRESH sharpsl_main_battery_thresh_charge_nofl[] = {
-- { 200, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 999, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 210, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 200, 95, SHARPSL_BATTERY_STATUS_HIGH},
- { 196, 75, SHARPSL_BATTERY_STATUS_HIGH},
- { 192, 50, SHARPSL_BATTERY_STATUS_HIGH},
- { 187, 25, SHARPSL_BATTERY_STATUS_LOW},
-- { 171, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
-+ { 182, 10, SHARPSL_BATTERY_STATUS_LOW},
-+ { 170, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
- { 0, 0, SHARPSL_BATTERY_STATUS_CRITICAL},
- };
-
- #endif
-
-+//#if defined(CONFIG_ARCH_PXA_CORGI)
-+#define MAIN_BATTERY_THRES (sizeof(sharpsl_main_battery_thresh_charge_nofl) / sizeof(BATTERY_THRESH) - 1)
-+//#endif
-+
-+
- #if 1
- static struct file_operations sharpsl_battery_fops = {
- };
-@@ -389,6 +412,8 @@
- int sharpsl_main_battery = SHARPSL_BATTERY_STATUS_HIGH;
- int sharpsl_main_battery_percentage = 100;
- int sharpsl_main_charge_battery = 100;
-+int sharpsl_main_battery_voltage = 200;
-+
- int sharpsl_ac_status = APM_AC_OFFLINE;
-
- static int MainCntWk = SHARPSL_MAIN_GOOD_COUNT;
-@@ -498,7 +523,7 @@
- // 2 : check battery w/ refresh battery status.
- void sharpsl_kick_battery_check(int before_waitms,int after_waitms,int flag)
- {
-- int start;
-+ //int start;
-
-
- MainCntWk = MainCnt + 1;
-@@ -604,6 +629,7 @@
- }
- #endif
-
-+ return 0;
- }
-
-
-@@ -920,13 +946,17 @@
- #endif
-
- voltage = sharpsl_cnv_value(voltage);
--
-+ sharpsl_main_battery_voltage = voltage;
-+
- thresh = GetMainLevel(voltage);
-
-+ sharpsl_main_battery = thresh->status;
-+ sharpsl_main_battery_percentage = GetMainPercent(voltage);
-+ sharpsl_main_charge_battery = GetMainChargePercent(voltage);
-+
- // if battery is low , backlight driver become to save power.
- if ( ( ( thresh->status == SHARPSL_BATTERY_STATUS_VERYLOW ) ||
-- ( thresh->status == SHARPSL_BATTERY_STATUS_CRITICAL ) ||
-- ( thresh->status == SHARPSL_BATTERY_STATUS_LOW ) ) &&
-+ ( thresh->status == SHARPSL_BATTERY_STATUS_CRITICAL )) &&
- ( !sharpsl_main_bk_flag ) ) {
- SHARPSL_LIMIT_CONTRAST(SHARPSL_CAUTION_CONTRAST);
- }
-@@ -934,11 +964,7 @@
- if ( sharpsl_main_bk_flag == 0 ) {
- return sharpsl_main_battery;
- }
-- sharpsl_main_battery = thresh->status;
-- sharpsl_main_battery_percentage = thresh->percentage;
-- sharpsl_main_charge_battery = GetMainChargePercent(voltage);
--
-- //printk("bat : main battery = %d\n",sharpsl_main_battery);
-+
-
- if ( sharpsl_debug_flag != 0 ) {
- int i;
-@@ -946,7 +972,8 @@
- sharpsl_main_battery = sharpsl_debug_flag;
- for (i = 0; sharpsl_main_battery_thresh_nofl[i].voltage > 0; i++) {
- if ( sharpsl_debug_flag == sharpsl_main_battery_thresh_nofl[i].status ) {
-- sharpsl_main_battery_percentage = sharpsl_main_battery_thresh_nofl[i].percentage;
-+ //sharpsl_main_battery_percentage = sharpsl_main_battery_thresh_nofl[i].percentage;
-+ sharpsl_main_battery_percentage = GetMainPercent(voltage);
- break;
- }
- }
-@@ -965,7 +992,7 @@
- sharpsl_main_battery_percentage = sharpsl_main_percent_bk;
- }
-
-- DPRINTK2("charge percent = %d ( at %d ) \n",sharpsl_main_charge_battery,(int)jiffies);
-+ //DPRINTK2("charge percent = %d ( at %d ) \n",sharpsl_main_charge_battery,(int)jiffies);
- DPRINTK(" get Main battery status %d\n",sharpsl_main_battery);
-
- } else {
-@@ -975,40 +1002,79 @@
- return sharpsl_main_battery;
- }
-
--int GetMainChargePercent( int Volt )
-+int GetLevelIndex(BATTERY_THRESH *thresh, int Volt)
-+{
-+ int i = MAIN_BATTERY_THRES;
-+
-+ DPRINTK("volt = %d \n", Volt);
-+ while (i > 0 && (Volt > thresh[i].voltage))
-+ i--;
-+
-+ return i;
-+}
-+
-+int GetPercent(BATTERY_THRESH *thresh, int Volt)
-+{
-+ int i = GetLevelIndex(thresh, Volt);
-+
-+ /* i is now between 0 and MAIN_BATTERY_THRES. That means
-+ * we can safely access main_batt_thres[i] and
-+ * main_batt_thres[i+1] */
-+
-+ {
-+// long percentage = thresh[i].percentage;
-+
-+ long deltav = thresh[i].voltage - thresh[i + 1].voltage;
-+ long deltap = thresh[i].percentage - thresh[i + 1].percentage;
-+
-+ long percentage =
-+ thresh[i + 1].percentage +
-+ deltap * (Volt - thresh[i + 1].voltage) /
-+ deltav;
-+
-+ DPRINTK("percentage = %d \n", percentage);
-+ return percentage;
-+ }
-+
-+ return thresh[i].percentage;
-+}
-+
-+int GetMainPercent( int Volt )
- {
-- int i;
- BATTERY_THRESH *thresh;
-
-- DPRINTK(" volt = %d \n",Volt);
-+ if (counter_step_contrast)
-+ thresh = sharpsl_main_battery_thresh_fl;
-+ else
-+ thresh = sharpsl_main_battery_thresh_nofl;
-+
-+ return GetPercent(thresh, Volt);
-+}
-+
-+int GetMainChargePercent( int Volt )
-+{
-+ BATTERY_THRESH *thresh;
-
- if (counter_step_contrast)
-- thresh = sharpsl_main_battery_thresh_charge_fl;
-+ thresh = sharpsl_main_battery_thresh_charge_fl;
- else
-- thresh = sharpsl_main_battery_thresh_charge_nofl;
-- for (i = 0; thresh[i].voltage > 0; i++) {
-- if (Volt >= thresh[i].voltage)
-- return thresh[i].percentage;
-- }
-- return thresh[i].percentage;
-+ thresh = sharpsl_main_battery_thresh_charge_nofl;
-+
-+ return GetPercent(thresh, Volt);
- }
-
- BATTERY_THRESH *GetMainLevel( int Volt )
- {
-- int i;
- BATTERY_THRESH *thresh;
-
- DPRINTK(" volt = %d \n",Volt);
-
- if (counter_step_contrast)
-- thresh = sharpsl_main_battery_thresh_fl;
-+ thresh = sharpsl_main_battery_thresh_fl;
- else
-- thresh = sharpsl_main_battery_thresh_nofl;
-- for (i = 0; thresh[i].voltage > 0; i++) {
-- if (Volt >= thresh[i].voltage)
-- return &thresh[i];
-- }
-- return &thresh[i];
-+ thresh = sharpsl_main_battery_thresh_nofl;
-+
-+ return &thresh[GetLevelIndex(thresh, Volt)];
- }
-
-
-@@ -1018,7 +1084,7 @@
- int Get_DAC_Value(int channel)
- {
- unsigned long cmd;
-- unsigned int dummy;
-+ unsigned int dummy;
- int voltage;
-
- #if defined(CONFIG_ARCH_PXA_POODLE)
-@@ -1263,7 +1329,7 @@
- // 0: OK
- int sharpsl_ac_check(void)
- {
-- int temp, i, volt;
-+ int temp, i; //, volt;
- int buff[5];
-
- if ( in_interrupt() ) {
-@@ -1835,14 +1901,18 @@
- int def_value;
- char* name;
- char* description;
-+ char readonly;
- unsigned short low_ino;
- } sharpsl_battery_entry_t;
-
- static sharpsl_battery_entry_t sharpsl_battery_params[] = {
- /* { addr, def_value, name, description }*/
-- { &msglevel, 0, "msglevel", "debug message output level" },
-- { &sharpsl_debug_flag , 0 , "dflag", "debug flag" },
-- { &sharpsl_change_battery_status , 0 , "chg_status", "Change status" }
-+ { &msglevel, 0, "msglevel", "debug message output level", 0 },
-+ { &sharpsl_debug_flag , 0 , "dflag", "debug flag", 0 },
-+ { &sharpsl_change_battery_status , 0 , "chg_status", "Change status", 1 },
-+ { &sharpsl_main_battery_percentage , 0 , "charge_percentage", "Charge percentage", 1 },
-+ { &sharpsl_main_battery_voltage , 0 , "main_voltage", "Main voltage", 1 }, // alias
-+ { &sharpsl_main_battery_voltage , 0 , "charge_voltage", "Charge voltage", 1 }
- };
- #define NUM_OF_BATTERY_ENTRY (sizeof(sharpsl_battery_params)/sizeof(sharpsl_battery_entry_t))
-
-@@ -1866,7 +1936,7 @@
- if (current_param==NULL) {
- return -EINVAL;
- }
-- count = sprintf(outputbuf, "0x%08X\n",
-+ count = sprintf(outputbuf, "%04i\n",
- *((volatile Word *) current_param->addr));
- *ppos += count;
- if (count>nbytes) /* Assume output can be read at one time */
-@@ -1891,7 +1961,7 @@
- break;
- }
- }
-- if (current_param==NULL) {
-+ if (current_param==NULL || current_param->readonly) {
- return -EINVAL;
- }
-