From 7c172b39753f91cb6390c675b78d689003ff3796 Mon Sep 17 00:00:00 2001 From: "sh.pi" Date: Wed, 22 Aug 2012 14:07:33 +0900 Subject: [PATCH] Merge Tizen 2.0 dev to RSA --- debian/changelog | 8 ++++++++ pm.c | 4 ++++ pmapi.h | 18 +++++++++++++----- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/debian/changelog b/debian/changelog index d443e08..f1d9431 100755 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +libslp-pm (1.2.4-21) unstable; urgency=low + + * Add parameters for pm_lock_state() : HOLD_KEY_BLOCK + * Git: slp/pkgs/l/libslp-pm + * Tag: libslp-pm_1.2.4-21 + + -- Seunghun Pi Sun, 29 Jul 2012 16:17:27 +0900 + libslp-pm (1.2.4-20) unstable; urgency=low * source clean up (remove unnecessary comments, and so on) diff --git a/pm.c b/pm.c index 32cfe59..90b7430 100644 --- a/pm.c +++ b/pm.c @@ -35,6 +35,7 @@ #define SHIFT_UNLOCK 4 #define SHIFT_UNLOCK_PARAMETER 12 #define SHIFT_CHANGE_STATE 8 +#define SHIFT_HOLD_KEY_BLOCK 16 #define TIMEOUT_RESET_BIT 0x80 struct pwr_msg { @@ -113,6 +114,9 @@ API int pm_lock_state(unsigned int s_bits, unsigned int flag, if (flag & GOTO_STATE_NOW) /* if the flag is true, go to the locking state directly */ s_bits = s_bits | (s_bits << SHIFT_CHANGE_STATE); + if (flag & HOLD_KEY_BLOCK) + s_bits = s_bits | (1 << SHIFT_HOLD_KEY_BLOCK); + return send_msg(s_bits, timeout); } diff --git a/pmapi.h b/pmapi.h index fbd9c6c..8efb250 100644 --- a/pmapi.h +++ b/pmapi.h @@ -100,8 +100,9 @@ extern "C" { #define SETALL (LCD_DIM | LCD_OFF | LCD_NORMAL) /*< select all state - not supported yet */ /* parameters for pm_lock_state() */ -#define GOTO_STATE_NOW 0x1 #define STAY_CUR_STATE 0x0 +#define GOTO_STATE_NOW 0x1 +#define HOLD_KEY_BLOCK 0x2 /* paramters for pm_unlcok_state() - details are described at 162 line */ #define PM_SLEEP_MARGIN 0x0 /**< keep guard time for unlock */ @@ -115,13 +116,20 @@ extern "C" { * @brief This API is used to lock a particular power-state as the current power-state.\n * The parameter state specifies the power state which you want to lock LCD_NORMAL, LCD_DIM, LCD_OFF. \n * The second parameter Flag is set if you want to go the requested lock state directly.\n - * The third parameter timeout specifies lock-timeout in milliseconds. + * The third parameter timeout specifies lock-timeout in milliseconds. * If the value 0 is selected, the power state remains locked until pm_unlock_state is called. * @param[in] state target power state which you want to lock - LCD_NORMAL, LCD_DIM, LCD_OFF - * @param[in] flag set if you want to go the lock state directly - GOTO_STATE_NOW, STAY_CUR_STATE - * @param[in] timeout lock-timeout in miliseconds. + * @param[in] flag set if you want to go the lock state directly + * GOTO_STATE_NOW - State is changed directly you want to lock. + * STAY_CUR_STATE - State is not changed directly and phone stay current state until timeout expired. + * (Default if there is no value in flag.) + * HOLD_KEY_BLOCK - Hold key is blocked during locking LCD_NORMAL or LCD_DIM. + * Then LCD state transition to LCD_OFF is blocked. + * If this flag is not set, phone state is lcd off after pressing hold key. + * GOTO_STATE_NOW and STAY_CUR_STATE can't be applied at the same time. + * @param[in] timeout lock-timeout in miliseconds. * 0 is always lock until calling pm_unlock_state - * If you call this function with same state in duplicate, + * If you call this function with same state in duplicate, * only last one will be processed and others are ignored. * @return 0 on success, -1 if failed * @see pm_unlock_state(), pm_change_state() -- 2.7.4