On Sun, 22 Aug 2010, Nikolai Kondrashov wrote: > The HID report descriptor parser requires local items, except "delimiters", > to have data. I.e. to have non-zero size. This removes the restriction. > > The HID specification doesn't seem to have such restriction and, for > example, a "usage" item could have zero size if the usage ID is zero. > At least one usage page - Keyboard/Keypad lists zero ID as valid. > > This doesn't seem to happen in the wild, probably because the official tool > for authoring report descriptors always puts data even for zero values for > some items, including "usage" items. > > However, this makes little sense and at least one open source tool for > descriptor authoring generates zero data size "usage" items, which saves > some space, especially if many such items are used in a descriptor. > > Signed-off-by: Nikolai Kondrashov <spbnick@xxxxxxxxx> > --- > > To be honest, the open source tool mentioned is my hidrd-convert tool [1] > and the patch could simplify report descriptor fixing in the tablet drivers > I'm working on. > > drivers/hid/hid-core.c | 6 ------ > 1 files changed, 0 insertions(+), 6 deletions(-) > > [1] http://digimend.sourceforge.net/#proj-hidrd > > diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c > index 0c52899..d40a9f2 100644 > --- a/drivers/hid/hid-core.c > +++ b/drivers/hid/hid-core.c > @@ -388,12 +388,6 @@ static int hid_parser_local(struct hid_parser *parser, struct hid_item *item) > __u32 data; > unsigned n; > > - /* Local delimiter could have value 0, which allows size to be 0 */ > - if (item->size == 0 && item->tag != HID_LOCAL_ITEM_TAG_DELIMITER) { > - dbg_hid("item data expected for local item\n"); > - return -1; > - } > - > data = item_udata(item); > > switch (item->tag) { Seems like this is indeed fine according to the spec. I have now applied your patch to the 'waltop' branch, to keep it together with the patches they depend on it. Thanks, -- Jiri Kosina SUSE Labs, Novell Inc. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html