Re: [PATCH 05/14] HID: i2c-hid: use generic .request() implementation
From: Benjamin Tissoires <hidden>
Date: 2014-02-13 15:14:35
Also in:
lkml
On Wed, Feb 12, 2014 at 5:30 AM, David Herrmann [off-list ref] wrote:
Hi On Mon, Feb 10, 2014 at 6:58 PM, Benjamin Tissoires [off-list ref] wrote:quoted
Having our own .request() implementation does not give anything, so use the generic binding. Signed-off-by: Benjamin Tissoires <redacted> --- drivers/hid/i2c-hid/i2c-hid.c | 31 ------------------------------- 1 file changed, 31 deletions(-)diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c index 07a054a..925fb8d 100644 --- a/drivers/hid/i2c-hid/i2c-hid.c +++ b/drivers/hid/i2c-hid/i2c-hid.c@@ -632,36 +632,6 @@ static int i2c_hid_raw_request(struct hid_device *hid, unsigned char reportnum, } } -static void i2c_hid_request(struct hid_device *hid, struct hid_report *rep, - int reqtype) -{ - struct i2c_client *client = hid->driver_data; - char *buf; - int ret; - int len = i2c_hid_get_report_length(rep) - 2; - - buf = kzalloc(len, GFP_KERNEL);Haven't you recently fixed this to use hid_alloc_buffer()? Anyhow,
yes, it has been fixed. But Jiri carried it through a *-upstream branch, which is not merged into his for-next currently (or at the time I sent the patch). hopefully the merge will be easy, or I can wait for it to be in for-next before resending a smoother v2. Cheers, Benjamin
patch obviously looks good: Reviewed-by: David Herrmann <redacted> Thanks Davidquoted
- if (!buf) - return; - - switch (reqtype) { - case HID_REQ_GET_REPORT: - ret = i2c_hid_get_raw_report(hid, rep->id, buf, len, rep->type); - if (ret < 0) - dev_err(&client->dev, "%s: unable to get report: %d\n", - __func__, ret); - else - hid_input_report(hid, rep->type, buf, ret, 0); - break; - case HID_REQ_SET_REPORT: - hid_output_report(rep, buf); - i2c_hid_output_raw_report(hid, buf, len, rep->type, true); - break; - } - - kfree(buf); -} - static int i2c_hid_parse(struct hid_device *hid) { struct i2c_client *client = hid->driver_data;@@ -817,7 +787,6 @@ static struct hid_ll_driver i2c_hid_ll_driver = { .open = i2c_hid_open, .close = i2c_hid_close, .power = i2c_hid_power, - .request = i2c_hid_request, .output_report = i2c_hid_output_report, .raw_request = i2c_hid_raw_request, }; --1.8.3.1