Example #1
0
static int __init smdk6410_btsleep_probe(struct platform_device *pdev)
#endif	/* #ifdef CONFIG_MACH_JET */
#endif	/* #ifdef CONFIG_MACH_SPICA */
#endif	/* #ifdef CONFIG_MACH_INSTINCTQ */
{
    int rc = 0;

    bt_sleep = rfkill_allocate(&pdev->dev, RFKILL_TYPE_BLUETOOTH);
    if (!bt_sleep)
        return -ENOMEM;

    bt_sleep->name = bt_name;
    bt_sleep->state = RFKILL_STATE_UNBLOCKED;
    /* userspace cannot take exclusive control */
    bt_sleep->user_claim_unsupported = 1;
    bt_sleep->user_claim = 0;
    bt_sleep->data = NULL;  // user data
    bt_sleep->toggle_radio = bluetooth_set_sleep;

    rc = rfkill_register(bt_sleep);
    if (rc)
        rfkill_free(bt_sleep);

#ifdef CONFIG_MACH_INSTINCTQ
    printk("[BT] rfkill_force_state(bt_sleep, RFKILL_STATE_UNBLOCKED) \n");
#else
    printk(KERN_DEBUG "[BT] rfkill_force_state(bt_sleep, RFKILL_STATE_UNBLOCKED) \n");
#endif	/* #ifdef CONFIG_MACH_INSTINCTQ */
    rfkill_force_state(bt_sleep, RFKILL_STATE_UNBLOCKED);

    bluetooth_set_sleep(NULL, RFKILL_STATE_UNBLOCKED);

    return rc;
}
Example #2
0
static int __init spica_btsleep_probe(struct platform_device *pdev)
{
	int rc = 0;

	//bt_sleep = rfkill_allocate(&pdev->dev, RFKILL_TYPE_BLUETOOTH);
	bt_sleep = rfkill_alloc(pdev->name,&pdev->dev,RFKILL_TYPE_BLUETOOTH,NULL,NULL);

	if (!bt_sleep)
		return -ENOMEM;

	bt_sleep->name = bt_name;
	bt_sleep->state = RFKILL_STATE_UNBLOCKED;
	//Xmister
	/* userspace cannot take exclusive control */
	//bt_sleep->user_claim_unsupported = 1;
	//bt_sleep->user_claim = 0;
	bt_sleep->data = NULL;  // user data
	//bt_sleep->toggle_radio = bluetooth_set_sleep;

	rc = rfkill_register(bt_sleep);
	if (rc)
		//Xmister
		//rfkill_free(bt_sleep);
		rfkill_destroy(bt_sleep);

	printk(KERN_DEBUG "[BT] rfkill_force_state(bt_sleep, RFKILL_STATE_UNBLOCKED) \n");
	//Xmister
	//rfkill_force_state(bt_sleep, RFKILL_STATE_UNBLOCKED);
	rfkill_set_hw_state(bt_sleep, RFKILL_STATE_UNBLOCKED);

	bluetooth_set_sleep(NULL, RFKILL_STATE_UNBLOCKED);

	return rc;
}
Example #3
0
static int btsleep_rfkill_set_block(void *data, bool blocked)
{
	unsigned int ret =0;

	ret = bluetooth_set_sleep(data, blocked? RFKILL_USER_STATE_SOFT_BLOCKED : RFKILL_USER_STATE_UNBLOCKED);

	return ret;
}
Example #4
0
static int __init jupiter_btsleep_probe(struct platform_device *pdev)
{
	int rc = 0;

	bt_sleep = rfkill_alloc(bt_name, &pdev->dev, RFKILL_TYPE_BLUETOOTH, &btsleep_rfkill_ops, NULL);
	if (!bt_sleep)
		return -ENOMEM;

	rfkill_set_sw_state(bt_sleep, 1);

	rc = rfkill_register(bt_sleep);
	if (rc)
		rfkill_destroy(bt_sleep);

	bluetooth_set_sleep(NULL, RFKILL_USER_STATE_UNBLOCKED);

	return rc;
}