[fprint] Drivers API changes

Bastien Nocera hadess at hadess.net
Tue May 29 11:44:53 UTC 2018


Hey,

In the process of writing and documenting the libfprint drivers API, I
realised that drivers have access to library internals for no good
reason, so I split off the internal library API from the drivers API.

If you have an out-of-tree driver, the easiest would be to update your
fork, and see where you get errors.

Accessor functions were added for fields that were already in use by
existing drivers, such as:
- fpi_imgdev_get_usb_dev() and fpi_dev_get_usb_dev() instead of ->udev
- fpi_dev_get_user_data()/fpi_dev_set_user_data() and
fpi_imgdev_get_user_data()/fpi_imgdev_set_user_data() instead of
accessing ->priv directly
and similar.

Let me know if any accessor is missing for your drivers. Note that
there's a possibility that more changes are coming, especially as I
don't like the way the user_data/priv is passed around, and fp_dev and
fp_img_dev types need to duplicate access to some variables.

But, hopefully, by the time I'm done with the above there will be a
driver writing guide.

Cheers


More information about the fprint mailing list