diff options
Diffstat (limited to 'drivers/hid/hid-input.c')
| -rw-r--r-- | drivers/hid/hid-input.c | 10 | 
1 files changed, 7 insertions, 3 deletions
| diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index 2c72ce4147b1..03f994541981 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c @@ -160,6 +160,7 @@ static int hidinput_setkeycode(struct input_dev *dev,  	if (usage) {  		*old_keycode = usage->type == EV_KEY ?  				usage->code : KEY_RESERVED; +		usage->type = EV_KEY;  		usage->code = ke->keycode;  		clear_bit(*old_keycode, dev->keybit); @@ -324,6 +325,10 @@ static const struct hid_device_id hid_battery_quirks[] = {  	  HID_BATTERY_QUIRK_IGNORE },  	{ HID_USB_DEVICE(USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ASUS_UX550_TOUCHSCREEN),  	  HID_BATTERY_QUIRK_IGNORE }, +	{ HID_USB_DEVICE(USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ASUS_UX550VE_TOUCHSCREEN), +	  HID_BATTERY_QUIRK_IGNORE }, +	{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_HP_ENVY_X360_15), +	  HID_BATTERY_QUIRK_IGNORE },  	{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_HP_SPECTRE_X360_15),  	  HID_BATTERY_QUIRK_IGNORE },  	{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_SURFACE_GO_TOUCHSCREEN), @@ -650,10 +655,9 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel  						code += KEY_MACRO1;  					else  						code += BTN_TRIGGER_HAPPY - 0x1e; -				} else { -					goto ignore; +					break;  				} -				break; +				fallthrough;  		default:  			switch (field->physical) {  			case HID_GD_MOUSE: |