static int bcm4329_rfkill_resume(struct platform_device *pdev) { DBG("%s\n",__FUNCTION__); btWakeupHostLock(); resetBtHostSleepTimer(); return 0; }
static irqreturn_t bcm4329_wake_host_irq(int irq, void *dev) { DBG("%s\n",__FUNCTION__); btWakeupHostLock(); resetBtHostSleepTimer(); return IRQ_HANDLED; }
static int bcm4329_rfkill_resume(struct platform_device *pdev) { DBG("%s\n",__FUNCTION__); btWakeupHostLock(); resetBtHostSleepTimer(); gpio_set_value(UART_RTS, GPIO_LOW); IOMUX_UART_RTS; return 0; }
static int bcm4329_set_block(void *data, bool blocked) { DBG("%s---blocked :%d\n", __FUNCTION__, blocked); IOMUX_BT_GPIO_POWER; IOMUX_BT_GPIO_RESET; if (false == blocked) { gpio_set_value(BT_GPIO_POWER, GPIO_HIGH); /* bt power on */ gpio_set_value(BT_GPIO_RESET, GPIO_LOW); mdelay(20); gpio_set_value(BT_GPIO_RESET, GPIO_HIGH); /* bt reset deactive*/ mdelay(20); #if BT_WAKE_HOST_SUPPORT btWakeupHostLock(); #endif pr_info("bt turn on power\n"); } else { #if BT_WAKE_HOST_SUPPORT btWakeupHostUnlock(); #endif if (!rk29sdk_wifi_power_state) { gpio_set_value(BT_GPIO_POWER, GPIO_LOW); /* bt power off */ mdelay(20); pr_info("bt shut off power\n"); }else { pr_info("bt shouldn't shut off power, wifi is using it!\n"); } gpio_set_value(BT_GPIO_RESET, GPIO_LOW); /* bt reset active*/ mdelay(20); } rk29sdk_bt_power_state = !blocked; return 0; }
static irqreturn_t bcm4329_wake_host_irq(int irq, void *dev) { btWakeupHostLock(); resetBtHostSleepTimer(); return IRQ_HANDLED; }