Lines Matching defs:hdev
24 struct hid_device *hdev;
129 static void steelseries_srws1_set_leds(struct hid_device *hdev, __u16 leds)
131 struct list_head *report_list = &hdev->report_enum[HID_OUTPUT_REPORT].report_list;
152 hid_hw_request(hdev, report, HID_REQ_SET_REPORT);
245 static int steelseries_srws1_probe(struct hid_device *hdev,
256 hid_err(hdev, "can't alloc SRW-S1 memory\n");
260 hid_set_drvdata(hdev, drv_data);
262 ret = hid_parse(hdev);
264 hid_err(hdev, "parse failed\n");
268 if (!hid_validate_values(hdev, HID_OUTPUT_REPORT, 0, 0, 16)) {
273 ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
275 hid_err(hdev, "hw start failed\n");
284 steelseries_srws1_set_leds(hdev, 0);
286 name_sz = strlen(hdev->uniq) + 16;
291 hid_err(hdev, "can't allocate memory for LED ALL\n");
296 snprintf(name, name_sz, "SRWS1::%s::RPMALL", hdev->uniq);
304 ret = led_classdev_register(&hdev->dev, led);
312 hid_err(hdev, "can't allocate memory for LED %d\n", i);
317 snprintf(name, name_sz, "SRWS1::%s::RPM%d", hdev->uniq, i+1);
325 ret = led_classdev_register(&hdev->dev, led);
328 hid_err(hdev, "failed to register LED %d. Aborting.\n", i);
349 static void steelseries_srws1_remove(struct hid_device *hdev)
354 struct steelseries_srws1_data *drv_data = hid_get_drvdata(hdev);
369 hid_hw_stop(hdev);
380 static int steelseries_headset_arctis_1_fetch_battery(struct hid_device *hdev)
390 ret = hid_hw_raw_request(hdev, arctis_1_battery_request[0],
394 hid_err(hdev, "hid_hw_raw_request() failed with %d\n", ret);
401 static void steelseries_headset_fetch_battery(struct hid_device *hdev)
403 struct steelseries_device *sd = hid_get_drvdata(hdev);
407 ret = steelseries_headset_arctis_1_fetch_battery(hdev);
410 hid_dbg(hdev,
418 struct hid_device *hdev = sd->hdev;
420 steelseries_headset_fetch_battery(hdev);
453 steelseries_headset_set_wireless_status(struct hid_device *hdev,
458 if (!hid_is_usb(hdev))
461 intf = to_usb_interface(hdev->dev.parent);
487 sd->battery_desc.name = devm_kasprintf(&sd->hdev->dev, GFP_KERNEL,
493 steelseries_headset_set_wireless_status(sd->hdev, false);
496 sd->battery = devm_power_supply_register(&sd->hdev->dev,
500 hid_err(sd->hdev,
505 power_supply_powers(sd->battery, &sd->hdev->dev);
508 steelseries_headset_fetch_battery(sd->hdev);
513 static int steelseries_probe(struct hid_device *hdev, const struct hid_device_id *id)
518 sd = devm_kzalloc(&hdev->dev, sizeof(*sd), GFP_KERNEL);
521 hid_set_drvdata(hdev, sd);
522 sd->hdev = hdev;
528 return steelseries_srws1_probe(hdev, id);
534 ret = hid_parse(hdev);
540 ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
545 hid_err(sd->hdev,
551 static void steelseries_remove(struct hid_device *hdev)
553 struct steelseries_device *sd = hid_get_drvdata(hdev);
559 steelseries_srws1_remove(hdev);
570 hid_hw_stop(hdev);
573 static __u8 *steelseries_srws1_report_fixup(struct hid_device *hdev, __u8 *rdesc,
576 if (hdev->vendor != USB_VENDOR_ID_STEELSERIES ||
577 hdev->product != USB_DEVICE_ID_STEELSERIES_SRWS1)
582 hid_info(hdev, "Fixing up Steelseries SRW-S1 report descriptor\n");
589 static int steelseries_headset_raw_event(struct hid_device *hdev,
593 struct steelseries_device *sd = hid_get_drvdata(hdev);
603 hid_dbg(sd->hdev,
618 hid_dbg(sd->hdev,
623 steelseries_headset_set_wireless_status(hdev, connected);
627 hid_dbg(sd->hdev,