aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/hid/hid-mosart.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/hid/hid-mosart.c b/drivers/hid/hid-mosart.c
index acd8a4983c09..15d03811f96a 100644
--- a/drivers/hid/hid-mosart.c
+++ b/drivers/hid/hid-mosart.c
@@ -234,6 +234,19 @@ static int mosart_probe(struct hid_device *hdev, const struct hid_device_id *id)
234 return ret; 234 return ret;
235} 235}
236 236
237#ifdef CONFIG_PM
238static int mosart_reset_resume(struct hid_device *hdev)
239{
240 struct hid_report_enum *re = hdev->report_enum
241 + HID_FEATURE_REPORT;
242 struct hid_report *r = re->report_id_hash[7];
243
244 r->field[0]->value[0] = 0x02;
245 usbhid_submit_report(hdev, r, USB_DIR_OUT);
246 return 0;
247}
248#endif
249
237static void mosart_remove(struct hid_device *hdev) 250static void mosart_remove(struct hid_device *hdev)
238{ 251{
239 hid_hw_stop(hdev); 252 hid_hw_stop(hdev);
@@ -262,6 +275,9 @@ static struct hid_driver mosart_driver = {
262 .input_mapped = mosart_input_mapped, 275 .input_mapped = mosart_input_mapped,
263 .usage_table = mosart_grabbed_usages, 276 .usage_table = mosart_grabbed_usages,
264 .event = mosart_event, 277 .event = mosart_event,
278#ifdef CONFIG_PM
279 .reset_resume = mosart_reset_resume,
280#endif
265}; 281};
266 282
267static int __init mosart_init(void) 283static int __init mosart_init(void)