diff options
-rw-r--r-- | drivers/hid/i2c-hid/i2c-hid.c | 14 | ||||
-rw-r--r-- | drivers/hid/uhid.c | 1 | ||||
-rw-r--r-- | drivers/hid/usbhid/hid-core.c | 12 | ||||
-rw-r--r-- | include/linux/hid.h | 19 | ||||
-rw-r--r-- | net/bluetooth/hidp/core.c | 14 |
5 files changed, 0 insertions, 60 deletions
diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c index 1a955317d05f..2de2b8e22462 100644 --- a/drivers/hid/i2c-hid/i2c-hid.c +++ b/drivers/hid/i2c-hid/i2c-hid.c | |||
@@ -587,19 +587,6 @@ static int i2c_hid_output_raw_report(struct hid_device *hid, __u8 *buf, | |||
587 | return ret; | 587 | return ret; |
588 | } | 588 | } |
589 | 589 | ||
590 | static int __i2c_hid_output_raw_report(struct hid_device *hid, __u8 *buf, | ||
591 | size_t count, unsigned char report_type) | ||
592 | { | ||
593 | struct i2c_client *client = hid->driver_data; | ||
594 | struct i2c_hid *ihid = i2c_get_clientdata(client); | ||
595 | bool data = true; /* SET_REPORT */ | ||
596 | |||
597 | if (report_type == HID_OUTPUT_REPORT) | ||
598 | data = le16_to_cpu(ihid->hdesc.wMaxOutputLength) == 0; | ||
599 | |||
600 | return i2c_hid_output_raw_report(hid, buf, count, report_type, data); | ||
601 | } | ||
602 | |||
603 | static int i2c_hid_output_report(struct hid_device *hid, __u8 *buf, | 590 | static int i2c_hid_output_report(struct hid_device *hid, __u8 *buf, |
604 | size_t count) | 591 | size_t count) |
605 | { | 592 | { |
@@ -1025,7 +1012,6 @@ static int i2c_hid_probe(struct i2c_client *client, | |||
1025 | 1012 | ||
1026 | hid->driver_data = client; | 1013 | hid->driver_data = client; |
1027 | hid->ll_driver = &i2c_hid_ll_driver; | 1014 | hid->ll_driver = &i2c_hid_ll_driver; |
1028 | hid->hid_output_raw_report = __i2c_hid_output_raw_report; | ||
1029 | hid->dev.parent = &client->dev; | 1015 | hid->dev.parent = &client->dev; |
1030 | ACPI_COMPANION_SET(&hid->dev, ACPI_COMPANION(&client->dev)); | 1016 | ACPI_COMPANION_SET(&hid->dev, ACPI_COMPANION(&client->dev)); |
1031 | hid->bus = BUS_I2C; | 1017 | hid->bus = BUS_I2C; |
diff --git a/drivers/hid/uhid.c b/drivers/hid/uhid.c index 60acee422fdc..7ed79be2686a 100644 --- a/drivers/hid/uhid.c +++ b/drivers/hid/uhid.c | |||
@@ -400,7 +400,6 @@ static int uhid_dev_create(struct uhid_device *uhid, | |||
400 | hid->uniq[63] = 0; | 400 | hid->uniq[63] = 0; |
401 | 401 | ||
402 | hid->ll_driver = &uhid_hid_driver; | 402 | hid->ll_driver = &uhid_hid_driver; |
403 | hid->hid_output_raw_report = uhid_hid_output_raw; | ||
404 | hid->bus = ev->u.create.bus; | 403 | hid->bus = ev->u.create.bus; |
405 | hid->vendor = ev->u.create.vendor; | 404 | hid->vendor = ev->u.create.vendor; |
406 | hid->product = ev->u.create.product; | 405 | hid->product = ev->u.create.product; |
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c index 3bc7cad48fe0..7b88f4cb9902 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c | |||
@@ -950,17 +950,6 @@ static int usbhid_output_report(struct hid_device *hid, __u8 *buf, size_t count) | |||
950 | return ret; | 950 | return ret; |
951 | } | 951 | } |
952 | 952 | ||
953 | static int usbhid_output_raw_report(struct hid_device *hid, __u8 *buf, | ||
954 | size_t count, unsigned char report_type) | ||
955 | { | ||
956 | struct usbhid_device *usbhid = hid->driver_data; | ||
957 | |||
958 | if (usbhid->urbout && report_type != HID_FEATURE_REPORT) | ||
959 | return usbhid_output_report(hid, buf, count); | ||
960 | |||
961 | return usbhid_set_raw_report(hid, buf[0], buf, count, report_type); | ||
962 | } | ||
963 | |||
964 | static void usbhid_restart_queues(struct usbhid_device *usbhid) | 953 | static void usbhid_restart_queues(struct usbhid_device *usbhid) |
965 | { | 954 | { |
966 | if (usbhid->urbout && !test_bit(HID_OUT_RUNNING, &usbhid->iofl)) | 955 | if (usbhid->urbout && !test_bit(HID_OUT_RUNNING, &usbhid->iofl)) |
@@ -1294,7 +1283,6 @@ static int usbhid_probe(struct usb_interface *intf, const struct usb_device_id * | |||
1294 | 1283 | ||
1295 | usb_set_intfdata(intf, hid); | 1284 | usb_set_intfdata(intf, hid); |
1296 | hid->ll_driver = &usb_hid_driver; | 1285 | hid->ll_driver = &usb_hid_driver; |
1297 | hid->hid_output_raw_report = usbhid_output_raw_report; | ||
1298 | hid->ff_init = hid_pidff_init; | 1286 | hid->ff_init = hid_pidff_init; |
1299 | #ifdef CONFIG_USB_HIDDEV | 1287 | #ifdef CONFIG_USB_HIDDEV |
1300 | hid->hiddev_connect = hiddev_connect; | 1288 | hid->hiddev_connect = hiddev_connect; |
diff --git a/include/linux/hid.h b/include/linux/hid.h index 3fe444f4a36f..01a90b8d53bb 100644 --- a/include/linux/hid.h +++ b/include/linux/hid.h | |||
@@ -510,9 +510,6 @@ struct hid_device { /* device report descriptor */ | |||
510 | struct hid_usage *, __s32); | 510 | struct hid_usage *, __s32); |
511 | void (*hiddev_report_event) (struct hid_device *, struct hid_report *); | 511 | void (*hiddev_report_event) (struct hid_device *, struct hid_report *); |
512 | 512 | ||
513 | /* handler for raw output data, used by hidraw */ | ||
514 | int (*hid_output_raw_report) (struct hid_device *, __u8 *, size_t, unsigned char); | ||
515 | |||
516 | /* debugging support via debugfs */ | 513 | /* debugging support via debugfs */ |
517 | unsigned short debug; | 514 | unsigned short debug; |
518 | struct dentry *debug_dir; | 515 | struct dentry *debug_dir; |
@@ -1020,22 +1017,6 @@ static inline int hid_hw_output_report(struct hid_device *hdev, __u8 *buf, | |||
1020 | } | 1017 | } |
1021 | 1018 | ||
1022 | /** | 1019 | /** |
1023 | * hid_output_raw_report - send an output or a feature report to the device | ||
1024 | * | ||
1025 | * @hdev: hid device | ||
1026 | * @buf: raw data to transfer | ||
1027 | * @len: length of buf | ||
1028 | * @report_type: HID_FEATURE_REPORT or HID_OUTPUT_REPORT | ||
1029 | * | ||
1030 | * @return: count of data transfered, negative if error | ||
1031 | */ | ||
1032 | static inline int hid_output_raw_report(struct hid_device *hdev, __u8 *buf, | ||
1033 | size_t len, unsigned char report_type) | ||
1034 | { | ||
1035 | return hdev->hid_output_raw_report(hdev, buf, len, report_type); | ||
1036 | } | ||
1037 | |||
1038 | /** | ||
1039 | * hid_hw_idle - send idle request to device | 1020 | * hid_hw_idle - send idle request to device |
1040 | * | 1021 | * |
1041 | * @hdev: hid device | 1022 | * @hdev: hid device |
diff --git a/net/bluetooth/hidp/core.c b/net/bluetooth/hidp/core.c index 98e4840935e2..514ddb5aef96 100644 --- a/net/bluetooth/hidp/core.c +++ b/net/bluetooth/hidp/core.c | |||
@@ -382,18 +382,6 @@ static int hidp_output_report(struct hid_device *hid, __u8 *data, size_t count) | |||
382 | data, count); | 382 | data, count); |
383 | } | 383 | } |
384 | 384 | ||
385 | static int hidp_output_raw_report(struct hid_device *hid, unsigned char *data, | ||
386 | size_t count, unsigned char report_type) | ||
387 | { | ||
388 | if (report_type == HID_OUTPUT_REPORT) { | ||
389 | return hidp_output_report(hid, data, count); | ||
390 | } else if (report_type != HID_FEATURE_REPORT) { | ||
391 | return -EINVAL; | ||
392 | } | ||
393 | |||
394 | return hidp_set_raw_report(hid, data[0], data, count, report_type); | ||
395 | } | ||
396 | |||
397 | static int hidp_raw_request(struct hid_device *hid, unsigned char reportnum, | 385 | static int hidp_raw_request(struct hid_device *hid, unsigned char reportnum, |
398 | __u8 *buf, size_t len, unsigned char rtype, | 386 | __u8 *buf, size_t len, unsigned char rtype, |
399 | int reqtype) | 387 | int reqtype) |
@@ -776,8 +764,6 @@ static int hidp_setup_hid(struct hidp_session *session, | |||
776 | hid->dev.parent = &session->conn->hcon->dev; | 764 | hid->dev.parent = &session->conn->hcon->dev; |
777 | hid->ll_driver = &hidp_hid_driver; | 765 | hid->ll_driver = &hidp_hid_driver; |
778 | 766 | ||
779 | hid->hid_output_raw_report = hidp_output_raw_report; | ||
780 | |||
781 | /* True if device is blacklisted in drivers/hid/hid-core.c */ | 767 | /* True if device is blacklisted in drivers/hid/hid-core.c */ |
782 | if (hid_ignore(hid)) { | 768 | if (hid_ignore(hid)) { |
783 | hid_destroy_device(session->hid); | 769 | hid_destroy_device(session->hid); |