mod_timer(&(gBtCtrl.tl),jiffies + BT_WAKE_LOCK_TIMEOUT*HZ);//ÔÙÖØÐÂÉèÖó¬Ê±Öµ¡£
}
-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;
}
{
DBG("%s\n",__FUNCTION__);
- btWakeupHostLock();
+ btWakeupHostLock(false);
resetBtHostSleepTimer();
gpio_set_value(RK29_PIN2_PA7, GPIO_LOW);
{
DBG("%s\n",__FUNCTION__);
- btWakeupHostLock();
+ btWakeupHostLock(true);
resetBtHostSleepTimer();
return IRQ_HANDLED;
}
mdelay(200);
#if BT_WAKE_HOST_SUPPORT
- btWakeupHostLock();
+ btWakeupHostLock(false);
#endif
pr_info("bt turn on power\n");
}
mod_timer(&(gBtCtrl.tl),jiffies + BT_WAKE_LOCK_TIMEOUT*HZ);//ÔÙÖØÐÂÉèÖó¬Ê±Öµ¡£
}
-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;
}
{
DBG("%s\n",__FUNCTION__);
- btWakeupHostLock();
+ btWakeupHostLock(false);
resetBtHostSleepTimer();
gpio_set_value(RK29_PIN2_PA7, GPIO_LOW);
{
DBG("%s\n",__FUNCTION__);
- btWakeupHostLock();
+ btWakeupHostLock(true);
resetBtHostSleepTimer();
return IRQ_HANDLED;
}
mdelay(200);
#if BT_WAKE_HOST_SUPPORT
- btWakeupHostLock();
+ btWakeupHostLock(false);
#endif
pr_info("bt turn on power\n");
}