Re: [PATCH 05/14] HID: i2c-hid: use generic .request() implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Feb 12, 2014 at 5:30 AM, David Herrmann <dh.herrmann@xxxxxxxxx> wrote:
> Hi
>
> On Mon, Feb 10, 2014 at 6:58 PM, Benjamin Tissoires
> <benjamin.tissoires@xxxxxxxxxx> wrote:
>> Having our own .request() implementation does not give anything,
>> so use the generic binding.
>>
>> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
>> ---
>>  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 <dh.herrmann@xxxxxxxxx>
>
> Thanks
> David
>
>> -       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
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux