summaryrefslogtreecommitdiffstats
path: root/include/asm-arm
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@rpsys.net>2005-11-10 18:42:29 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2005-11-10 18:42:29 +0100
commit078abcf95cdb95c78d786dbc61ae3c22ee70fb61 (patch)
treefec0579ccb61371019248eee68c624734c8533d2 /include/asm-arm
parent[ARM] 3144/1: OMAP 5/5: Update omap H2 defconfig (diff)
downloadlinux-078abcf95cdb95c78d786dbc61ae3c22ee70fb61.tar.xz
linux-078abcf95cdb95c78d786dbc61ae3c22ee70fb61.zip
[ARM] 3096/1: Add SharpSL Zaurus power and battery management core driver
Patch from Richard Purdie This patch adds a power and battery management core driver which with the addition of the right device files, supports the c7x0 and cxx00 series of Sharp Zaurus handhelds. The driver is complex for several reasons. Battery charging is manually monitored and controlled. When suspended, the device needs to periodically partially resume, check the charging status and then re-suspend. It does without bothering the higher linux layers as a full resume and re-suspend is unnecessary. The code is carefully written to avoid interrupts or calling code outside the module under these circumstances. It also vets the various wake up sources and monitors the device's power situation. Hooks to limit the backlight intensity and to notify the battery monitoring code of backlight events are connected/added as the backlight is one of the biggest users of power on the device. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/asm-arm')
-rw-r--r--include/asm-arm/arch-pxa/sharpsl.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/asm-arm/arch-pxa/sharpsl.h b/include/asm-arm/arch-pxa/sharpsl.h
index 311f2bb5386a..0b43495d24b4 100644
--- a/include/asm-arm/arch-pxa/sharpsl.h
+++ b/include/asm-arm/arch-pxa/sharpsl.h
@@ -21,12 +21,18 @@ struct corgits_machinfo {
void (*wait_hsync)(void);
};
+
/*
* SharpSL Backlight
*/
-
struct corgibl_machinfo {
int max_intensity;
void (*set_bl_intensity)(int intensity);
};
+extern void corgibl_limit_intensity(int limit);
+
+/*
+ * SharpSL Battery/PM Driver
+ */
+extern void sharpsl_battery_kick(void);