mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-09-18 22:14:16 +00:00 
			
		
		
		
	[RFKILL]: Add support for ultrawideband
This patch will add support for UWB keys to rfkill, support for this has been requested by Inaky. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									234a0ca6f1
								
							
						
					
					
						commit
						e0665486b7
					
				
					 4 changed files with 15 additions and 0 deletions
				
			
		|  | @ -360,6 +360,7 @@ struct input_absinfo { | |||
| 
 | ||||
| #define KEY_BLUETOOTH		237 | ||||
| #define KEY_WLAN		238 | ||||
| #define KEY_UWB			239 | ||||
| 
 | ||||
| #define KEY_UNKNOWN		240 | ||||
| 
 | ||||
|  |  | |||
|  | @ -31,10 +31,12 @@ | |||
|  * enum rfkill_type - type of rfkill switch. | ||||
|  * RFKILL_TYPE_WLAN: switch is no a Wireless network devices. | ||||
|  * RFKILL_TYPE_BlUETOOTH: switch is on a bluetooth device. | ||||
|  * RFKILL_TYPE_UWB: switch is on a Ultra wideband device. | ||||
|  */ | ||||
| enum rfkill_type { | ||||
| 	RFKILL_TYPE_WLAN , | ||||
| 	RFKILL_TYPE_BLUETOOTH, | ||||
| 	RFKILL_TYPE_UWB, | ||||
| 	RFKILL_TYPE_MAX, | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -81,6 +81,7 @@ static void rfkill_schedule_toggle(struct rfkill_task *task) | |||
| 
 | ||||
| static DEFINE_RFKILL_TASK(rfkill_wlan, RFKILL_TYPE_WLAN); | ||||
| static DEFINE_RFKILL_TASK(rfkill_bt, RFKILL_TYPE_BLUETOOTH); | ||||
| static DEFINE_RFKILL_TASK(rfkill_uwb, RFKILL_TYPE_UWB); | ||||
| 
 | ||||
| static void rfkill_event(struct input_handle *handle, unsigned int type, | ||||
| 			unsigned int code, int down) | ||||
|  | @ -93,6 +94,9 @@ static void rfkill_event(struct input_handle *handle, unsigned int type, | |||
| 		case KEY_BLUETOOTH: | ||||
| 			rfkill_schedule_toggle(&rfkill_bt); | ||||
| 			break; | ||||
| 		case KEY_UWB: | ||||
| 			rfkill_schedule_toggle(&rfkill_uwb); | ||||
| 			break; | ||||
| 		default: | ||||
| 			break; | ||||
| 		} | ||||
|  | @ -148,6 +152,11 @@ static const struct input_device_id rfkill_ids[] = { | |||
| 		.evbit = { BIT(EV_KEY) }, | ||||
| 		.keybit = { [LONG(KEY_BLUETOOTH)] = BIT(KEY_BLUETOOTH) }, | ||||
| 	}, | ||||
| 	{ | ||||
| 		.flags = INPUT_DEVICE_ID_MATCH_EVBIT | INPUT_DEVICE_ID_MATCH_KEYBIT, | ||||
| 		.evbit = { BIT(EV_KEY) }, | ||||
| 		.keybit = { [LONG(KEY_UWB)] = BIT(KEY_UWB) }, | ||||
| 	}, | ||||
| 	{ } | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -106,6 +106,9 @@ static ssize_t rfkill_type_show(struct device *dev, | |||
| 	case RFKILL_TYPE_BLUETOOTH: | ||||
| 		type = "bluetooth"; | ||||
| 		break; | ||||
| 	case RFKILL_TYPE_UWB: | ||||
| 		type = "ultrawideband"; | ||||
| 		break; | ||||
| 	default: | ||||
| 		BUG(); | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Ivo van Doorn
						Ivo van Doorn