HID: fix semantic patch and improve its performance

Replace "expression" with "identifier" in the declaration of hdev.
This is necessary because hdev is used as the name of a function
parameter.

Move the two uses of @p2 to the relevant function names.

Convert <... ...>, meaning that the contained pattern is optional,
to use ..., when any, and exists.  This requires that the function
contain calls to hid_hw_start, etc, which reduces the set of files
that are considered for matching against this pattern.

Reported-by: Ricardo Ribalda <ribalda@chromium.org>
Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
This commit is contained in:
Julia Lawall 2026-08-27 13:29:49 +02:00 committed by Jiri Kosina
parent d3aba34427
commit 31fe2cb511

View File

@ -7,18 +7,19 @@
virtual report
@r@
@r exists@
identifier probe_fn;
expression hdev, flags;
identifier hdev;
expression flags;
position p1, p2;
@@
probe_fn(struct hid_device *hdev, ...) {
<...
... when any
hid_hw_start@p1(hdev, flags)
...
\(input_ff_create\|input_ff_create_memless\)@p2(...)
...>
\(input_ff_create@p2\|input_ff_create_memless@p2\)(...)
... when any
}
@script:python depends on report@