From e5c57c56df6e6c87c84fda491542cec83cd14ff6 Mon Sep 17 00:00:00 2001 From: mb Date: Sun, 6 Feb 2011 12:44:12 +0000 Subject: n810: Add more battery management code git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25380 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../510-retu-tahvo-user-debugging.patch | 47 ++++++++++------------ 1 file changed, 21 insertions(+), 26 deletions(-) (limited to 'target/linux/omap24xx/patches-2.6.37/510-retu-tahvo-user-debugging.patch') diff --git a/target/linux/omap24xx/patches-2.6.37/510-retu-tahvo-user-debugging.patch b/target/linux/omap24xx/patches-2.6.37/510-retu-tahvo-user-debugging.patch index 3a988fb99..481c278d9 100644 --- a/target/linux/omap24xx/patches-2.6.37/510-retu-tahvo-user-debugging.patch +++ b/target/linux/omap24xx/patches-2.6.37/510-retu-tahvo-user-debugging.patch @@ -4,10 +4,10 @@ drivers/cbus/tahvo-user.c | 75 +++++++++++++++++++++++++++++ 3 files changed, 198 insertions(+), 2 deletions(-) -Index: linux-2.6.37-rc1/drivers/cbus/Kconfig +Index: linux-2.6.37/drivers/cbus/Kconfig =================================================================== ---- linux-2.6.37-rc1.orig/drivers/cbus/Kconfig 2010-11-05 17:04:49.001997921 +0100 -+++ linux-2.6.37-rc1/drivers/cbus/Kconfig 2010-11-05 17:04:52.017998785 +0100 +--- linux-2.6.37.orig/drivers/cbus/Kconfig 2011-02-05 20:01:30.636705379 +0100 ++++ linux-2.6.37/drivers/cbus/Kconfig 2011-02-05 20:56:11.593025426 +0100 @@ -28,6 +28,10 @@ If you want support for Tahvo's user space read/write etc. functions, you should say Y here. @@ -30,10 +30,10 @@ Index: linux-2.6.37-rc1/drivers/cbus/Kconfig config CBUS_RETU_POWERBUTTON depends on CBUS_RETU bool "Support for Retu power button" -Index: linux-2.6.37-rc1/drivers/cbus/retu-user.c +Index: linux-2.6.37/drivers/cbus/retu-user.c =================================================================== ---- linux-2.6.37-rc1.orig/drivers/cbus/retu-user.c 2010-11-05 17:04:49.002997987 +0100 -+++ linux-2.6.37-rc1/drivers/cbus/retu-user.c 2010-11-05 17:04:52.017998785 +0100 +--- linux-2.6.37.orig/drivers/cbus/retu-user.c 2011-02-05 20:01:30.637705440 +0100 ++++ linux-2.6.37/drivers/cbus/retu-user.c 2011-02-05 20:56:42.584938988 +0100 @@ -46,6 +46,12 @@ #define PFX "retu-user: " @@ -47,7 +47,7 @@ Index: linux-2.6.37-rc1/drivers/cbus/retu-user.c /* Bitmap for marking the interrupt sources as having the handlers */ static u32 retu_irq_bits; -@@ -105,6 +111,94 @@ +@@ -105,6 +111,93 @@ 3 }; @@ -88,7 +88,6 @@ Index: linux-2.6.37-rc1/drivers/cbus/retu-user.c + [RETU_REG_STATUS] = "Status register", + [RETU_REG_WATCHDOG] = "Watchdog register", + [RETU_REG_AUDTXR] = "Audio Codec Tx register", -+ [0x14] = "Charger detect?", + }; + const char *name; + @@ -142,7 +141,7 @@ Index: linux-2.6.37-rc1/drivers/cbus/retu-user.c /* * The handler for all RETU interrupts. * -@@ -157,6 +251,8 @@ +@@ -157,6 +250,8 @@ /* Mark that this interrupt has a handler */ retu_irq_bits |= 1 << id; @@ -151,7 +150,7 @@ Index: linux-2.6.37-rc1/drivers/cbus/retu-user.c return 0; } -@@ -216,6 +312,10 @@ +@@ -216,6 +311,10 @@ /* Generate new value */ tmp = (tmp & ~MASK(field)) | (value & MASK(field)); @@ -162,7 +161,7 @@ Index: linux-2.6.37-rc1/drivers/cbus/retu-user.c /* Write data to RETU */ retu_write_reg(reg, tmp); spin_unlock_irqrestore(&retu_lock, flags); -@@ -244,6 +344,9 @@ +@@ -244,6 +343,9 @@ /* Read the register */ value = retu_read_reg(reg) & mask; @@ -172,7 +171,7 @@ Index: linux-2.6.37-rc1/drivers/cbus/retu-user.c /* Right justify value */ while (!(mask & 1)) { value = value >> 1; -@@ -273,7 +376,7 @@ +@@ -273,7 +375,7 @@ static long retu_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) { struct retu_tahvo_write_parms par; @@ -181,7 +180,7 @@ Index: linux-2.6.37-rc1/drivers/cbus/retu-user.c switch (cmd) { case URT_IOCT_IRQ_SUBSCR: -@@ -290,7 +393,15 @@ +@@ -290,7 +392,15 @@ printk(KERN_ERR "copy_to_user failed: %d\n", ret); break; case RETU_IOCH_ADC_READ: @@ -198,7 +197,7 @@ Index: linux-2.6.37-rc1/drivers/cbus/retu-user.c default: return -ENOIOCTLCMD; } -@@ -332,6 +443,8 @@ +@@ -332,6 +442,8 @@ list_move(&irq->node, &retu_irqs_reserve); spin_unlock_irqrestore(&retu_irqs_lock, flags); @@ -207,10 +206,10 @@ Index: linux-2.6.37-rc1/drivers/cbus/retu-user.c ret = copy_to_user(buf + i * sizeof(irq_id), &irq_id, sizeof(irq_id)); if (ret) -Index: linux-2.6.37-rc1/drivers/cbus/tahvo-user.c +Index: linux-2.6.37/drivers/cbus/tahvo-user.c =================================================================== ---- linux-2.6.37-rc1.orig/drivers/cbus/tahvo-user.c 2010-11-05 17:04:49.003998052 +0100 -+++ linux-2.6.37-rc1/drivers/cbus/tahvo-user.c 2010-11-05 17:04:52.018998824 +0100 +--- linux-2.6.37.orig/drivers/cbus/tahvo-user.c 2011-02-05 20:01:30.638705501 +0100 ++++ linux-2.6.37/drivers/cbus/tahvo-user.c 2011-02-05 20:57:03.817249794 +0100 @@ -46,6 +46,12 @@ #define PFX "tahvo-user: " @@ -224,7 +223,7 @@ Index: linux-2.6.37-rc1/drivers/cbus/tahvo-user.c /* Bitmap for marking the interrupt sources as having the handlers */ static u32 tahvo_irq_bits; -@@ -87,6 +93,64 @@ +@@ -87,6 +93,60 @@ 1 }; @@ -255,10 +254,6 @@ Index: linux-2.6.37-rc1/drivers/cbus/tahvo-user.c + [TAHVO_REG_IMR] = "Interrupt mask", + [TAHVO_REG_LEDPWMR] = "LED PWM", + [TAHVO_REG_USBR] = "USB control", -+ [0x04] = "Charge current control?", -+ [0x08] = "Charge ctl 1?", -+ [0x0C] = "Charge ctl 2?", -+ [0x0D] = "Battery current ADC?", + }; + const char *name; + @@ -289,7 +284,7 @@ Index: linux-2.6.37-rc1/drivers/cbus/tahvo-user.c /* * The handler for all TAHVO interrupts. * -@@ -142,6 +206,8 @@ +@@ -142,6 +202,8 @@ /* Mark that this interrupt has a handler */ tahvo_irq_bits |= 1 << id; @@ -298,7 +293,7 @@ Index: linux-2.6.37-rc1/drivers/cbus/tahvo-user.c return 0; } -@@ -200,6 +266,10 @@ +@@ -200,6 +262,10 @@ } /* Generate a new value */ tmp = (tmp & ~MASK(field)) | (value & MASK(field)); @@ -309,7 +304,7 @@ Index: linux-2.6.37-rc1/drivers/cbus/tahvo-user.c /* Write data to TAHVO */ tahvo_write_reg(reg, tmp); spin_unlock_irqrestore(&tahvo_lock, flags); -@@ -228,6 +298,9 @@ +@@ -228,6 +294,9 @@ /* Read the register */ value = tahvo_read_reg(reg) & mask; @@ -319,7 +314,7 @@ Index: linux-2.6.37-rc1/drivers/cbus/tahvo-user.c /* Right justify value */ while (!(mask & 1)) { value = value >> 1; -@@ -314,6 +387,8 @@ +@@ -314,6 +383,8 @@ list_move(&irq->node, &tahvo_irqs_reserve); spin_unlock_irqrestore(&tahvo_irqs_lock, flags); -- cgit v1.2.3