Lines Matching defs:hdev

123  * @hdev: Pointer to the underlying HID device.
148 struct hid_device *hdev;
376 static int magicmouse_raw_event(struct hid_device *hdev,
379 struct magicmouse_sc *msc = hid_get_drvdata(hdev);
391 hid_warn(hdev, "invalid size value (%d) for TRACKPAD_REPORT_ID\n",
413 hid_warn(hdev, "invalid size value (%d) for TRACKPAD2_USB_REPORT_ID\n",
429 hid_warn(hdev, "invalid size value (%d) for MOUSE_REPORT_ID\n",
457 hid_warn(hdev, "invalid size value (%d) for MOUSE2_REPORT_ID\n",
483 magicmouse_raw_event(hdev, report, data + 2, data[1]);
484 magicmouse_raw_event(hdev, report, data + 2 + data[1],
508 static int magicmouse_event(struct hid_device *hdev, struct hid_field *field,
511 struct magicmouse_sc *msc = hid_get_drvdata(hdev);
525 static int magicmouse_setup_input(struct input_dev *input, struct hid_device *hdev)
557 if (hdev->vendor == BT_VENDOR_ID_APPLE) {
563 input->name = hdev->name;
677 static int magicmouse_input_mapping(struct hid_device *hdev,
681 struct magicmouse_sc *msc = hid_get_drvdata(hdev);
695 static int magicmouse_input_configured(struct hid_device *hdev,
699 struct magicmouse_sc *msc = hid_get_drvdata(hdev);
702 ret = magicmouse_setup_input(msc->input, hdev);
704 hid_err(hdev, "magicmouse setup input failed (%d)\n", ret);
713 static int magicmouse_enable_multitouch(struct hid_device *hdev)
724 if (hdev->product == USB_DEVICE_ID_APPLE_MAGICTRACKPAD2) {
725 if (hdev->vendor == BT_VENDOR_ID_APPLE) {
732 } else if (hdev->product == USB_DEVICE_ID_APPLE_MAGICMOUSE2) {
744 ret = hid_hw_raw_request(hdev, buf[0], buf, feature_size,
756 ret = magicmouse_enable_multitouch(msc->hdev);
758 hid_err(msc->hdev, "unable to request touch data (%d)\n", ret);
761 static int magicmouse_fetch_battery(struct hid_device *hdev)
767 if (!hdev->battery || hdev->vendor != USB_VENDOR_ID_APPLE ||
768 (hdev->product != USB_DEVICE_ID_APPLE_MAGICMOUSE2 &&
769 hdev->product != USB_DEVICE_ID_APPLE_MAGICTRACKPAD2))
772 report_enum = &hdev->report_enum[hdev->battery_report_type];
773 report = report_enum->report_id_hash[hdev->battery_report_id];
778 if (hdev->battery_capacity == hdev->battery_max)
781 hid_hw_request(hdev, report, HID_REQ_GET_REPORT);
791 struct hid_device *hdev = msc->hdev;
793 if (magicmouse_fetch_battery(hdev) == 0) {
799 static int magicmouse_probe(struct hid_device *hdev,
806 msc = devm_kzalloc(&hdev->dev, sizeof(*msc), GFP_KERNEL);
808 hid_err(hdev, "can't alloc magicmouse descriptor\n");
813 msc->hdev = hdev;
817 hid_set_drvdata(hdev, msc);
819 ret = hid_parse(hdev);
821 hid_err(hdev, "magicmouse hid parse failed\n");
825 ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
827 hid_err(hdev, "magicmouse hw start failed\n");
834 magicmouse_fetch_battery(hdev);
838 (id->product == USB_DEVICE_ID_APPLE_MAGICTRACKPAD2 && hdev->type != HID_TYPE_USBMOUSE)))
842 hid_err(hdev, "magicmouse input not registered\n");
848 report = hid_register_report(hdev, HID_INPUT_REPORT,
851 report = hid_register_report(hdev, HID_INPUT_REPORT,
855 report = hid_register_report(hdev, HID_INPUT_REPORT,
858 report = hid_register_report(hdev, HID_INPUT_REPORT,
861 report = hid_register_report(hdev, HID_INPUT_REPORT,
863 report = hid_register_report(hdev, HID_INPUT_REPORT,
868 hid_err(hdev, "unable to register touch report\n");
882 ret = magicmouse_enable_multitouch(hdev);
884 hid_err(hdev, "unable to request touch data (%d)\n", ret);
894 hid_hw_stop(hdev);
898 static void magicmouse_remove(struct hid_device *hdev)
900 struct magicmouse_sc *msc = hid_get_drvdata(hdev);
907 hid_hw_stop(hdev);
910 static __u8 *magicmouse_report_fixup(struct hid_device *hdev, __u8 *rdesc,
921 if (hdev->vendor == USB_VENDOR_ID_APPLE &&
922 (hdev->product == USB_DEVICE_ID_APPLE_MAGICMOUSE2 ||
923 hdev->product == USB_DEVICE_ID_APPLE_MAGICTRACKPAD2) &&
925 hid_info(hdev,