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); |
