Skip to content

Commit

Permalink
HID: remove hid_output_raw_report transport implementations
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Benjamin Tissoires authored and Jiri Kosina committed Mar 14, 2014
1 parent e534a93 commit 6fd1820
Show file tree
Hide file tree
Showing 5 changed files with 0 additions and 60 deletions.
14 changes: 0 additions & 14 deletions drivers/hid/i2c-hid/i2c-hid.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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;
Expand Down
1 change: 0 additions & 1 deletion drivers/hid/uhid.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
12 changes: 0 additions & 12 deletions drivers/hid/usbhid/hid-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down Expand Up @@ -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;
Expand Down
19 changes: 0 additions & 19 deletions include/linux/hid.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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
*
Expand Down
14 changes: 0 additions & 14 deletions net/bluetooth/hidp/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 6fd1820

Please sign in to comment.