All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Tissoires <benjamin.tissoires@gmail.com>
To: David Herrmann <dh.herrmann@gmail.com>
Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>,
	Jiri Kosina <jkosina@suse.cz>,
	Frank Praznik <frank.praznik@oh.rr.com>,
	"open list:HID CORE LAYER" <linux-input@vger.kernel.org>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 01/11] HID: uHID: implement .raw_request
Date: Mon, 3 Feb 2014 14:07:56 -0500	[thread overview]
Message-ID: <CAN+gG=Hsf1r12mq=b9DutHDOJwcvMgYgDL9o6VOMTY2fjxTobg@mail.gmail.com> (raw)
In-Reply-To: <CANq1E4RD0OVTSVOXHPTchop0Y0q0p1_NEZZexSE4kvkp-17TKw@mail.gmail.com>

On Mon, Feb 3, 2014 at 10:26 AM, David Herrmann <dh.herrmann@gmail.com> wrote:
> Hi
>
> On Sun, Feb 2, 2014 at 5:50 AM, Benjamin Tissoires
> <benjamin.tissoires@redhat.com> wrote:
>> It was missing, so adding it.
>>
>> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
>> ---
>>  drivers/hid/uhid.c | 17 +++++++++++++++++
>>  1 file changed, 17 insertions(+)
>>
>> diff --git a/drivers/hid/uhid.c b/drivers/hid/uhid.c
>> index f5a2b19..438c9f1 100644
>> --- a/drivers/hid/uhid.c
>> +++ b/drivers/hid/uhid.c
>> @@ -270,6 +270,22 @@ static int uhid_hid_output_report(struct hid_device *hid, __u8 *buf,
>>         return count;
>>  }
>>
>> +static int uhid_raw_request(struct hid_device *hid, unsigned char reportnum,
>> +                           __u8 *buf, size_t len, unsigned char rtype,
>> +                           int reqtype)
>> +{
>> +       switch (reqtype) {
>> +       case HID_REQ_GET_REPORT:
>> +               return uhid_hid_get_raw(hid, reportnum, buf, len, rtype);
>> +       case HID_REQ_SET_REPORT:
>> +               if (buf[0] != reportnum)
>> +                       return -EINVAL;
>> +               return uhid_hid_output_raw(hid, buf, len, rtype);
>
> But that one looks wrong. UHID does not have any SET_REPORT query in
> the protocol, yet. You turn a SET_REPORT into an OUTPUT_REPORT here.
> So if user-space gets the UHID_OUTPUT event, it doesn't know whether
> to send a SET_REPORT@ctrl to the device, or an async
> OUTPUT_REPORT@intr. This at least matters for low-energy BT in bluez,
> which uses uhid.

right. So we can drop this for now.

>
> So we'd have to add an UHID_SET_REPORT event. Note that currently
> UHID_FEATURE is the equivalent of UHID_GET_REPORT, but just horribly
> named..

ouch. I think this is something which can be fixed quite easily (by
marking UHID_FEATURE obsolete and creating the two events).
However, I don't think I will have the time to make the change and do
proper testings in the next few days/weeks.

Can somebody else take this?

Cheers,
Benjamin

>
> Thanks
> David
>
>> +       default:
>> +               return -EIO;
>> +       }
>> +}
>> +
>>  static struct hid_ll_driver uhid_hid_driver = {
>>         .start = uhid_hid_start,
>>         .stop = uhid_hid_stop,
>> @@ -277,6 +293,7 @@ static struct hid_ll_driver uhid_hid_driver = {
>>         .close = uhid_hid_close,
>>         .parse = uhid_hid_parse,
>>         .output_report = uhid_hid_output_report,
>> +       .raw_request = uhid_raw_request,
>>  };
>>
>>  #ifdef CONFIG_COMPAT
>> --
>> 1.8.3.1
>>

  reply	other threads:[~2014-02-03 19:08 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-02  4:50 [PATCH 00/11] HID: spring cleaning Benjamin Tissoires
2014-02-02  4:50 ` [PATCH 01/11] HID: uHID: implement .raw_request Benjamin Tissoires
2014-02-03 15:26   ` David Herrmann
2014-02-03 19:07     ` Benjamin Tissoires [this message]
2014-02-02  4:50 ` [PATCH 02/11] HID: i2c-hid: implement ll_driver transport-layer callbacks Benjamin Tissoires
2014-02-03 16:04   ` David Herrmann
2014-02-03 19:00     ` Benjamin Tissoires
2014-02-02  4:50 ` [PATCH 03/11] HID: add inliners for " Benjamin Tissoires
2014-02-03 15:29   ` David Herrmann
2014-02-02  4:50 ` [PATCH 04/11] HID: logitech-dj: remove hidinput_input_event Benjamin Tissoires
2014-02-03 16:06   ` David Herrmann
2014-02-03 16:21     ` Benjamin Tissoires
2014-02-03 17:07       ` David Herrmann
2014-02-02  4:50 ` [PATCH 05/11] HID: HIDp: remove hidp_hidinput_event Benjamin Tissoires
2014-02-03 15:10   ` David Herrmann
2014-02-03 15:28     ` Benjamin Tissoires
2014-02-02  4:50 ` [PATCH 06/11] HID: remove hidinput_input_event handler Benjamin Tissoires
2014-02-03 16:10   ` David Herrmann
2014-02-02  4:50 ` [PATCH 07/11] HID: HIDp: remove duplicated coded Benjamin Tissoires
2014-02-03 15:02   ` David Herrmann
2014-02-03 15:11     ` Benjamin Tissoires
2014-02-03 15:19       ` David Herrmann
2014-02-02  4:50 ` [PATCH 08/11] HID: usbhid: remove duplicated code Benjamin Tissoires
2014-02-03 16:09   ` David Herrmann
2014-02-02  4:50 ` [PATCH 09/11] HID: remove hid_get_raw_report in struct hid_device Benjamin Tissoires
2014-02-03 16:12   ` David Herrmann
2014-02-02  4:50 ` [PATCH 10/11] HID: introduce helper to access hid_output_raw_report() Benjamin Tissoires
2014-02-03 16:14   ` David Herrmann
2014-02-02  4:50 ` [PATCH 11/11] HID: move hid_output_raw_report to hid_ll_driver Benjamin Tissoires
2014-02-03 16:48 ` [PATCH 00/11] HID: spring cleaning David Herrmann
2014-02-03 19:19   ` Benjamin Tissoires

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAN+gG=Hsf1r12mq=b9DutHDOJwcvMgYgDL9o6VOMTY2fjxTobg@mail.gmail.com' \
    --to=benjamin.tissoires@gmail.com \
    --cc=benjamin.tissoires@redhat.com \
    --cc=dh.herrmann@gmail.com \
    --cc=frank.praznik@oh.rr.com \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.