bluetooth: Add the Judge of the bluetooth irq to send wake up key

This commit is contained in:
wdc
2011-07-13 14:31:37 +08:00
parent aa7ff457c4
commit 2526a3909d
2 changed files with 22 additions and 10 deletions

View File

@@ -64,11 +64,17 @@ void resetBtHostSleepTimer(void)
mod_timer(&(gBtCtrl.tl),jiffies + BT_WAKE_LOCK_TIMEOUT*HZ);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>ʱֵ<CAB1><D6B5>
}
void btWakeupHostLock(void)
void btWakeupHostLock(bool bt_irq_wake)
{
if(gBtCtrl.b_HostWake == false){
DBG("*************************Lock\n");
rk28_send_wakeup_key();
if(bt_irq_wake)
{
printk("BT wakeup hostLock by send wakeup key\n");
rk28_send_wakeup_key();
}
wake_lock(&(gBtCtrl.bt_wakelock));
gBtCtrl.b_HostWake = true;
}
@@ -107,7 +113,7 @@ static int bcm4329_rfkill_resume(struct platform_device *pdev)
{
DBG("%s\n",__FUNCTION__);
btWakeupHostLock();
btWakeupHostLock(false);
resetBtHostSleepTimer();
gpio_set_value(RK29_PIN2_PA7, GPIO_LOW);
@@ -124,7 +130,7 @@ static irqreturn_t bcm4329_wake_host_irq(int irq, void *dev)
{
DBG("%s\n",__FUNCTION__);
btWakeupHostLock();
btWakeupHostLock(true);
resetBtHostSleepTimer();
return IRQ_HANDLED;
}
@@ -157,7 +163,7 @@ static int bcm4329_set_block(void *data, bool blocked)
mdelay(200);
#if BT_WAKE_HOST_SUPPORT
btWakeupHostLock();
btWakeupHostLock(false);
#endif
pr_info("bt turn on power\n");
}

View File

@@ -64,11 +64,17 @@ void resetBtHostSleepTimer(void)
mod_timer(&(gBtCtrl.tl),jiffies + BT_WAKE_LOCK_TIMEOUT*HZ);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>ʱֵ<CAB1><D6B5>
}
void btWakeupHostLock(void)
void btWakeupHostLock(bool bt_irq_wake)
{
if(gBtCtrl.b_HostWake == false){
DBG("*************************Lock\n");
rk28_send_wakeup_key();
if(bt_irq_wake)
{
printk("BT wakeup hostLock by send wakeup key\n");
rk28_send_wakeup_key();
}
wake_lock(&(gBtCtrl.bt_wakelock));
gBtCtrl.b_HostWake = true;
}
@@ -107,7 +113,7 @@ static int bcm4329_rfkill_resume(struct platform_device *pdev)
{
DBG("%s\n",__FUNCTION__);
btWakeupHostLock();
btWakeupHostLock(false);
resetBtHostSleepTimer();
gpio_set_value(RK29_PIN2_PA7, GPIO_LOW);
@@ -124,7 +130,7 @@ static irqreturn_t bcm4329_wake_host_irq(int irq, void *dev)
{
DBG("%s\n",__FUNCTION__);
btWakeupHostLock();
btWakeupHostLock(true);
resetBtHostSleepTimer();
return IRQ_HANDLED;
}
@@ -157,7 +163,7 @@ static int bcm4329_set_block(void *data, bool blocked)
mdelay(200);
#if BT_WAKE_HOST_SUPPORT
btWakeupHostLock();
btWakeupHostLock(false);
#endif
pr_info("bt turn on power\n");
}