mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2026-06-10 18:24:19 +00:00
egis_etu905: Rely on default device cancellable for all the actions
I don't see a reason why we should rely on a different cancellable for interrupts, but happy to learn more about this
This commit is contained in:
@@ -33,7 +33,6 @@ struct _FpiDeviceEgisEtu905
|
|||||||
FpiSsm *task_ssm;
|
FpiSsm *task_ssm;
|
||||||
FpiSsm *cmd_ssm;
|
FpiSsm *cmd_ssm;
|
||||||
FpiUsbTransfer *cmd_transfer;
|
FpiUsbTransfer *cmd_transfer;
|
||||||
GCancellable *interrupt_cancellable;
|
|
||||||
GPtrArray *enrolled_ids;
|
GPtrArray *enrolled_ids;
|
||||||
gint max_enroll_stages;
|
gint max_enroll_stages;
|
||||||
guint8 sid[EGIS_ETU905_FINGERPRINT_DATA_SIZE];
|
guint8 sid[EGIS_ETU905_FINGERPRINT_DATA_SIZE];
|
||||||
@@ -89,8 +88,6 @@ egis_etu905_wait_finger_on_sensor (FpiSsm *ssm,
|
|||||||
FpDevice *device)
|
FpDevice *device)
|
||||||
{
|
{
|
||||||
fp_dbg ("Wait for finger on sensor");
|
fp_dbg ("Wait for finger on sensor");
|
||||||
FpiDeviceEgisEtu905 *self = FPI_DEVICE_EGIS_ETU905 (device);
|
|
||||||
|
|
||||||
g_autoptr(FpiUsbTransfer) transfer = fpi_usb_transfer_new (device);
|
g_autoptr(FpiUsbTransfer) transfer = fpi_usb_transfer_new (device);
|
||||||
|
|
||||||
fpi_usb_transfer_fill_interrupt (transfer, EGIS_ETU905_EP_CMD_INTERRUPT_IN,
|
fpi_usb_transfer_fill_interrupt (transfer, EGIS_ETU905_EP_CMD_INTERRUPT_IN,
|
||||||
@@ -103,7 +100,7 @@ egis_etu905_wait_finger_on_sensor (FpiSsm *ssm,
|
|||||||
|
|
||||||
fpi_usb_transfer_submit (g_steal_pointer (&transfer),
|
fpi_usb_transfer_submit (g_steal_pointer (&transfer),
|
||||||
EGIS_ETU905_USB_INTERRUPT_TIMEOUT,
|
EGIS_ETU905_USB_INTERRUPT_TIMEOUT,
|
||||||
self->interrupt_cancellable,
|
fpi_device_get_cancellable (device),
|
||||||
egis_etu905_finger_on_sensor_cb,
|
egis_etu905_finger_on_sensor_cb,
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
@@ -1551,37 +1548,11 @@ egis_etu905_open (FpDevice *device)
|
|||||||
fpi_ssm_start (self->task_ssm, egis_etu905_dev_init_done);
|
fpi_ssm_start (self->task_ssm, egis_etu905_dev_init_done);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
egis_etu905_cancel (FpDevice *device)
|
|
||||||
{
|
|
||||||
fp_dbg ("Cancel");
|
|
||||||
FpiDeviceEgisEtu905 *self = FPI_DEVICE_EGIS_ETU905 (device);
|
|
||||||
|
|
||||||
g_cancellable_cancel (self->interrupt_cancellable);
|
|
||||||
g_clear_object (&self->interrupt_cancellable);
|
|
||||||
self->interrupt_cancellable = g_cancellable_new ();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
egis_etu905_suspend (FpDevice *device)
|
|
||||||
{
|
|
||||||
fp_dbg ("Suspend");
|
|
||||||
|
|
||||||
egis_etu905_cancel (device);
|
|
||||||
g_cancellable_cancel (fpi_device_get_cancellable (device));
|
|
||||||
fpi_device_suspend_complete (device, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
egis_etu905_close (FpDevice *device)
|
egis_etu905_close (FpDevice *device)
|
||||||
{
|
{
|
||||||
g_autoptr(GError) error = NULL;
|
g_autoptr(GError) error = NULL;
|
||||||
fp_dbg ("Closing device");
|
fp_dbg ("Closing device");
|
||||||
FpiDeviceEgisEtu905 *self = FPI_DEVICE_EGIS_ETU905 (device);
|
|
||||||
GError *error = NULL;
|
|
||||||
|
|
||||||
egis_etu905_cancel (device);
|
|
||||||
g_clear_object (&self->interrupt_cancellable);
|
|
||||||
|
|
||||||
g_usb_device_release_interface (fpi_device_get_usb_device (device),
|
g_usb_device_release_interface (fpi_device_get_usb_device (device),
|
||||||
0, 0, &error);
|
0, 0, &error);
|
||||||
@@ -1610,8 +1581,6 @@ fpi_device_egis_etu905_class_init (FpiDeviceEgisEtu905Class *klass)
|
|||||||
|
|
||||||
dev_class->probe = egis_etu905_probe;
|
dev_class->probe = egis_etu905_probe;
|
||||||
dev_class->open = egis_etu905_open;
|
dev_class->open = egis_etu905_open;
|
||||||
dev_class->cancel = egis_etu905_cancel;
|
|
||||||
dev_class->suspend = egis_etu905_suspend;
|
|
||||||
dev_class->close = egis_etu905_close;
|
dev_class->close = egis_etu905_close;
|
||||||
dev_class->identify = egis_etu905_identify_verify;
|
dev_class->identify = egis_etu905_identify_verify;
|
||||||
dev_class->verify = egis_etu905_identify_verify;
|
dev_class->verify = egis_etu905_identify_verify;
|
||||||
|
|||||||
Reference in New Issue
Block a user