Loading drivers/hid/hid-magicmouse.c +5 −0 Original line number Diff line number Diff line Loading @@ -435,6 +435,11 @@ static int magicmouse_input_mapping(struct hid_device *hdev, if (!msc->input) msc->input = hi->input; /* Magic Trackpad does not give relative data after switching to MT */ if (hi->input->id.product == USB_DEVICE_ID_APPLE_MAGICTRACKPAD && field->flags & HID_MAIN_ITEM_RELATIVE) return -1; return 0; } Loading drivers/hid/hid-mosart.c +20 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,10 @@ static int mosart_input_mapping(struct hid_device *hdev, struct hid_input *hi, case 0xff000000: /* ignore HID features */ return -1; case HID_UP_BUTTON: /* ignore buttons */ return -1; } return 0; Loading Loading @@ -230,6 +234,19 @@ static int mosart_probe(struct hid_device *hdev, const struct hid_device_id *id) return ret; } #ifdef CONFIG_PM static int mosart_reset_resume(struct hid_device *hdev) { struct hid_report_enum *re = hdev->report_enum + HID_FEATURE_REPORT; struct hid_report *r = re->report_id_hash[7]; r->field[0]->value[0] = 0x02; usbhid_submit_report(hdev, r, USB_DIR_OUT); return 0; } #endif static void mosart_remove(struct hid_device *hdev) { hid_hw_stop(hdev); Loading Loading @@ -258,6 +275,9 @@ static struct hid_driver mosart_driver = { .input_mapped = mosart_input_mapped, .usage_table = mosart_grabbed_usages, .event = mosart_event, #ifdef CONFIG_PM .reset_resume = mosart_reset_resume, #endif }; static int __init mosart_init(void) Loading drivers/hid/hid-picolcd.c +3 −2 Original line number Diff line number Diff line Loading @@ -1544,7 +1544,7 @@ static ssize_t picolcd_debug_eeprom_read(struct file *f, char __user *u, /* prepare buffer with info about what we want to read (addr & len) */ raw_data[0] = *off & 0xff; raw_data[1] = (*off >> 8) && 0xff; raw_data[1] = (*off >> 8) & 0xff; raw_data[2] = s < 20 ? s : 20; if (*off + raw_data[2] > 0xff) raw_data[2] = 0x100 - *off; Loading Loading @@ -1583,7 +1583,7 @@ static ssize_t picolcd_debug_eeprom_write(struct file *f, const char __user *u, memset(raw_data, 0, sizeof(raw_data)); raw_data[0] = *off & 0xff; raw_data[1] = (*off >> 8) && 0xff; raw_data[1] = (*off >> 8) & 0xff; raw_data[2] = s < 20 ? s : 20; if (*off + raw_data[2] > 0xff) raw_data[2] = 0x100 - *off; Loading Loading @@ -1867,6 +1867,7 @@ static void picolcd_debug_out_report(struct picolcd_data *data, report->id, raw_size); hid_debug_event(hdev, buff); if (raw_size + 5 > sizeof(raw_data)) { kfree(buff); hid_debug_event(hdev, " TOO BIG\n"); return; } else { Loading Loading
drivers/hid/hid-magicmouse.c +5 −0 Original line number Diff line number Diff line Loading @@ -435,6 +435,11 @@ static int magicmouse_input_mapping(struct hid_device *hdev, if (!msc->input) msc->input = hi->input; /* Magic Trackpad does not give relative data after switching to MT */ if (hi->input->id.product == USB_DEVICE_ID_APPLE_MAGICTRACKPAD && field->flags & HID_MAIN_ITEM_RELATIVE) return -1; return 0; } Loading
drivers/hid/hid-mosart.c +20 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,10 @@ static int mosart_input_mapping(struct hid_device *hdev, struct hid_input *hi, case 0xff000000: /* ignore HID features */ return -1; case HID_UP_BUTTON: /* ignore buttons */ return -1; } return 0; Loading Loading @@ -230,6 +234,19 @@ static int mosart_probe(struct hid_device *hdev, const struct hid_device_id *id) return ret; } #ifdef CONFIG_PM static int mosart_reset_resume(struct hid_device *hdev) { struct hid_report_enum *re = hdev->report_enum + HID_FEATURE_REPORT; struct hid_report *r = re->report_id_hash[7]; r->field[0]->value[0] = 0x02; usbhid_submit_report(hdev, r, USB_DIR_OUT); return 0; } #endif static void mosart_remove(struct hid_device *hdev) { hid_hw_stop(hdev); Loading Loading @@ -258,6 +275,9 @@ static struct hid_driver mosart_driver = { .input_mapped = mosart_input_mapped, .usage_table = mosart_grabbed_usages, .event = mosart_event, #ifdef CONFIG_PM .reset_resume = mosart_reset_resume, #endif }; static int __init mosart_init(void) Loading
drivers/hid/hid-picolcd.c +3 −2 Original line number Diff line number Diff line Loading @@ -1544,7 +1544,7 @@ static ssize_t picolcd_debug_eeprom_read(struct file *f, char __user *u, /* prepare buffer with info about what we want to read (addr & len) */ raw_data[0] = *off & 0xff; raw_data[1] = (*off >> 8) && 0xff; raw_data[1] = (*off >> 8) & 0xff; raw_data[2] = s < 20 ? s : 20; if (*off + raw_data[2] > 0xff) raw_data[2] = 0x100 - *off; Loading Loading @@ -1583,7 +1583,7 @@ static ssize_t picolcd_debug_eeprom_write(struct file *f, const char __user *u, memset(raw_data, 0, sizeof(raw_data)); raw_data[0] = *off & 0xff; raw_data[1] = (*off >> 8) && 0xff; raw_data[1] = (*off >> 8) & 0xff; raw_data[2] = s < 20 ? s : 20; if (*off + raw_data[2] > 0xff) raw_data[2] = 0x100 - *off; Loading Loading @@ -1867,6 +1867,7 @@ static void picolcd_debug_out_report(struct picolcd_data *data, report->id, raw_size); hid_debug_event(hdev, buff); if (raw_size + 5 > sizeof(raw_data)) { kfree(buff); hid_debug_event(hdev, " TOO BIG\n"); return; } else { Loading