gpio_request(UART_RTS, "uart_rts");
gpio_set_value(UART_RTS, GPIO_HIGH);
+#ifdef CONFIG_RFKILL_RESET
+ extern void rfkill_set_block(struct rfkill *rfkill, bool blocked);
+ printk("rfkill_set_block\n");
+ rfkill_set_block(gBtCtrl.bt_rfk, true);
+#endif
+
return 0;
}
If you say yes here you get support of a generic gpio RFKILL
driver. The platform should fill in the appropriate fields in the
rfkill_gpio_platform_data structure and pass that to the driver.
+
+config RFKILL_RESET
+ bool "Reset bluetooth on resume"
+ depends on RFKILL && PM
+ default n
+
* Calls the set_block method (when applicable) and handles notifications
* etc. as well.
*/
+#ifdef CONFIG_RFKILL_RESET
+void rfkill_set_block(struct rfkill *rfkill, bool blocked)
+#else
static void rfkill_set_block(struct rfkill *rfkill, bool blocked)
+#endif
{
unsigned long flags;
int err;
rfkill_led_trigger_event(rfkill);
rfkill_event(rfkill);
}
+#ifdef CONFIG_RFKILL_RESET
+EXPORT_SYMBOL(rfkill_set_block);
+#endif
#ifdef CONFIG_RFKILL_INPUT
static atomic_t rfkill_input_disabled = ATOMIC_INIT(0);