diff options
Diffstat (limited to 'drivers/staging/cg2900/mfd/cg2900_core.c')
-rw-r--r-- | drivers/staging/cg2900/mfd/cg2900_core.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/staging/cg2900/mfd/cg2900_core.c b/drivers/staging/cg2900/mfd/cg2900_core.c index b1f34d71eec..fe28ab6b7ae 100644 --- a/drivers/staging/cg2900/mfd/cg2900_core.c +++ b/drivers/staging/cg2900/mfd/cg2900_core.c @@ -55,7 +55,9 @@ */ #define CHIP_READY_TIMEOUT (100) /* ms */ #define REVISION_READOUT_TIMEOUT (500) /* ms */ -#define SLEEP_TIMEOUT_MS (10000) /* ms */ +#define SLEEP_TIMEOUT_MS (150) /* ms */ +/* Timeout value to check CTS line for low power */ +#define READY_FOR_SLEEP_TIMEOUT_MS (50) /* ms */ /** * enum boot_state - BOOT-state for CG2900 Core. @@ -592,16 +594,21 @@ EXPORT_SYMBOL_GPL(cg2900_deregister_trans_driver); /** * cg2900_get_sleep_timeout() - Return sleep timeout in jiffies. + * @check_sleep: If we want to check whether chip has gone + * to sleep then use lesser timeout value * * Returns: * Sleep timeout in jiffies. 0 means that sleep timeout shall not be used. */ -unsigned long cg2900_get_sleep_timeout(void) +unsigned long cg2900_get_sleep_timeout(bool check_sleep) { if (!sleep_timeout_ms) return 0; - return msecs_to_jiffies(sleep_timeout_ms); + if (check_sleep) + return msecs_to_jiffies(READY_FOR_SLEEP_TIMEOUT_MS); + else + return msecs_to_jiffies(sleep_timeout_ms); } EXPORT_SYMBOL_GPL(cg2900_get_sleep_timeout); |