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; }
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; }
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; }
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; }