Re: [PATCH 3/5] HID: core: Export some report item parsing functions.

From: Benjamin Tissoires
Date: Mon Mar 01 2021 - 09:29:37 EST


On Mon, Mar 1, 2021 at 3:18 PM Andy Shevchenko
<andy.shevchenko@xxxxxxxxx> wrote:
>
> On Sun, Feb 28, 2021 at 3:30 AM Ronald Tschalär <ronald@xxxxxxxxxxxxx> wrote:
> >
> > These are useful to drivers that need to scan or parse reports
> > themselves.
>
> ...
>
> > - while ((start = fetch_item(start, end, &item)) != NULL)
> > + while ((start = hid_fetch_item(start, end, &item)) != NULL)
> > dispatch_type[item.type](parser, &item);
>
> > - while ((next = fetch_item(start, end, &item)) != NULL) {
> > + while ((next = hid_fetch_item(start, end, &item)) != NULL) {
> > start = next;
>
> I don't see the full picture, but perhaps you may also introduce
> for_each_hid_item() or so.

Same here, I don't see the full picture, but I would suggest to not
export those functions at all.

>From 4/5, I can see that you are using them in
appleib_find_collection(), which is only called by
appleib_add_device(), which in turn is always called with a parsed and
started HID device. Why can you not rely on the core parsing and
iterate over the already parsed hid_field?

Cheers,
Benjamin