Lines Matching defs:hdev

99 	struct hid_device *hdev;
118 struct hid_device *hdev;
311 static int asus_event(struct hid_device *hdev, struct hid_field *field,
317 hid_warn(hdev, "Unmapped Asus vendor usagepage code 0x%02x\n",
324 static int asus_raw_event(struct hid_device *hdev,
327 struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
384 static int asus_kbd_set_report(struct hid_device *hdev, const u8 *buf, size_t buf_size)
397 ret = hid_hw_raw_request(hdev, buf[0], dmabuf,
405 static int asus_kbd_init(struct hid_device *hdev)
411 ret = asus_kbd_set_report(hdev, buf, sizeof(buf));
413 hid_err(hdev, "Asus failed to send init command: %d\n", ret);
418 static int asus_kbd_get_functions(struct hid_device *hdev,
425 ret = asus_kbd_set_report(hdev, buf, sizeof(buf));
427 hid_err(hdev, "Asus failed to send configuration command: %d\n", ret);
435 ret = hid_hw_raw_request(hdev, FEATURE_KBD_REPORT_ID, readbuf,
439 hid_err(hdev, "Asus failed to request functions: %d\n", ret);
450 static int rog_nkey_led_init(struct hid_device *hdev)
459 hid_info(hdev, "Asus initialise N-KEY Device");
461 ret = asus_kbd_set_report(hdev, buf_init_start, sizeof(buf_init_start));
463 hid_warn(hdev, "Asus failed to send init start command: %d\n", ret);
467 ret = asus_kbd_set_report(hdev, buf_init2, sizeof(buf_init2));
469 hid_warn(hdev, "Asus failed to send init command 1.0: %d\n", ret);
473 ret = asus_kbd_set_report(hdev, buf_init3, sizeof(buf_init3));
475 hid_warn(hdev, "Asus failed to send init command 1.1: %d\n", ret);
483 ret = asus_kbd_set_report(hdev, buf_init2, sizeof(buf_init2));
485 hid_warn(hdev, "Asus failed to send init command 2.0: %d\n", ret);
488 ret = asus_kbd_set_report(hdev, buf_init3, sizeof(buf_init3));
490 hid_warn(hdev, "Asus failed to send init command 2.1: %d\n", ret);
544 ret = asus_kbd_set_report(led->hdev, buf, sizeof(buf));
546 hid_err(led->hdev, "Asus failed to set keyboard backlight: %d\n", ret);
553 static bool asus_kbd_wmi_led_control_present(struct hid_device *hdev)
563 hid_dbg(hdev, "WMI backlight check: rc %d value %x", ret, value);
570 static int asus_kbd_register_leds(struct hid_device *hdev)
572 struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
577 ret = rog_nkey_led_init(hdev);
582 ret = asus_kbd_init(hdev);
587 ret = asus_kbd_get_functions(hdev, &kbd_func);
596 drvdata->kbd_backlight = devm_kzalloc(&hdev->dev,
604 drvdata->kbd_backlight->hdev = hdev;
612 ret = devm_led_classdev_register(&hdev->dev, &drvdata->kbd_backlight->cdev);
615 devm_kfree(&hdev->dev, drvdata->kbd_backlight);
678 ret = hid_hw_raw_request(drvdata->hdev, BATTERY_REPORT_ID,
731 val->strval = drvdata->hdev->name;
741 static int asus_battery_probe(struct hid_device *hdev)
743 struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
756 drvdata->battery_desc.name = devm_kasprintf(&hdev->dev, GFP_KERNEL,
758 strlen(hdev->uniq) ?
759 hdev->uniq : dev_name(&hdev->dev));
765 drvdata->battery = devm_power_supply_register(&hdev->dev,
770 hid_err(hdev, "Unable to register battery device\n");
774 power_supply_powers(drvdata->battery, &hdev->dev);
779 static int asus_input_configured(struct hid_device *hdev, struct hid_input *hi)
782 struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
830 hid_err(hdev, "Asus input mt init slots failed: %d\n", ret);
838 !asus_kbd_wmi_led_control_present(hdev) &&
839 asus_kbd_register_leds(hdev))
840 hid_warn(hdev, "Failed to initialize backlight.\n");
847 static int asus_input_mapping(struct hid_device *hdev,
852 struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
976 static int asus_start_multitouch(struct hid_device *hdev)
986 hid_err(hdev, "Asus failed to alloc dma buf: %d\n", ret);
990 ret = hid_hw_raw_request(hdev, dmabuf[0], dmabuf, sizeof(buf),
996 hid_err(hdev, "Asus failed to start multitouch: %d\n", ret);
1003 static int __maybe_unused asus_resume(struct hid_device *hdev) {
1004 struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
1010 ret = asus_kbd_set_report(hdev, buf, sizeof(buf));
1012 hid_err(hdev, "Asus failed to set keyboard backlight: %d\n", ret);
1021 static int __maybe_unused asus_reset_resume(struct hid_device *hdev)
1023 struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
1026 return asus_start_multitouch(hdev);
1031 static int asus_probe(struct hid_device *hdev, const struct hid_device_id *id)
1036 drvdata = devm_kzalloc(&hdev->dev, sizeof(*drvdata), GFP_KERNEL);
1038 hid_err(hdev, "Can't alloc Asus descriptor\n");
1042 hid_set_drvdata(hdev, drvdata);
1050 if (strstr(hdev->name, "T90CHI")) {
1058 if ((drvdata->quirks & QUIRK_T100_KEYBOARD) && hid_is_usb(hdev)) {
1059 struct usb_interface *intf = to_usb_interface(hdev->dev.parent);
1082 hdev->quirks |= HID_QUIRK_MULTI_INPUT;
1086 if ((drvdata->quirks & QUIRK_MEDION_E1239T) && hid_is_usb(hdev)) {
1088 to_usb_interface(hdev->dev.parent)->altsetting;
1092 hdev->quirks |= HID_QUIRK_MULTI_INPUT;
1099 hdev->quirks |= HID_QUIRK_NO_INIT_REPORTS;
1101 drvdata->hdev = hdev;
1104 ret = asus_battery_probe(hdev);
1106 hid_err(hdev,
1112 ret = hid_parse(hdev);
1114 hid_err(hdev, "Asus hid parse failed: %d\n", ret);
1118 ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
1120 hid_err(hdev, "Asus hw start failed: %d\n", ret);
1125 hid_err(hdev, "Asus input not registered\n");
1137 ret = asus_start_multitouch(hdev);
1144 hid_hw_stop(hdev);
1148 static void asus_remove(struct hid_device *hdev)
1150 struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
1161 hid_hw_stop(hdev);
1169 static __u8 *asus_report_fixup(struct hid_device *hdev, __u8 *rdesc,
1172 struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
1176 hid_info(hdev, "Fixing up Asus notebook report descriptor\n");
1183 hid_info(hdev, "Fixing up Asus T100 keyb report descriptor\n");
1212 hid_info(hdev, "Fixing up %s keyb report descriptor\n",
1230 new_rdesc = devm_kzalloc(&hdev->dev, new_size, GFP_KERNEL);
1234 hid_info(hdev, "Fixing up Asus G752 keyb report descriptor\n");
1249 hid_info(hdev, "Fixing up Asus N-KEY keyb report descriptor\n");