input: pmic8xxx-pwrkey: Change algorithm on converting trigger delay

The previous algorithm requires that kpd_trigger_delay_us be set to
1/32 of the preferred trigger delay. The new algorithm allows setting
kpd_trigger_delay_us to the preferred trigger delay directly.

The actual delay can only be one of the eight levels: 2 sec, 1 sec,
1/2 sec, 1/4 sec, 1/8 sec, 1/16 sec, 1/32 sec, and 1/64 sec. The valid
range of kpd_trigger_delay_us is 1/64 second to 2 seconds. A value
within the valid range will be rounded down to the closest level. Any
value outside the valid range will be rejected.

Update board files for targets that use this driver accordingly.

CRs-Fixed: 307203
Change-Id: If98b9cd32e03ab85cd078024b2adee02212cf030
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
[sboyd: dropped board file changes]
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
This commit is contained in:
Jing Lin
2011-11-17 09:47:09 -08:00
committed by Stephen Boyd
parent e49102784c
commit 46bf579fdf
2 changed files with 12 additions and 3 deletions

View File

@@ -24,6 +24,13 @@
*/
struct pm8xxx_pwrkey_platform_data {
bool pull_up;
/* Time delay for pwr-key state change interrupt triggering in micro-
* second. The actual delay can only be one of these eight levels:
* 2 sec, 1 sec, 1/2 sec, 1/4 sec, 1/8 sec, 1/16 sec, 1/32 sec, and
* 1/64 sec. The valid range of kpd_trigger_delay_us is 1/64 second to
* 2 seconds. A value within the valid range will be rounded down to the
* closest level. Any value outside the valid range will be rejected.
*/
u32 kpd_trigger_delay_us;
u32 wakeup;
};