mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2025-11-15 07:38:12 +00:00
lib: Make fp_img_dev structure opaque
This commit is contained in:
@@ -122,7 +122,7 @@ static void read_regs_rq_cb(struct fp_img_dev *dev, int result, void *user_data)
|
||||
}
|
||||
|
||||
data = g_malloc(126);
|
||||
libusb_fill_bulk_transfer(transfer, dev->udev, EP_IN, data, 126,
|
||||
libusb_fill_bulk_transfer(transfer, fpi_imgdev_get_usb_dev(dev), EP_IN, data, 126,
|
||||
read_regs_data_cb, rdata, BULK_TIMEOUT);
|
||||
|
||||
r = libusb_submit_transfer(transfer);
|
||||
@@ -333,7 +333,7 @@ static void finger_det_reqs_cb(struct fp_img_dev *dev, int result,
|
||||
}
|
||||
|
||||
data = g_malloc(20);
|
||||
libusb_fill_bulk_transfer(transfer, dev->udev, EP_IN, data, 20,
|
||||
libusb_fill_bulk_transfer(transfer, fpi_imgdev_get_usb_dev(dev), EP_IN, data, 20,
|
||||
finger_det_data_cb, dev, BULK_TIMEOUT);
|
||||
|
||||
r = libusb_submit_transfer(transfer);
|
||||
@@ -346,7 +346,7 @@ static void finger_det_reqs_cb(struct fp_img_dev *dev, int result,
|
||||
|
||||
static void start_finger_detection(struct fp_img_dev *dev)
|
||||
{
|
||||
struct aes2501_dev *aesdev = dev->priv;
|
||||
struct aes2501_dev *aesdev = fpi_imgdev_get_user_data(dev);
|
||||
G_DEBUG_HERE();
|
||||
|
||||
if (aesdev->deactivating) {
|
||||
@@ -438,7 +438,7 @@ static void capture_read_strip_cb(struct libusb_transfer *transfer)
|
||||
unsigned char *stripdata;
|
||||
struct fpi_ssm *ssm = transfer->user_data;
|
||||
struct fp_img_dev *dev = fpi_ssm_get_user_data(ssm);
|
||||
struct aes2501_dev *aesdev = dev->priv;
|
||||
struct aes2501_dev *aesdev = fpi_imgdev_get_user_data(dev);
|
||||
unsigned char *data = transfer->buffer;
|
||||
int sum;
|
||||
int threshold;
|
||||
@@ -523,7 +523,7 @@ out:
|
||||
static void capture_run_state(struct fpi_ssm *ssm)
|
||||
{
|
||||
struct fp_img_dev *dev = fpi_ssm_get_user_data(ssm);
|
||||
struct aes2501_dev *aesdev = dev->priv;
|
||||
struct aes2501_dev *aesdev = fpi_imgdev_get_user_data(dev);
|
||||
int r;
|
||||
|
||||
switch (fpi_ssm_get_cur_state(ssm)) {
|
||||
@@ -558,7 +558,7 @@ static void capture_run_state(struct fpi_ssm *ssm)
|
||||
}
|
||||
|
||||
data = g_malloc(1705);
|
||||
libusb_fill_bulk_transfer(transfer, dev->udev, EP_IN, data, 1705,
|
||||
libusb_fill_bulk_transfer(transfer, fpi_imgdev_get_usb_dev(dev), EP_IN, data, 1705,
|
||||
capture_read_strip_cb, ssm, BULK_TIMEOUT);
|
||||
|
||||
r = libusb_submit_transfer(transfer);
|
||||
@@ -574,7 +574,7 @@ static void capture_run_state(struct fpi_ssm *ssm)
|
||||
static void capture_sm_complete(struct fpi_ssm *ssm)
|
||||
{
|
||||
struct fp_img_dev *dev = fpi_ssm_get_user_data(ssm);
|
||||
struct aes2501_dev *aesdev = dev->priv;
|
||||
struct aes2501_dev *aesdev = fpi_imgdev_get_user_data(dev);
|
||||
|
||||
G_DEBUG_HERE();
|
||||
if (aesdev->deactivating)
|
||||
@@ -588,7 +588,7 @@ static void capture_sm_complete(struct fpi_ssm *ssm)
|
||||
|
||||
static void start_capture(struct fp_img_dev *dev)
|
||||
{
|
||||
struct aes2501_dev *aesdev = dev->priv;
|
||||
struct aes2501_dev *aesdev = fpi_imgdev_get_user_data(dev);
|
||||
struct fpi_ssm *ssm;
|
||||
|
||||
if (aesdev->deactivating) {
|
||||
@@ -599,7 +599,7 @@ static void start_capture(struct fp_img_dev *dev)
|
||||
aesdev->no_finger_cnt = 0;
|
||||
/* Reset gain */
|
||||
strip_scan_reqs[4].value = AES2501_ADREFHI_MAX_VALUE;
|
||||
ssm = fpi_ssm_new(dev->dev, capture_run_state, CAPTURE_NUM_STATES);
|
||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), capture_run_state, CAPTURE_NUM_STATES);
|
||||
G_DEBUG_HERE();
|
||||
fpi_ssm_set_user_data(ssm, dev);
|
||||
fpi_ssm_start(ssm, capture_sm_complete);
|
||||
@@ -714,7 +714,7 @@ void activate_read_regs_cb(struct fp_img_dev *dev, int status,
|
||||
unsigned char *regs, void *user_data)
|
||||
{
|
||||
struct fpi_ssm *ssm = user_data;
|
||||
struct aes2501_dev *aesdev = dev->priv;
|
||||
struct aes2501_dev *aesdev = fpi_imgdev_get_user_data(dev);
|
||||
|
||||
if (status != 0) {
|
||||
fpi_ssm_mark_aborted(ssm, status);
|
||||
@@ -804,8 +804,8 @@ static void activate_sm_complete(struct fpi_ssm *ssm)
|
||||
|
||||
static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
||||
{
|
||||
struct aes2501_dev *aesdev = dev->priv;
|
||||
struct fpi_ssm *ssm = fpi_ssm_new(dev->dev, activate_run_state,
|
||||
struct aes2501_dev *aesdev = fpi_imgdev_get_user_data(dev);
|
||||
struct fpi_ssm *ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), activate_run_state,
|
||||
ACTIVATE_NUM_STATES);
|
||||
fpi_ssm_set_user_data(ssm, dev);
|
||||
aesdev->read_regs_retry_count = 0;
|
||||
@@ -815,7 +815,7 @@ static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
||||
|
||||
static void dev_deactivate(struct fp_img_dev *dev)
|
||||
{
|
||||
struct aes2501_dev *aesdev = dev->priv;
|
||||
struct aes2501_dev *aesdev = fpi_imgdev_get_user_data(dev);
|
||||
/* FIXME: audit cancellation points, probably need more, specifically
|
||||
* in error handling paths? */
|
||||
aesdev->deactivating = TRUE;
|
||||
@@ -823,7 +823,7 @@ static void dev_deactivate(struct fp_img_dev *dev)
|
||||
|
||||
static void complete_deactivation(struct fp_img_dev *dev)
|
||||
{
|
||||
struct aes2501_dev *aesdev = dev->priv;
|
||||
struct aes2501_dev *aesdev = fpi_imgdev_get_user_data(dev);
|
||||
G_DEBUG_HERE();
|
||||
|
||||
/* FIXME: if we're in the middle of a scan, we should cancel the scan.
|
||||
@@ -840,22 +840,25 @@ static int dev_init(struct fp_img_dev *dev, unsigned long driver_data)
|
||||
{
|
||||
/* FIXME check endpoints */
|
||||
int r;
|
||||
struct aes2501_dev *aesdev;
|
||||
|
||||
r = libusb_claim_interface(dev->udev, 0);
|
||||
r = libusb_claim_interface(fpi_imgdev_get_usb_dev(dev), 0);
|
||||
if (r < 0) {
|
||||
fp_err("could not claim interface 0: %s", libusb_error_name(r));
|
||||
return r;
|
||||
}
|
||||
|
||||
dev->priv = g_malloc0(sizeof(struct aes2501_dev));
|
||||
aesdev = g_malloc0(sizeof(struct aes2501_dev));
|
||||
fpi_imgdev_set_user_data(dev, aesdev);
|
||||
fpi_imgdev_open_complete(dev, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void dev_deinit(struct fp_img_dev *dev)
|
||||
{
|
||||
g_free(dev->priv);
|
||||
libusb_release_interface(dev->udev, 0);
|
||||
struct aes2501_dev *aesdev = fpi_imgdev_get_user_data(dev);
|
||||
g_free(aesdev);
|
||||
libusb_release_interface(fpi_imgdev_get_usb_dev(dev), 0);
|
||||
fpi_imgdev_close_complete(dev);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user