HID: remove hid_output_raw_report transport implementations
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>
Sun, 9 Mar 2014 03:52:43 +0000 (22:52 -0500)
committerJiri Kosina <jkosina@suse.cz>
Fri, 14 Mar 2014 14:30:24 +0000 (15:30 +0100)
Nobody calls hid_output_raw_report anymore, and nobody should.
We can now remove the various implementation in the different
transport drivers and the declarations.

Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/i2c-hid/i2c-hid.c
drivers/hid/uhid.c
drivers/hid/usbhid/hid-core.c
include/linux/hid.h
net/bluetooth/hidp/core.c

index 1a955317d05fd058ef4feb7dc89c29ec2859e806..2de2b8e224623e4d16342f8cc8b7b9a5dfe12786 100644 (file)
@@ -587,19 +587,6 @@ static int i2c_hid_output_raw_report(struct hid_device *hid, __u8 *buf,
        return ret;
 }
 
-static int __i2c_hid_output_raw_report(struct hid_device *hid, __u8 *buf,
-               size_t count, unsigned char report_type)
-{
-       struct i2c_client *client = hid->driver_data;
-       struct i2c_hid *ihid = i2c_get_clientdata(client);
-       bool data = true; /* SET_REPORT */
-
-       if (report_type == HID_OUTPUT_REPORT)
-               data = le16_to_cpu(ihid->hdesc.wMaxOutputLength) == 0;
-
-       return i2c_hid_output_raw_report(hid, buf, count, report_type, data);
-}
-
 static int i2c_hid_output_report(struct hid_device *hid, __u8 *buf,
                size_t count)
 {
@@ -1025,7 +1012,6 @@ static int i2c_hid_probe(struct i2c_client *client,
 
        hid->driver_data = client;
        hid->ll_driver = &i2c_hid_ll_driver;
-       hid->hid_output_raw_report = __i2c_hid_output_raw_report;
        hid->dev.parent = &client->dev;
        ACPI_COMPANION_SET(&hid->dev, ACPI_COMPANION(&client->dev));
        hid->bus = BUS_I2C;
index 60acee422fdcb79862058468109b44b57b0a209c..7ed79be2686a25abca33690d8ef075821bdff139 100644 (file)
@@ -400,7 +400,6 @@ static int uhid_dev_create(struct uhid_device *uhid,
        hid->uniq[63] = 0;
 
        hid->ll_driver = &uhid_hid_driver;
-       hid->hid_output_raw_report = uhid_hid_output_raw;
        hid->bus = ev->u.create.bus;
        hid->vendor = ev->u.create.vendor;
        hid->product = ev->u.create.product;
index 3bc7cad48fe07c58373cb6401627859747bf02ad..7b88f4cb990218f0e02a9c1cb2638a872d691bcc 100644 (file)
@@ -950,17 +950,6 @@ static int usbhid_output_report(struct hid_device *hid, __u8 *buf, size_t count)
        return ret;
 }
 
-static int usbhid_output_raw_report(struct hid_device *hid, __u8 *buf,
-               size_t count, unsigned char report_type)
-{
-       struct usbhid_device *usbhid = hid->driver_data;
-
-       if (usbhid->urbout && report_type != HID_FEATURE_REPORT)
-               return usbhid_output_report(hid, buf, count);
-
-       return usbhid_set_raw_report(hid, buf[0], buf, count, report_type);
-}
-
 static void usbhid_restart_queues(struct usbhid_device *usbhid)
 {
        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 *
 
        usb_set_intfdata(intf, hid);
        hid->ll_driver = &usb_hid_driver;
-       hid->hid_output_raw_report = usbhid_output_raw_report;
        hid->ff_init = hid_pidff_init;
 #ifdef CONFIG_USB_HIDDEV
        hid->hiddev_connect = hiddev_connect;
index 3fe444f4a36f5435985ba053767116e7b6d6886a..01a90b8d53bb10391eeabb2b1c41df8d6b73b1b4 100644 (file)
@@ -510,9 +510,6 @@ struct hid_device {                                                 /* device report descriptor */
                                  struct hid_usage *, __s32);
        void (*hiddev_report_event) (struct hid_device *, struct hid_report *);
 
-       /* handler for raw output data, used by hidraw */
-       int (*hid_output_raw_report) (struct hid_device *, __u8 *, size_t, unsigned char);
-
        /* debugging support via debugfs */
        unsigned short debug;
        struct dentry *debug_dir;
@@ -1019,22 +1016,6 @@ static inline int hid_hw_output_report(struct hid_device *hdev, __u8 *buf,
        return -ENOSYS;
 }
 
-/**
- * hid_output_raw_report - send an output or a feature report to the device
- *
- * @hdev: hid device
- * @buf: raw data to transfer
- * @len: length of buf
- * @report_type: HID_FEATURE_REPORT or HID_OUTPUT_REPORT
- *
- * @return: count of data transfered, negative if error
- */
-static inline int hid_output_raw_report(struct hid_device *hdev, __u8 *buf,
-                                       size_t len, unsigned char report_type)
-{
-       return hdev->hid_output_raw_report(hdev, buf, len, report_type);
-}
-
 /**
  * hid_hw_idle - send idle request to device
  *
index 98e4840935e2bbe4e31cfd02506abb72e37ec03a..514ddb5aef9678bbf4ab0ffd84edc78019fc918b 100644 (file)
@@ -382,18 +382,6 @@ static int hidp_output_report(struct hid_device *hid, __u8 *data, size_t count)
                                      data, count);
 }
 
-static int hidp_output_raw_report(struct hid_device *hid, unsigned char *data,
-               size_t count, unsigned char report_type)
-{
-       if (report_type == HID_OUTPUT_REPORT) {
-               return hidp_output_report(hid, data, count);
-       } else if (report_type != HID_FEATURE_REPORT) {
-               return -EINVAL;
-       }
-
-       return hidp_set_raw_report(hid, data[0], data, count, report_type);
-}
-
 static int hidp_raw_request(struct hid_device *hid, unsigned char reportnum,
                            __u8 *buf, size_t len, unsigned char rtype,
                            int reqtype)
@@ -776,8 +764,6 @@ static int hidp_setup_hid(struct hidp_session *session,
        hid->dev.parent = &session->conn->hcon->dev;
        hid->ll_driver = &hidp_hid_driver;
 
-       hid->hid_output_raw_report = hidp_output_raw_report;
-
        /* True if device is blacklisted in drivers/hid/hid-core.c */
        if (hid_ignore(hid)) {
                hid_destroy_device(session->hid);