Blame SOURCES/0059-drivers-Use-fpi_ssm_next_state_delayed-instead-of-cu.patch

73b847
From 4a98d79f9f4dc64d568b31f801f47cbbca3e5711 Mon Sep 17 00:00:00 2001
73b847
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
73b847
Date: Fri, 22 Nov 2019 18:22:50 +0100
73b847
Subject: [PATCH 059/181] drivers: Use fpi_ssm_next_state_delayed instead of
73b847
 custom callbacks
73b847
73b847
As per this fpi_ssm_next_state_timeout_cb can be removed
73b847
---
73b847
 libfprint/drivers/elan.c    |  7 +------
73b847
 libfprint/drivers/vfs0050.c |  3 +--
73b847
 libfprint/drivers/vfs101.c  | 24 +++++++-----------------
73b847
 libfprint/drivers/vfs301.c  | 15 ++-------------
73b847
 libfprint/drivers/vfs5011.c |  5 +----
73b847
 libfprint/fpi-ssm.c         | 30 ++++--------------------------
73b847
 libfprint/fpi-ssm.h         |  2 --
73b847
 7 files changed, 16 insertions(+), 70 deletions(-)
73b847
73b847
diff --git a/libfprint/drivers/elan.c b/libfprint/drivers/elan.c
73b847
index f9e8763..f622988 100644
73b847
--- a/libfprint/drivers/elan.c
73b847
+++ b/libfprint/drivers/elan.c
73b847
@@ -749,15 +749,10 @@ calibrate_run_state (FpiSsm *ssm, FpDevice *dev)
73b847
         }
73b847
       else
73b847
         {
73b847
-          GSource *timeout;
73b847
-
73b847
           if (self->calib_status == 0x00 &&
73b847
               self->last_read[0] == 0x01)
73b847
             self->calib_status = 0x01;
73b847
-          timeout = fpi_device_add_timeout (dev, 50,
73b847
-                                            fpi_ssm_next_state_timeout_cb,
73b847
-                                            ssm, NULL);
73b847
-          g_source_set_name (timeout, "calibrate_run_state");
73b847
+          fpi_ssm_next_state_delayed (ssm, 50);
73b847
         }
73b847
       break;
73b847
 
73b847
diff --git a/libfprint/drivers/vfs0050.c b/libfprint/drivers/vfs0050.c
73b847
index 6377639..af70db5 100644
73b847
--- a/libfprint/drivers/vfs0050.c
73b847
+++ b/libfprint/drivers/vfs0050.c
73b847
@@ -618,8 +618,7 @@ activate_ssm (FpiSsm *ssm, FpDevice *dev)
73b847
       clear_data (self);
73b847
 
73b847
       /* Wait for probable vdev->active changing */
73b847
-      fpi_device_add_timeout (dev, VFS_SSM_TIMEOUT,
73b847
-                              fpi_ssm_next_state_timeout_cb, ssm, NULL);
73b847
+      fpi_ssm_next_state_delayed (ssm, VFS_SSM_TIMEOUT);
73b847
       break;
73b847
 
73b847
     case SSM_NEXT_RECEIVE:
73b847
diff --git a/libfprint/drivers/vfs101.c b/libfprint/drivers/vfs101.c
73b847
index 0df9b73..7020726 100644
73b847
--- a/libfprint/drivers/vfs101.c
73b847
+++ b/libfprint/drivers/vfs101.c
73b847
@@ -369,16 +369,6 @@ async_load (FpiSsm        *ssm,
73b847
                            async_load_cb, NULL);
73b847
 }
73b847
 
73b847
-/* Submit asynchronous sleep */
73b847
-static void
73b847
-async_sleep (unsigned int   msec,
73b847
-             FpiSsm        *ssm,
73b847
-             FpImageDevice *dev)
73b847
-{
73b847
-  fpi_device_add_timeout (FP_DEVICE (dev), msec,
73b847
-                          fpi_ssm_next_state_timeout_cb, ssm, NULL);
73b847
-}
73b847
-
73b847
 /* Swap ssm states */
73b847
 enum {
73b847
   M_SWAP_SEND,
73b847
@@ -795,7 +785,7 @@ m_loop_state (FpiSsm *ssm, FpDevice *_dev)
73b847
 
73b847
     case M_LOOP_0_SLEEP:
73b847
       /* Wait fingerprint scanning */
73b847
-      async_sleep (50, ssm, dev);
73b847
+      fpi_ssm_next_state_delayed (ssm, 50);
73b847
       break;
73b847
 
73b847
     case M_LOOP_0_GET_STATE:
73b847
@@ -838,7 +828,7 @@ m_loop_state (FpiSsm *ssm, FpDevice *_dev)
73b847
       img_extract (ssm, dev);
73b847
 
73b847
       /* Wait handling image */
73b847
-      async_sleep (10, ssm, dev);
73b847
+      fpi_ssm_next_state_delayed (ssm, 10);
73b847
       break;
73b847
 
73b847
     case M_LOOP_0_CHECK_ACTION:
73b847
@@ -861,7 +851,7 @@ m_loop_state (FpiSsm *ssm, FpDevice *_dev)
73b847
       if (vfs_finger_state (self) == VFS_FINGER_PRESENT)
73b847
         {
73b847
           fpi_image_device_report_finger_status (dev, TRUE);
73b847
-          async_sleep (250, ssm, dev);
73b847
+          fpi_ssm_next_state_delayed (ssm, 250);
73b847
         }
73b847
       else
73b847
         {
73b847
@@ -891,7 +881,7 @@ m_loop_state (FpiSsm *ssm, FpDevice *_dev)
73b847
 
73b847
     case M_LOOP_1_SLEEP:
73b847
       /* Wait fingerprint scanning */
73b847
-      async_sleep (10, ssm, dev);
73b847
+      fpi_ssm_next_state_delayed (ssm, 10);
73b847
       break;
73b847
 
73b847
     case M_LOOP_2_ABORT_PRINT:
73b847
@@ -927,7 +917,7 @@ m_loop_state (FpiSsm *ssm, FpDevice *_dev)
73b847
         {
73b847
           /* Wait aborting */
73b847
           self->counter++;
73b847
-          async_sleep (100, ssm, dev);
73b847
+          fpi_ssm_next_state_delayed (ssm, 100);
73b847
         }
73b847
       else
73b847
         {
73b847
@@ -1065,7 +1055,7 @@ m_init_state (FpiSsm *ssm, FpDevice *_dev)
73b847
         {
73b847
           /* Wait aborting */
73b847
           self->counter++;
73b847
-          async_sleep (100, ssm, dev);
73b847
+          fpi_ssm_next_state_delayed (ssm, 100);
73b847
         }
73b847
       else
73b847
         {
73b847
@@ -1094,7 +1084,7 @@ m_init_state (FpiSsm *ssm, FpDevice *_dev)
73b847
             {
73b847
               /* Wait removing finger */
73b847
               self->counter++;
73b847
-              async_sleep (250, ssm, dev);
73b847
+              fpi_ssm_next_state_delayed (ssm, 250);
73b847
             }
73b847
           else
73b847
             {
73b847
diff --git a/libfprint/drivers/vfs301.c b/libfprint/drivers/vfs301.c
73b847
index 1d0f066..3870879 100644
73b847
--- a/libfprint/drivers/vfs301.c
73b847
+++ b/libfprint/drivers/vfs301.c
73b847
@@ -28,17 +28,6 @@ G_DEFINE_TYPE (FpDeviceVfs301, fpi_device_vfs301, FP_TYPE_IMAGE_DEVICE)
73b847
 
73b847
 /************************** GENERIC STUFF *************************************/
73b847
 
73b847
-/* Submit asynchronous sleep */
73b847
-static void
73b847
-async_sleep (unsigned int   msec,
73b847
-             FpiSsm        *ssm,
73b847
-             FpImageDevice *dev)
73b847
-{
73b847
-  /* Add timeout */
73b847
-  fpi_device_add_timeout (FP_DEVICE (dev), msec,
73b847
-                          fpi_ssm_next_state_timeout_cb, ssm, NULL);
73b847
-}
73b847
-
73b847
 static int
73b847
 submit_image (FpiSsm        *ssm,
73b847
               FpImageDevice *dev)
73b847
@@ -108,7 +97,7 @@ m_loop_state (FpiSsm *ssm, FpDevice *_dev)
73b847
 
73b847
     case M_WAIT_PRINT:
73b847
       /* Wait fingerprint scanning */
73b847
-      async_sleep (200, ssm, dev);
73b847
+      fpi_ssm_next_state_delayed (ssm, 200);
73b847
       break;
73b847
 
73b847
     case M_CHECK_PRINT:
73b847
@@ -126,7 +115,7 @@ m_loop_state (FpiSsm *ssm, FpDevice *_dev)
73b847
 
73b847
     case M_READ_PRINT_WAIT:
73b847
       /* Wait fingerprint scanning */
73b847
-      async_sleep (200, ssm, dev);
73b847
+      fpi_ssm_next_state_delayed (ssm, 200);
73b847
       break;
73b847
 
73b847
     case M_READ_PRINT_POLL:
73b847
diff --git a/libfprint/drivers/vfs5011.c b/libfprint/drivers/vfs5011.c
73b847
index 4fac03c..b769e31 100644
73b847
--- a/libfprint/drivers/vfs5011.c
73b847
+++ b/libfprint/drivers/vfs5011.c
73b847
@@ -704,10 +704,7 @@ activate_loop (FpiSsm *ssm, FpDevice *_dev)
73b847
       break;
73b847
 
73b847
     case DEV_ACTIVATE_DATA_COMPLETE:
73b847
-      fpi_device_add_timeout (_dev, 1,
73b847
-                              fpi_ssm_next_state_timeout_cb,
73b847
-                              ssm, NULL);
73b847
-
73b847
+      fpi_ssm_next_state_delayed (ssm, 1);
73b847
       break;
73b847
 
73b847
     case DEV_ACTIVATE_PREPARE_NEXT_CAPTURE:
73b847
diff --git a/libfprint/fpi-ssm.c b/libfprint/fpi-ssm.c
73b847
index 38186d2..931c8fe 100644
73b847
--- a/libfprint/fpi-ssm.c
73b847
+++ b/libfprint/fpi-ssm.c
73b847
@@ -359,7 +359,7 @@ fpi_ssm_next_state_delayed (FpiSsm *machine,
73b847
   g_clear_pointer (&machine->timeout, g_source_destroy);
73b847
   machine->timeout = fpi_device_add_timeout (machine->dev, delay,
73b847
                                              on_device_timeout_next_state,
73b847
-                                             machine);
73b847
+                                             machine, NULL);
73b847
 
73b847
   source_name = g_strdup_printf ("[%s] ssm %p jump to next state %d",
73b847
                                  fp_device_get_device_id (machine->dev),
73b847
@@ -430,9 +430,9 @@ fpi_ssm_jump_to_state_delayed (FpiSsm *machine,
73b847
   data->next_state = state;
73b847
 
73b847
   g_clear_pointer (&machine->timeout, g_source_destroy);
73b847
-  machine->timeout = fpi_device_add_timeout_full (machine->dev, delay,
73b847
-                                                  on_device_timeout_jump_to_state,
73b847
-                                                  data, g_free);
73b847
+  machine->timeout = fpi_device_add_timeout (machine->dev, delay,
73b847
+                                             on_device_timeout_jump_to_state,
73b847
+                                             data, g_free);
73b847
 
73b847
   source_name = g_strdup_printf ("[%s] ssm %p jump to state %d",
73b847
                                  fp_device_get_device_id (machine->dev),
73b847
@@ -486,28 +486,6 @@ fpi_ssm_dup_error (FpiSsm *machine)
73b847
   return NULL;
73b847
 }
73b847
 
73b847
-/**
73b847
- * fpi_ssm_next_state_timeout_cb:
73b847
- * @dev: a struct #fp_dev
73b847
- * @data: a pointer to an #FpiSsm state machine
73b847
- *
73b847
- * Same as fpi_ssm_next_state(), but to be used as a callback
73b847
- * for an fpi_device_add_timeout() callback, when the state
73b847
- * change needs to happen after a timeout.
73b847
- *
73b847
- * Make sure to pass the #FpiSsm as the `ssm_data` argument
73b847
- * for that fpi_device_add_timeout() call.
73b847
- */
73b847
-void
73b847
-fpi_ssm_next_state_timeout_cb (FpDevice *dev,
73b847
-                               void     *data)
73b847
-{
73b847
-  g_return_if_fail (dev != NULL);
73b847
-  g_return_if_fail (data != NULL);
73b847
-
73b847
-  fpi_ssm_next_state (data);
73b847
-}
73b847
-
73b847
 /**
73b847
  * fpi_ssm_usb_transfer_cb:
73b847
  * @transfer: a #FpiUsbTransfer
73b847
diff --git a/libfprint/fpi-ssm.h b/libfprint/fpi-ssm.h
73b847
index 05e6cf0..b426fff 100644
73b847
--- a/libfprint/fpi-ssm.h
73b847
+++ b/libfprint/fpi-ssm.h
73b847
@@ -93,8 +93,6 @@ int fpi_ssm_get_cur_state (FpiSsm *machine);
73b847
 /* Callbacks to be used by the driver instead of implementing their own
73b847
  * logic.
73b847
  */
73b847
-void fpi_ssm_next_state_timeout_cb (FpDevice *dev,
73b847
-                                    void     *data);
73b847
 void fpi_ssm_usb_transfer_cb (FpiUsbTransfer *transfer,
73b847
                               FpDevice       *device,
73b847
                               gpointer        unused_data,
73b847
-- 
73b847
2.24.1
73b847