|
@@ -234,6 +234,19 @@ static int mosart_probe(struct hid_device *hdev, const struct hid_device_id *id)
|
|
return ret;
|
|
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)
|
|
static void mosart_remove(struct hid_device *hdev)
|
|
{
|
|
{
|
|
hid_hw_stop(hdev);
|
|
hid_hw_stop(hdev);
|
|
@@ -262,6 +275,9 @@ static struct hid_driver mosart_driver = {
|
|
.input_mapped = mosart_input_mapped,
|
|
.input_mapped = mosart_input_mapped,
|
|
.usage_table = mosart_grabbed_usages,
|
|
.usage_table = mosart_grabbed_usages,
|
|
.event = mosart_event,
|
|
.event = mosart_event,
|
|
|
|
+#ifdef CONFIG_PM
|
|
|
|
+ .reset_resume = mosart_reset_resume,
|
|
|
|
+#endif
|
|
};
|
|
};
|
|
|
|
|
|
static int __init mosart_init(void)
|
|
static int __init mosart_init(void)
|