[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>
This commit is contained in:
committed by
Russell King
parent
b1faebb672
commit
078abcf95c
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user