static void activate_sm_complete(struct fpi_ssm *ssm) { struct fp_img_dev *dev = ssm->priv; fp_dbg("status %d", ssm->error); fpi_imgdev_activate_complete(dev, ssm->error); if (!ssm->error) start_finger_detection(dev); fpi_ssm_free(ssm); }
static void capture_sm_complete(struct fpi_ssm *ssm) { struct fp_img_dev *dev = ssm->priv; struct upektc_dev *upekdev = dev->priv; fp_dbg("Capture completed"); if (upekdev->deactivating) complete_deactivation(dev); else if (ssm->error) fpi_imgdev_session_error(dev, ssm->error); else start_finger_detection(dev); fpi_ssm_free(ssm); }
/* jump to finger detection */ static void activate_sm_complete(struct fpi_ssm *ssm) { static struct poll_data adata; struct fp_img_dev *dev = ssm->priv; fp_dbg("status %d", ssm->error); fpi_imgdev_activate_complete(dev, ssm->error); if (!ssm->error) memset(&einit,0,sizeof(struct et_init)); adata.dev=(struct fpi_img_dev*)dev; adata.init=&einit; start_finger_detection(dev,&adata); fpi_ssm_free(ssm); }
static void capture_sm_complete(struct fpi_ssm *ssm) { struct fp_img_dev *dev = ssm->priv; struct aesX660_dev *aesdev = dev->priv; int err = ssm->error; fp_dbg("Capture completed"); fpi_ssm_free(ssm); if (aesdev->deactivating) complete_deactivation(dev); else if (err) fpi_imgdev_session_error(dev, err); else start_finger_detection(dev); }
static void loopsm_complete(struct fpi_ssm *ssm) { struct fp_img_dev *dev = ssm->priv; struct v5s_dev *vdev = dev->priv; int r = ssm->error; fpi_ssm_free(ssm); fp_img_free(vdev->capture_img); vdev->capture_img = NULL; vdev->loop_running = FALSE; if (r) fpi_imgdev_session_error(dev, r); if (vdev->deactivating) fpi_imgdev_deactivate_complete(dev); }
/* Complete init sequential state machine */ static void m_init_complete(struct fpi_ssm *ssm) { struct fp_img_dev *dev = ssm->priv; struct fpi_ssm *ssm_loop; if (!ssm->error) { /* Notify activate complete */ fpi_imgdev_activate_complete(dev, 0); /* Start loop ssm */ ssm_loop = fpi_ssm_new(dev->dev, m_loop_state, M_LOOP_NUM_STATES); ssm_loop->priv = dev; fpi_ssm_start(ssm_loop, m_loop_complete); } /* Free sequential state machine */ fpi_ssm_free(ssm); }
static void finger_det_sm_complete(struct fpi_ssm *ssm) { struct fp_img_dev *dev = ssm->priv; struct aesX660_dev *aesdev = dev->priv; int err = ssm->error; fp_dbg("Finger detection completed"); fpi_imgdev_report_finger_status(dev, TRUE); fpi_ssm_free(ssm); if (aesdev->deactivating) complete_deactivation(dev); else if (err) fpi_imgdev_session_error(dev, err); else { fpi_imgdev_report_finger_status(dev, TRUE); start_capture(dev); } }
static void capture_sm_complete(struct fpi_ssm *ssm) { static struct poll_data adata; struct fp_img_dev *dev = ssm->priv; struct etss801u_dev *etdev = dev->priv; fp_dbg(""); if (etdev->deactivating) complete_deactivation(dev); else if (ssm->error) fpi_imgdev_session_error(dev, ssm->error); else /*Done finger enrolling, assemble image and give it to library*/ et_assemble_image(dev); fpi_imgdev_report_finger_status(dev, FALSE); memset(&einit,0,sizeof(struct et_init)); adata.dev=(struct fpi_img_dev*)dev; adata.init=&einit; start_finger_detection(dev,&adata); fpi_ssm_free(ssm); }
/* Complete loop sequential state machine */ static void m_loop_complete(struct fpi_ssm *ssm) { /* Free sequential state machine */ fpi_ssm_free(ssm); }
static void state_init_complete(struct fpi_ssm *ssm) { struct fp_img_dev *dev = ssm->priv; fpi_imgdev_open_complete(dev, 0); fpi_ssm_free(ssm); }
static void state_activate_complete(struct fpi_ssm *ssm) { fpi_ssm_free(ssm); }