mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2025-11-15 07:38:12 +00:00
cocci: Add spatch/coccinelle patches for driver porting
This is an impartial set of transformations to help port the drivers to the new interfaces.
This commit is contained in:
78
cocci/00-misc-cleanups.cocci
Normal file
78
cocci/00-misc-cleanups.cocci
Normal file
@@ -0,0 +1,78 @@
|
||||
// Remove USB device reset, lets hope that we do not need this.
|
||||
// If we do, maybe do it elsewhere?
|
||||
@@
|
||||
identifier r;
|
||||
@@
|
||||
- r = libusb_reset_device(...);
|
||||
- if (r != 0) { ... }
|
||||
|
||||
// Functions that have uneccessary returns (i.e. error cannot happen after refactoring)
|
||||
// NOTE: Make sure that these function are fine to modify in *all* drivers!
|
||||
@ prior_int_func @
|
||||
identifier func =~ "capture_chunk_async|alksdjflkajsfd";
|
||||
expression res, res2;
|
||||
@@
|
||||
-int func
|
||||
+void func
|
||||
(...)
|
||||
{
|
||||
<...
|
||||
- return res2;
|
||||
+ res2;
|
||||
...>
|
||||
- return res;
|
||||
+ res;
|
||||
}
|
||||
|
||||
@@
|
||||
identifier prior_int_func.func;
|
||||
identifier res;
|
||||
@@
|
||||
-res = func
|
||||
+func
|
||||
(...);
|
||||
(
|
||||
-if (res < 0) { ... }
|
||||
|
|
||||
-if (res != 0) { ... }
|
||||
)
|
||||
|
||||
// Remove useless checks of fpi_timeout_add return values
|
||||
@@
|
||||
expression a1, a2, a3, a4;
|
||||
@@
|
||||
-if (fpi_timeout_add(a1, a2, a3, a4) == NULL) { ... }
|
||||
+fpi_timeout_add(a1, a2, a3, a4);
|
||||
|
||||
@@
|
||||
identifier timeout;
|
||||
expression a1, a2, a3, a4;
|
||||
@@
|
||||
timeout = fpi_timeout_add(a1, a2, a3, a4);
|
||||
-if (timeout == NULL) { ... }
|
||||
|
||||
|
||||
// The VFS5011 driver has some stupid "radiation detected" logic, that should be asserts
|
||||
@@
|
||||
expression expr;
|
||||
@@
|
||||
-if ((expr)) {
|
||||
- ...
|
||||
- fp_err("Radiation detected!");
|
||||
- ...
|
||||
-}
|
||||
+g_assert(!expr);
|
||||
|
||||
|
||||
// A number of drivers call both fpi_imgdev_session_error *and* fpi_ssm_mark_failed.
|
||||
// While this worked fine, it is plain wrong and considerably complicates memory
|
||||
// management of the errors.
|
||||
// Remove this duplication
|
||||
@@
|
||||
expression dev;
|
||||
expression ssm;
|
||||
expression error;
|
||||
@@
|
||||
- fpi_imgdev_session_error(dev, error);
|
||||
fpi_ssm_mark_failed(ssm, error);
|
||||
|
||||
Reference in New Issue
Block a user