mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2025-11-15 07:38:12 +00:00
lib: Make fpi_ssm opaque for drivers
We shouldn't access fpi_ssm struct fields directly in drivers, so add accessor and setter functions for the common uses.
This commit is contained in:
@@ -200,7 +200,7 @@ static int result_code(struct fp_img_dev *dev, int result)
|
||||
static void async_send_cb(struct libusb_transfer *transfer)
|
||||
{
|
||||
struct fpi_ssm *ssm = transfer->user_data;
|
||||
struct fp_img_dev *dev = ssm->priv;
|
||||
struct fp_img_dev *dev = fpi_ssm_get_user_data(ssm);
|
||||
struct vfs101_dev *vdev = dev->priv;
|
||||
|
||||
/* Cleanup transfer */
|
||||
@@ -244,7 +244,7 @@ out:
|
||||
/* Submit asynchronous send */
|
||||
static void async_send(struct fpi_ssm *ssm)
|
||||
{
|
||||
struct fp_img_dev *dev = ssm->priv;
|
||||
struct fp_img_dev *dev = fpi_ssm_get_user_data(ssm);
|
||||
struct vfs101_dev *vdev = dev->priv;
|
||||
int r;
|
||||
|
||||
@@ -284,7 +284,7 @@ static void async_send(struct fpi_ssm *ssm)
|
||||
static void async_recv_cb(struct libusb_transfer *transfer)
|
||||
{
|
||||
struct fpi_ssm *ssm = transfer->user_data;
|
||||
struct fp_img_dev *dev = ssm->priv;
|
||||
struct fp_img_dev *dev = fpi_ssm_get_user_data(ssm);
|
||||
struct vfs101_dev *vdev = dev->priv;
|
||||
|
||||
/* Cleanup transfer */
|
||||
@@ -331,7 +331,7 @@ out:
|
||||
/* Submit asynchronous recv */
|
||||
static void async_recv(struct fpi_ssm *ssm)
|
||||
{
|
||||
struct fp_img_dev *dev = ssm->priv;
|
||||
struct fp_img_dev *dev = fpi_ssm_get_user_data(ssm);
|
||||
struct vfs101_dev *vdev = dev->priv;
|
||||
int r;
|
||||
|
||||
@@ -368,7 +368,7 @@ static void async_load(struct fpi_ssm *ssm);
|
||||
static void async_load_cb(struct libusb_transfer *transfer)
|
||||
{
|
||||
struct fpi_ssm *ssm = transfer->user_data;
|
||||
struct fp_img_dev *dev = ssm->priv;
|
||||
struct fp_img_dev *dev = fpi_ssm_get_user_data(ssm);
|
||||
struct vfs101_dev *vdev = dev->priv;
|
||||
|
||||
/* Cleanup transfer */
|
||||
@@ -432,7 +432,7 @@ out:
|
||||
/* Submit asynchronous load */
|
||||
static void async_load(struct fpi_ssm *ssm)
|
||||
{
|
||||
struct fp_img_dev *dev = ssm->priv;
|
||||
struct fp_img_dev *dev = fpi_ssm_get_user_data(ssm);
|
||||
struct vfs101_dev *vdev = dev->priv;
|
||||
unsigned char *buffer;
|
||||
int r;
|
||||
@@ -471,7 +471,7 @@ static void async_load(struct fpi_ssm *ssm)
|
||||
static void async_sleep_cb(void *data)
|
||||
{
|
||||
struct fpi_ssm *ssm = data;
|
||||
struct fp_img_dev *dev = ssm->priv;
|
||||
struct fp_img_dev *dev = fpi_ssm_get_user_data(ssm);
|
||||
struct vfs101_dev *vdev = dev->priv;
|
||||
|
||||
/* Cleanup timeout */
|
||||
@@ -483,7 +483,7 @@ static void async_sleep_cb(void *data)
|
||||
/* Submit asynchronous sleep */
|
||||
static void async_sleep(unsigned int msec, struct fpi_ssm *ssm)
|
||||
{
|
||||
struct fp_img_dev *dev = ssm->priv;
|
||||
struct fp_img_dev *dev = fpi_ssm_get_user_data(ssm);
|
||||
struct vfs101_dev *vdev = dev->priv;
|
||||
|
||||
/* Add timeout */
|
||||
@@ -509,7 +509,7 @@ enum
|
||||
/* Exec swap sequential state machine */
|
||||
static void m_swap_state(struct fpi_ssm *ssm)
|
||||
{
|
||||
switch (ssm->cur_state)
|
||||
switch (fpi_ssm_get_cur_state(ssm))
|
||||
{
|
||||
case M_SWAP_SEND:
|
||||
/* Send data */
|
||||
@@ -526,7 +526,7 @@ static void m_swap_state(struct fpi_ssm *ssm)
|
||||
/* Start swap sequential state machine */
|
||||
static void m_swap(struct fpi_ssm *ssm, unsigned char *data, size_t length)
|
||||
{
|
||||
struct fp_img_dev *dev = ssm->priv;
|
||||
struct fp_img_dev *dev = fpi_ssm_get_user_data(ssm);
|
||||
struct vfs101_dev *vdev = dev->priv;
|
||||
struct fpi_ssm *subsm;
|
||||
|
||||
@@ -537,7 +537,7 @@ static void m_swap(struct fpi_ssm *ssm, unsigned char *data, size_t length)
|
||||
|
||||
/* Start swap ssm */
|
||||
subsm = fpi_ssm_new(dev->dev, m_swap_state, M_SWAP_NUM_STATES);
|
||||
subsm->priv = dev;
|
||||
fpi_ssm_set_user_data(subsm, dev);
|
||||
fpi_ssm_start_subsm(ssm, subsm);
|
||||
}
|
||||
|
||||
@@ -625,7 +625,7 @@ static void vfs_get_finger_state(struct fpi_ssm *ssm)
|
||||
/* Load raw image from reader */
|
||||
static void vfs_img_load(struct fpi_ssm *ssm)
|
||||
{
|
||||
struct fp_img_dev *dev = ssm->priv;
|
||||
struct fp_img_dev *dev = fpi_ssm_get_user_data(ssm);
|
||||
struct vfs101_dev *vdev = dev->priv;
|
||||
|
||||
G_DEBUG_HERE();
|
||||
@@ -756,7 +756,7 @@ static void img_copy(struct vfs101_dev *vdev, struct fp_img *img)
|
||||
/* Extract fingerpint image from raw data */
|
||||
static void img_extract(struct fpi_ssm *ssm)
|
||||
{
|
||||
struct fp_img_dev *dev = ssm->priv;
|
||||
struct fp_img_dev *dev = fpi_ssm_get_user_data(ssm);
|
||||
struct vfs101_dev *vdev = dev->priv;
|
||||
struct fp_img *img;
|
||||
|
||||
@@ -914,7 +914,7 @@ enum
|
||||
/* Exec loop sequential state machine */
|
||||
static void m_loop_state(struct fpi_ssm *ssm)
|
||||
{
|
||||
struct fp_img_dev *dev = ssm->priv;
|
||||
struct fp_img_dev *dev = fpi_ssm_get_user_data(ssm);
|
||||
struct vfs101_dev *vdev = dev->priv;
|
||||
|
||||
/* Check action state */
|
||||
@@ -925,7 +925,7 @@ static void m_loop_state(struct fpi_ssm *ssm)
|
||||
return;
|
||||
}
|
||||
|
||||
switch (ssm->cur_state)
|
||||
switch (fpi_ssm_get_cur_state(ssm))
|
||||
{
|
||||
case M_LOOP_0_GET_PRINT:
|
||||
/* Send get print command to the reader */
|
||||
@@ -1178,7 +1178,7 @@ enum
|
||||
/* Exec init sequential state machine */
|
||||
static void m_init_state(struct fpi_ssm *ssm)
|
||||
{
|
||||
struct fp_img_dev *dev = ssm->priv;
|
||||
struct fp_img_dev *dev = fpi_ssm_get_user_data(ssm);
|
||||
struct vfs101_dev *vdev = dev->priv;
|
||||
|
||||
/* Check action state */
|
||||
@@ -1189,7 +1189,7 @@ static void m_init_state(struct fpi_ssm *ssm)
|
||||
return;
|
||||
}
|
||||
|
||||
switch (ssm->cur_state)
|
||||
switch (fpi_ssm_get_cur_state(ssm))
|
||||
{
|
||||
case M_INIT_0_RECV_DIRTY:
|
||||
/* Recv eventualy dirty data */
|
||||
@@ -1419,18 +1419,18 @@ static void m_init_state(struct fpi_ssm *ssm)
|
||||
/* Complete init sequential state machine */
|
||||
static void m_init_complete(struct fpi_ssm *ssm)
|
||||
{
|
||||
struct fp_img_dev *dev = ssm->priv;
|
||||
struct fp_img_dev *dev = fpi_ssm_get_user_data(ssm);
|
||||
struct vfs101_dev *vdev = dev->priv;
|
||||
struct fpi_ssm *ssm_loop;
|
||||
|
||||
if (!ssm->error && vdev->active)
|
||||
if (!fpi_ssm_get_error(ssm) && vdev->active)
|
||||
{
|
||||
/* 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_set_user_data(ssm_loop, dev);
|
||||
fpi_ssm_start(ssm_loop, m_loop_complete);
|
||||
}
|
||||
|
||||
@@ -1465,7 +1465,7 @@ static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
||||
|
||||
/* Start init ssm */
|
||||
ssm = fpi_ssm_new(dev->dev, m_init_state, M_INIT_NUM_STATES);
|
||||
ssm->priv = dev;
|
||||
fpi_ssm_set_user_data(ssm, dev);
|
||||
fpi_ssm_start(ssm, m_init_complete);
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user