All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicolas Pouillon <npouillon@freebox.fr>
To: David Herrmann <dh.herrmann@googlemail.com>
Cc: linux-input@vger.kernel.org, jkosina@suse.cz,
	chen ganir <chen.ganir@ti.com>,
	claudio takahasi <claudio.takahasi@openbossa.org>,
	jprvita@openbossa.org, linux-bluetooth@vger.kernel.org,
	anderson lizardo <anderson.lizardo@openbossa.org>,
	Marcel Holtmann <marcel@holtmann.org>
Subject: Re: [RFC v2 1/1] HID: User-space I/O driver support for HID subsystem
Date: Wed, 28 Mar 2012 13:15:29 +0200 (CEST)	[thread overview]
Message-ID: <2052749237.3448849.1332933329806.JavaMail.root@zmc> (raw)
In-Reply-To: <CANq1E4TnjzNG4sT_qt5qmrYMHp39HAJUcG1D4w=kcWoBkrThqA@mail.gmail.com>

David,

----- Original Message -----

> >> + =C2=A0 =C2=A0 strncpy(hid->name, ev->u.create.name, 128);
> >> + =C2=A0 =C2=A0 hid->name[127] =3D 0;
> >> + =C2=A0 =C2=A0 hid->ll_driver =3D &uhid_hid_driver;
> >> + =C2=A0 =C2=A0 hid->hid_get_raw_report =3D uhid_hid_get_raw;
> >> + =C2=A0 =C2=A0 hid->hid_output_raw_report =3D uhid_hid_output_raw;
> >> + =C2=A0 =C2=A0 hid->bus =3D ev->u.create.bus;
> >> + =C2=A0 =C2=A0 hid->vendor =3D ev->u.create.vendor;
> >> + =C2=A0 =C2=A0 hid->product =3D ev->u.create.product;
> >> + =C2=A0 =C2=A0 hid->version =3D ev->u.create.version;
> >> + =C2=A0 =C2=A0 hid->country =3D ev->u.create.country;
> >> + =C2=A0 =C2=A0 hid->phys[0] =3D 0;
> >> + =C2=A0 =C2=A0 hid->uniq[0] =3D 0;
> >> + =C2=A0 =C2=A0 hid->driver_data =3D uhid;
> >> + =C2=A0 =C2=A0 hid->dev.parent =3D uhid->parent;
> >
> > Here we have to make sure that we have all required information provide=
d
> > by userspace. Anything else that HID might require to work better. Or
> > that BR/EDR or LE provides additionally over USB.
>=20
> Beside phys and uniq I have copied all information that HIDP and
> USBHID use. I haven't found any other field that could be of interest
> here. We can also always add UHID_CREATE2 with additional fields to
> allow further additions (or use a "size" field as you suggested
> below).

HID report descriptor may reference Physical Descriptor (HID 6.2.3) and
String Descriptor entries (USB 9.6.8, HID E.11).  Physical Descriptor
blob could be another __user buffer + size in uhid_create_req.  String
descriptor should probably be an event for querying strings.

hidraw interface also offers access to Feature Reports, adding events
to send/receive and query (kernel querying uhid client) feature reports
could be of some interest.

Cheers,
--=20
Nicolas Pouillon

WARNING: multiple messages have this Message-ID (diff)
From: Nicolas Pouillon <npouillon@freebox.fr>
To: David Herrmann <dh.herrmann@googlemail.com>
Cc: linux-input@vger.kernel.org, jkosina@suse.cz,
	chen ganir <chen.ganir@ti.com>,
	claudio takahasi <claudio.takahasi@openbossa.org>,
	jprvita@openbossa.org, linux-bluetooth@vger.kernel.org,
	anderson lizardo <anderson.lizardo@openbossa.org>,
	Marcel Holtmann <marcel@holtmann.org>
Subject: Re: [RFC v2 1/1] HID: User-space I/O driver support for HID subsystem
Date: Wed, 28 Mar 2012 13:15:29 +0200 (CEST)	[thread overview]
Message-ID: <2052749237.3448849.1332933329806.JavaMail.root@zmc> (raw)
In-Reply-To: <CANq1E4TnjzNG4sT_qt5qmrYMHp39HAJUcG1D4w=kcWoBkrThqA@mail.gmail.com>

David,

----- Original Message -----

> >> +     strncpy(hid->name, ev->u.create.name, 128);
> >> +     hid->name[127] = 0;
> >> +     hid->ll_driver = &uhid_hid_driver;
> >> +     hid->hid_get_raw_report = uhid_hid_get_raw;
> >> +     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;
> >> +     hid->version = ev->u.create.version;
> >> +     hid->country = ev->u.create.country;
> >> +     hid->phys[0] = 0;
> >> +     hid->uniq[0] = 0;
> >> +     hid->driver_data = uhid;
> >> +     hid->dev.parent = uhid->parent;
> >
> > Here we have to make sure that we have all required information provided
> > by userspace. Anything else that HID might require to work better. Or
> > that BR/EDR or LE provides additionally over USB.
> 
> Beside phys and uniq I have copied all information that HIDP and
> USBHID use. I haven't found any other field that could be of interest
> here. We can also always add UHID_CREATE2 with additional fields to
> allow further additions (or use a "size" field as you suggested
> below).

HID report descriptor may reference Physical Descriptor (HID 6.2.3) and
String Descriptor entries (USB 9.6.8, HID E.11).  Physical Descriptor
blob could be another __user buffer + size in uhid_create_req.  String
descriptor should probably be an event for querying strings.

hidraw interface also offers access to Feature Reports, adding events
to send/receive and query (kernel querying uhid client) feature reports
could be of some interest.

Cheers,
-- 
Nicolas Pouillon
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2012-03-28 11:15 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-26 20:20 [RFC v2 0/1] User-space HID I/O Driver David Herrmann
2012-03-26 20:20 ` [RFC v2 1/1] HID: User-space I/O driver support for HID subsystem David Herrmann
2012-03-27 19:13   ` Marcel Holtmann
2012-03-27 21:51     ` David Herrmann
2012-03-27 21:51       ` David Herrmann
2012-03-27 22:22       ` Marcel Holtmann
2012-03-27 22:22         ` Marcel Holtmann
2012-03-28 11:15       ` Nicolas Pouillon [this message]
2012-03-28 11:15         ` Nicolas Pouillon
2012-03-29 12:28         ` David Herrmann
2012-03-29 12:28           ` David Herrmann
2012-03-27 18:43 ` [RFC v2 0/1] User-space HID I/O Driver Joao Paulo Rechi Vita
2012-03-27 18:43   ` Joao Paulo Rechi Vita
2012-04-03 17:55   ` Joao Paulo Rechi Vita
2012-04-03 17:55     ` Joao Paulo Rechi Vita
2012-04-03 22:14     ` Jiri Kosina
2012-04-03 22:14       ` Jiri Kosina
2012-04-04 22:59       ` Joao Paulo Rechi Vita
2012-04-04 22:59         ` Joao Paulo Rechi Vita
2012-04-26 17:22         ` Claudio Takahasi
2012-04-26 17:22           ` Claudio Takahasi
2012-04-26 17:54           ` David Herrmann
2012-04-26 17:54             ` David Herrmann
2012-04-26 18:19             ` Joao Paulo Rechi Vita
2012-04-26 18:19               ` Joao Paulo Rechi Vita
2012-03-28 10:50 ` Jiri Kosina
2012-03-28 10:50   ` Jiri Kosina

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=2052749237.3448849.1332933329806.JavaMail.root@zmc \
    --to=npouillon@freebox.fr \
    --cc=anderson.lizardo@openbossa.org \
    --cc=chen.ganir@ti.com \
    --cc=claudio.takahasi@openbossa.org \
    --cc=dh.herrmann@googlemail.com \
    --cc=jkosina@suse.cz \
    --cc=jprvita@openbossa.org \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=marcel@holtmann.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.