lib: Remove fpi_imgdev_get_dev()
This is now handled by FP_DEV()
This commit is contained in:
parent
058f91909d
commit
57b38a2876
17 changed files with 57 additions and 64 deletions
|
@ -715,7 +715,7 @@ static void start_capture(struct fp_img_dev *dev)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), capture_run_state, CAPTURE_NUM_STATES);
|
ssm = fpi_ssm_new(FP_DEV(dev), capture_run_state, CAPTURE_NUM_STATES);
|
||||||
G_DEBUG_HERE();
|
G_DEBUG_HERE();
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, capture_sm_complete);
|
fpi_ssm_start(ssm, capture_sm_complete);
|
||||||
|
@ -767,7 +767,7 @@ static void activate_sm_complete(fpi_ssm *ssm)
|
||||||
static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
||||||
{
|
{
|
||||||
struct aes1610_dev *aesdev = FP_INSTANCE_DATA(FP_DEV(dev));
|
struct aes1610_dev *aesdev = FP_INSTANCE_DATA(FP_DEV(dev));
|
||||||
fpi_ssm *ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), activate_run_state,
|
fpi_ssm *ssm = fpi_ssm_new(FP_DEV(dev), activate_run_state,
|
||||||
ACTIVATE_NUM_STATES);
|
ACTIVATE_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
aesdev->read_regs_retry_count = 0;
|
aesdev->read_regs_retry_count = 0;
|
||||||
|
|
|
@ -599,7 +599,7 @@ static void start_capture(struct fp_img_dev *dev)
|
||||||
aesdev->no_finger_cnt = 0;
|
aesdev->no_finger_cnt = 0;
|
||||||
/* Reset gain */
|
/* Reset gain */
|
||||||
strip_scan_reqs[4].value = AES2501_ADREFHI_MAX_VALUE;
|
strip_scan_reqs[4].value = AES2501_ADREFHI_MAX_VALUE;
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), capture_run_state, CAPTURE_NUM_STATES);
|
ssm = fpi_ssm_new(FP_DEV(dev), capture_run_state, CAPTURE_NUM_STATES);
|
||||||
G_DEBUG_HERE();
|
G_DEBUG_HERE();
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, capture_sm_complete);
|
fpi_ssm_start(ssm, capture_sm_complete);
|
||||||
|
@ -805,7 +805,7 @@ static void activate_sm_complete(fpi_ssm *ssm)
|
||||||
static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
||||||
{
|
{
|
||||||
struct aes2501_dev *aesdev = FP_INSTANCE_DATA(FP_DEV(dev));
|
struct aes2501_dev *aesdev = FP_INSTANCE_DATA(FP_DEV(dev));
|
||||||
fpi_ssm *ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), activate_run_state,
|
fpi_ssm *ssm = fpi_ssm_new(FP_DEV(dev), activate_run_state,
|
||||||
ACTIVATE_NUM_STATES);
|
ACTIVATE_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
aesdev->read_regs_retry_count = 0;
|
aesdev->read_regs_retry_count = 0;
|
||||||
|
|
|
@ -412,7 +412,7 @@ static void start_capture(struct fp_img_dev *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
aesdev->heartbeat_cnt = 0;
|
aesdev->heartbeat_cnt = 0;
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), capture_run_state, CAPTURE_NUM_STATES);
|
ssm = fpi_ssm_new(FP_DEV(dev), capture_run_state, CAPTURE_NUM_STATES);
|
||||||
G_DEBUG_HERE();
|
G_DEBUG_HERE();
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, capture_sm_complete);
|
fpi_ssm_start(ssm, capture_sm_complete);
|
||||||
|
@ -581,7 +581,7 @@ static void activate_sm_complete(fpi_ssm *ssm)
|
||||||
|
|
||||||
static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
||||||
{
|
{
|
||||||
fpi_ssm *ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), activate_run_state,
|
fpi_ssm *ssm = fpi_ssm_new(FP_DEV(dev), activate_run_state,
|
||||||
ACTIVATE_NUM_STATES);
|
ACTIVATE_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, activate_sm_complete);
|
fpi_ssm_start(ssm, activate_sm_complete);
|
||||||
|
|
|
@ -247,7 +247,7 @@ static void start_finger_detection(struct fp_img_dev *dev)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), finger_det_run_state, FINGER_DET_NUM_STATES);
|
ssm = fpi_ssm_new(FP_DEV(dev), finger_det_run_state, FINGER_DET_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, finger_det_sm_complete);
|
fpi_ssm_start(ssm, finger_det_sm_complete);
|
||||||
}
|
}
|
||||||
|
@ -427,7 +427,7 @@ static void start_capture(struct fp_img_dev *dev)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), capture_run_state, CAPTURE_NUM_STATES);
|
ssm = fpi_ssm_new(FP_DEV(dev), capture_run_state, CAPTURE_NUM_STATES);
|
||||||
G_DEBUG_HERE();
|
G_DEBUG_HERE();
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, capture_sm_complete);
|
fpi_ssm_start(ssm, capture_sm_complete);
|
||||||
|
@ -594,7 +594,7 @@ static void activate_sm_complete(fpi_ssm *ssm)
|
||||||
|
|
||||||
int aesX660_dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
int aesX660_dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
||||||
{
|
{
|
||||||
fpi_ssm *ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), activate_run_state,
|
fpi_ssm *ssm = fpi_ssm_new(FP_DEV(dev), activate_run_state,
|
||||||
ACTIVATE_NUM_STATES);
|
ACTIVATE_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, activate_sm_complete);
|
fpi_ssm_start(ssm, activate_sm_complete);
|
||||||
|
|
|
@ -486,7 +486,7 @@ static void elan_stop_capture(struct fp_img_dev *dev)
|
||||||
elan_dev_reset(elandev);
|
elan_dev_reset(elandev);
|
||||||
|
|
||||||
fpi_ssm *ssm =
|
fpi_ssm *ssm =
|
||||||
fpi_ssm_new(fpi_imgdev_get_dev(dev), stop_capture_run_state,
|
fpi_ssm_new(FP_DEV(dev), stop_capture_run_state,
|
||||||
STOP_CAPTURE_NUM_STATES);
|
STOP_CAPTURE_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, stop_capture_complete);
|
fpi_ssm_start(ssm, stop_capture_complete);
|
||||||
|
@ -579,7 +579,7 @@ static void elan_capture(struct fp_img_dev *dev)
|
||||||
|
|
||||||
elan_dev_reset(elandev);
|
elan_dev_reset(elandev);
|
||||||
fpi_ssm *ssm =
|
fpi_ssm *ssm =
|
||||||
fpi_ssm_new(fpi_imgdev_get_dev(dev), capture_run_state, CAPTURE_NUM_STATES);
|
fpi_ssm_new(FP_DEV(dev), capture_run_state, CAPTURE_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, capture_complete);
|
fpi_ssm_start(ssm, capture_complete);
|
||||||
}
|
}
|
||||||
|
@ -711,7 +711,7 @@ static void elan_calibrate(struct fp_img_dev *dev)
|
||||||
elan_dev_reset(elandev);
|
elan_dev_reset(elandev);
|
||||||
elandev->calib_atts_left = ELAN_CALIBRATION_ATTEMPTS;
|
elandev->calib_atts_left = ELAN_CALIBRATION_ATTEMPTS;
|
||||||
|
|
||||||
fpi_ssm *ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), calibrate_run_state,
|
fpi_ssm *ssm = fpi_ssm_new(FP_DEV(dev), calibrate_run_state,
|
||||||
CALIBRATE_NUM_STATES);
|
CALIBRATE_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, calibrate_complete);
|
fpi_ssm_start(ssm, calibrate_complete);
|
||||||
|
@ -791,7 +791,7 @@ static void elan_activate(struct fp_img_dev *dev)
|
||||||
elan_dev_reset(elandev);
|
elan_dev_reset(elandev);
|
||||||
|
|
||||||
fpi_ssm *ssm =
|
fpi_ssm *ssm =
|
||||||
fpi_ssm_new(fpi_imgdev_get_dev(dev), activate_run_state, ACTIVATE_NUM_STATES);
|
fpi_ssm_new(FP_DEV(dev), activate_run_state, ACTIVATE_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, activate_complete);
|
fpi_ssm_start(ssm, activate_complete);
|
||||||
}
|
}
|
||||||
|
|
|
@ -742,7 +742,7 @@ static void m_exit_complete(fpi_ssm *ssm)
|
||||||
|
|
||||||
static void m_exit_start(struct fp_img_dev *idev)
|
static void m_exit_start(struct fp_img_dev *idev)
|
||||||
{
|
{
|
||||||
fpi_ssm *ssm = fpi_ssm_new(fpi_imgdev_get_dev(idev), m_exit_state,
|
fpi_ssm *ssm = fpi_ssm_new(FP_DEV(idev), m_exit_state,
|
||||||
EXIT_NUM_STATES);
|
EXIT_NUM_STATES);
|
||||||
fp_dbg("Switching device to idle mode");
|
fp_dbg("Switching device to idle mode");
|
||||||
fpi_ssm_set_user_data(ssm, idev);
|
fpi_ssm_set_user_data(ssm, idev);
|
||||||
|
@ -955,7 +955,7 @@ static void m_finger_complete(fpi_ssm *ssm)
|
||||||
|
|
||||||
if (!fpi_ssm_get_error(ssm)) {
|
if (!fpi_ssm_get_error(ssm)) {
|
||||||
fpi_ssm *ssm_cap;
|
fpi_ssm *ssm_cap;
|
||||||
ssm_cap = fpi_ssm_new(fpi_imgdev_get_dev(idev), m_capture_state,
|
ssm_cap = fpi_ssm_new(FP_DEV(idev), m_capture_state,
|
||||||
CAP_NUM_STATES);
|
CAP_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm_cap, idev);
|
fpi_ssm_set_user_data(ssm_cap, idev);
|
||||||
fpi_ssm_start(ssm_cap, m_capture_complete);
|
fpi_ssm_start(ssm_cap, m_capture_complete);
|
||||||
|
@ -974,7 +974,7 @@ static void m_finger_complete(fpi_ssm *ssm)
|
||||||
static void m_start_fingerdetect(struct fp_img_dev *idev)
|
static void m_start_fingerdetect(struct fp_img_dev *idev)
|
||||||
{
|
{
|
||||||
fpi_ssm *ssmf;
|
fpi_ssm *ssmf;
|
||||||
ssmf = fpi_ssm_new(fpi_imgdev_get_dev(idev), m_finger_state, FGR_NUM_STATES);
|
ssmf = fpi_ssm_new(FP_DEV(idev), m_finger_state, FGR_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssmf, idev);
|
fpi_ssm_set_user_data(ssmf, idev);
|
||||||
fpi_ssm_start(ssmf, m_finger_complete);
|
fpi_ssm_start(ssmf, m_finger_complete);
|
||||||
}
|
}
|
||||||
|
@ -1264,7 +1264,7 @@ static void m_tunedc_complete(fpi_ssm *ssm)
|
||||||
struct fp_img_dev *idev = fpi_ssm_get_user_data(ssm);
|
struct fp_img_dev *idev = fpi_ssm_get_user_data(ssm);
|
||||||
if (!fpi_ssm_get_error(ssm)) {
|
if (!fpi_ssm_get_error(ssm)) {
|
||||||
fpi_ssm *ssm_tune;
|
fpi_ssm *ssm_tune;
|
||||||
ssm_tune = fpi_ssm_new(fpi_imgdev_get_dev(idev), m_tunevrb_state,
|
ssm_tune = fpi_ssm_new(FP_DEV(idev), m_tunevrb_state,
|
||||||
TUNEVRB_NUM_STATES);
|
TUNEVRB_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm_tune, idev);
|
fpi_ssm_set_user_data(ssm_tune, idev);
|
||||||
fpi_ssm_start(ssm_tune, m_tunevrb_complete);
|
fpi_ssm_start(ssm_tune, m_tunevrb_complete);
|
||||||
|
@ -1384,7 +1384,7 @@ static void m_init_complete(fpi_ssm *ssm)
|
||||||
struct fp_img_dev *idev = fpi_ssm_get_user_data(ssm);
|
struct fp_img_dev *idev = fpi_ssm_get_user_data(ssm);
|
||||||
if (!fpi_ssm_get_error(ssm)) {
|
if (!fpi_ssm_get_error(ssm)) {
|
||||||
fpi_ssm *ssm_tune;
|
fpi_ssm *ssm_tune;
|
||||||
ssm_tune = fpi_ssm_new(fpi_imgdev_get_dev(idev), m_tunedc_state,
|
ssm_tune = fpi_ssm_new(FP_DEV(idev), m_tunedc_state,
|
||||||
TUNEDC_NUM_STATES);
|
TUNEDC_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm_tune, idev);
|
fpi_ssm_set_user_data(ssm_tune, idev);
|
||||||
fpi_ssm_start(ssm_tune, m_tunedc_complete);
|
fpi_ssm_start(ssm_tune, m_tunedc_complete);
|
||||||
|
@ -1416,7 +1416,7 @@ static int dev_activate(struct fp_img_dev *idev, enum fp_imgdev_state state)
|
||||||
|
|
||||||
if (dev->dcoffset == 0) {
|
if (dev->dcoffset == 0) {
|
||||||
fp_dbg("Tuning device...");
|
fp_dbg("Tuning device...");
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(idev), m_init_state, INIT_NUM_STATES);
|
ssm = fpi_ssm_new(FP_DEV(idev), m_init_state, INIT_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, idev);
|
fpi_ssm_set_user_data(ssm, idev);
|
||||||
fpi_ssm_start(ssm, m_init_complete);
|
fpi_ssm_start(ssm, m_init_complete);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1424,7 +1424,7 @@ static int dev_activate(struct fp_img_dev *idev, enum fp_imgdev_state state)
|
||||||
"VRB=0x%02X,GAIN=0x%02X).", dev->dcoffset, dev->vrt,
|
"VRB=0x%02X,GAIN=0x%02X).", dev->dcoffset, dev->vrt,
|
||||||
dev->vrb, dev->gain);
|
dev->vrb, dev->gain);
|
||||||
fpi_imgdev_activate_complete(idev, 0);
|
fpi_imgdev_activate_complete(idev, 0);
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(idev), m_finger_state, FGR_NUM_STATES);
|
ssm = fpi_ssm_new(FP_DEV(idev), m_finger_state, FGR_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, idev);
|
fpi_ssm_set_user_data(ssm, idev);
|
||||||
fpi_ssm_start(ssm, m_finger_complete);
|
fpi_ssm_start(ssm, m_finger_complete);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1142,11 +1142,11 @@ static void loopsm_run_state(fpi_ssm *ssm)
|
||||||
fpi_ssm *awfsm = NULL;
|
fpi_ssm *awfsm = NULL;
|
||||||
switch (sdev->dev_model) {
|
switch (sdev->dev_model) {
|
||||||
case UPEKSONLY_2016:
|
case UPEKSONLY_2016:
|
||||||
awfsm = fpi_ssm_new(fpi_imgdev_get_dev(dev), awfsm_2016_run_state,
|
awfsm = fpi_ssm_new(FP_DEV(dev), awfsm_2016_run_state,
|
||||||
AWFSM_2016_NUM_STATES);
|
AWFSM_2016_NUM_STATES);
|
||||||
break;
|
break;
|
||||||
case UPEKSONLY_1000:
|
case UPEKSONLY_1000:
|
||||||
awfsm = fpi_ssm_new(fpi_imgdev_get_dev(dev), awfsm_1000_run_state,
|
awfsm = fpi_ssm_new(FP_DEV(dev), awfsm_1000_run_state,
|
||||||
AWFSM_1000_NUM_STATES);
|
AWFSM_1000_NUM_STATES);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1170,15 +1170,15 @@ static void loopsm_run_state(fpi_ssm *ssm)
|
||||||
fpi_ssm *capsm = NULL;
|
fpi_ssm *capsm = NULL;
|
||||||
switch (sdev->dev_model) {
|
switch (sdev->dev_model) {
|
||||||
case UPEKSONLY_2016:
|
case UPEKSONLY_2016:
|
||||||
capsm = fpi_ssm_new(fpi_imgdev_get_dev(dev), capsm_2016_run_state,
|
capsm = fpi_ssm_new(FP_DEV(dev), capsm_2016_run_state,
|
||||||
CAPSM_2016_NUM_STATES);
|
CAPSM_2016_NUM_STATES);
|
||||||
break;
|
break;
|
||||||
case UPEKSONLY_1000:
|
case UPEKSONLY_1000:
|
||||||
capsm = fpi_ssm_new(fpi_imgdev_get_dev(dev), capsm_1000_run_state,
|
capsm = fpi_ssm_new(FP_DEV(dev), capsm_1000_run_state,
|
||||||
CAPSM_1000_NUM_STATES);
|
CAPSM_1000_NUM_STATES);
|
||||||
break;
|
break;
|
||||||
case UPEKSONLY_1001:
|
case UPEKSONLY_1001:
|
||||||
capsm = fpi_ssm_new(fpi_imgdev_get_dev(dev), capsm_1001_run_state,
|
capsm = fpi_ssm_new(FP_DEV(dev), capsm_1001_run_state,
|
||||||
CAPSM_1001_NUM_STATES);
|
CAPSM_1001_NUM_STATES);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1191,15 +1191,15 @@ static void loopsm_run_state(fpi_ssm *ssm)
|
||||||
fpi_ssm *deinitsm = NULL;
|
fpi_ssm *deinitsm = NULL;
|
||||||
switch (sdev->dev_model) {
|
switch (sdev->dev_model) {
|
||||||
case UPEKSONLY_2016:
|
case UPEKSONLY_2016:
|
||||||
deinitsm = fpi_ssm_new(fpi_imgdev_get_dev(dev), deinitsm_2016_run_state,
|
deinitsm = fpi_ssm_new(FP_DEV(dev), deinitsm_2016_run_state,
|
||||||
DEINITSM_2016_NUM_STATES);
|
DEINITSM_2016_NUM_STATES);
|
||||||
break;
|
break;
|
||||||
case UPEKSONLY_1000:
|
case UPEKSONLY_1000:
|
||||||
deinitsm = fpi_ssm_new(fpi_imgdev_get_dev(dev), deinitsm_1000_run_state,
|
deinitsm = fpi_ssm_new(FP_DEV(dev), deinitsm_1000_run_state,
|
||||||
DEINITSM_1000_NUM_STATES);
|
DEINITSM_1000_NUM_STATES);
|
||||||
break;
|
break;
|
||||||
case UPEKSONLY_1001:
|
case UPEKSONLY_1001:
|
||||||
deinitsm = fpi_ssm_new(fpi_imgdev_get_dev(dev), deinitsm_1001_run_state,
|
deinitsm = fpi_ssm_new(FP_DEV(dev), deinitsm_1001_run_state,
|
||||||
DEINITSM_1001_NUM_STATES);
|
DEINITSM_1001_NUM_STATES);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1278,7 +1278,7 @@ static void initsm_complete(fpi_ssm *ssm)
|
||||||
if (r != 0)
|
if (r != 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
sdev->loopsm = fpi_ssm_new(fpi_imgdev_get_dev(dev), loopsm_run_state, LOOPSM_NUM_STATES);
|
sdev->loopsm = fpi_ssm_new(FP_DEV(dev), loopsm_run_state, LOOPSM_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(sdev->loopsm, dev);
|
fpi_ssm_set_user_data(sdev->loopsm, dev);
|
||||||
fpi_ssm_start(sdev->loopsm, loopsm_complete);
|
fpi_ssm_start(sdev->loopsm, loopsm_complete);
|
||||||
}
|
}
|
||||||
|
@ -1314,13 +1314,13 @@ static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
||||||
|
|
||||||
switch (sdev->dev_model) {
|
switch (sdev->dev_model) {
|
||||||
case UPEKSONLY_2016:
|
case UPEKSONLY_2016:
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), initsm_2016_run_state, INITSM_2016_NUM_STATES);
|
ssm = fpi_ssm_new(FP_DEV(dev), initsm_2016_run_state, INITSM_2016_NUM_STATES);
|
||||||
break;
|
break;
|
||||||
case UPEKSONLY_1000:
|
case UPEKSONLY_1000:
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), initsm_1000_run_state, INITSM_1000_NUM_STATES);
|
ssm = fpi_ssm_new(FP_DEV(dev), initsm_1000_run_state, INITSM_1000_NUM_STATES);
|
||||||
break;
|
break;
|
||||||
case UPEKSONLY_1001:
|
case UPEKSONLY_1001:
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), initsm_1001_run_state, INITSM_1001_NUM_STATES);
|
ssm = fpi_ssm_new(FP_DEV(dev), initsm_1001_run_state, INITSM_1001_NUM_STATES);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
|
|
|
@ -395,7 +395,7 @@ static void start_capture(struct fp_img_dev *dev)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), capture_run_state, CAPTURE_NUM_STATES);
|
ssm = fpi_ssm_new(FP_DEV(dev), capture_run_state, CAPTURE_NUM_STATES);
|
||||||
G_DEBUG_HERE();
|
G_DEBUG_HERE();
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, capture_sm_complete);
|
fpi_ssm_start(ssm, capture_sm_complete);
|
||||||
|
@ -404,7 +404,7 @@ static void start_capture(struct fp_img_dev *dev)
|
||||||
static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
||||||
{
|
{
|
||||||
struct upektc_dev *upekdev = FP_INSTANCE_DATA(FP_DEV(dev));
|
struct upektc_dev *upekdev = FP_INSTANCE_DATA(FP_DEV(dev));
|
||||||
fpi_ssm *ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), activate_run_state,
|
fpi_ssm *ssm = fpi_ssm_new(FP_DEV(dev), activate_run_state,
|
||||||
ACTIVATE_NUM_STATES);
|
ACTIVATE_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
upekdev->init_idx = 0;
|
upekdev->init_idx = 0;
|
||||||
|
|
|
@ -365,7 +365,7 @@ static void start_capture(struct fp_img_dev *dev)
|
||||||
|
|
||||||
upekdev->image_size = 0;
|
upekdev->image_size = 0;
|
||||||
|
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), capture_run_state, CAPTURE_NUM_STATES);
|
ssm = fpi_ssm_new(FP_DEV(dev), capture_run_state, CAPTURE_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, capture_sm_complete);
|
fpi_ssm_start(ssm, capture_sm_complete);
|
||||||
}
|
}
|
||||||
|
@ -444,7 +444,7 @@ static void start_deactivation(struct fp_img_dev *dev)
|
||||||
|
|
||||||
upekdev->image_size = 0;
|
upekdev->image_size = 0;
|
||||||
|
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), deactivate_run_state, DEACTIVATE_NUM_STATES);
|
ssm = fpi_ssm_new(FP_DEV(dev), deactivate_run_state, DEACTIVATE_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, deactivate_sm_complete);
|
fpi_ssm_start(ssm, deactivate_sm_complete);
|
||||||
}
|
}
|
||||||
|
@ -580,7 +580,7 @@ static void activate_sm_complete(fpi_ssm *ssm)
|
||||||
static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
||||||
{
|
{
|
||||||
struct upektc_img_dev *upekdev = FP_INSTANCE_DATA(FP_DEV(dev));
|
struct upektc_img_dev *upekdev = FP_INSTANCE_DATA(FP_DEV(dev));
|
||||||
fpi_ssm *ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), activate_run_state,
|
fpi_ssm *ssm = fpi_ssm_new(FP_DEV(dev), activate_run_state,
|
||||||
ACTIVATE_NUM_STATES);
|
ACTIVATE_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
upekdev->seq = 0;
|
upekdev->seq = 0;
|
||||||
|
|
|
@ -1075,7 +1075,7 @@ static void init_run_state(fpi_ssm *ssm)
|
||||||
fpi_ssm_jump_to_state(ssm, INIT_CHECK_HWSTAT_POWERDOWN);
|
fpi_ssm_jump_to_state(ssm, INIT_CHECK_HWSTAT_POWERDOWN);
|
||||||
break;
|
break;
|
||||||
case INIT_REBOOT_POWER: ;
|
case INIT_REBOOT_POWER: ;
|
||||||
fpi_ssm *rebootsm = fpi_ssm_new(fpi_imgdev_get_dev(dev), rebootpwr_run_state,
|
fpi_ssm *rebootsm = fpi_ssm_new(FP_DEV(dev), rebootpwr_run_state,
|
||||||
REBOOTPWR_NUM_STATES);
|
REBOOTPWR_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(rebootsm, dev);
|
fpi_ssm_set_user_data(rebootsm, dev);
|
||||||
fpi_ssm_start_subsm(ssm, rebootsm);
|
fpi_ssm_start_subsm(ssm, rebootsm);
|
||||||
|
@ -1094,7 +1094,7 @@ static void init_run_state(fpi_ssm *ssm)
|
||||||
urudev->irq_cb_data = ssm;
|
urudev->irq_cb_data = ssm;
|
||||||
urudev->irq_cb = init_scanpwr_irq_cb;
|
urudev->irq_cb = init_scanpwr_irq_cb;
|
||||||
|
|
||||||
fpi_ssm *powerupsm = fpi_ssm_new(fpi_imgdev_get_dev(dev), powerup_run_state,
|
fpi_ssm *powerupsm = fpi_ssm_new(FP_DEV(dev), powerup_run_state,
|
||||||
POWERUP_NUM_STATES);
|
POWERUP_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(powerupsm, dev);
|
fpi_ssm_set_user_data(powerupsm, dev);
|
||||||
fpi_ssm_start_subsm(ssm, powerupsm);
|
fpi_ssm_start_subsm(ssm, powerupsm);
|
||||||
|
@ -1169,7 +1169,7 @@ static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
||||||
|
|
||||||
urudev->scanpwr_irq_timeouts = 0;
|
urudev->scanpwr_irq_timeouts = 0;
|
||||||
urudev->activate_state = state;
|
urudev->activate_state = state;
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), init_run_state, INIT_NUM_STATES);
|
ssm = fpi_ssm_new(FP_DEV(dev), init_run_state, INIT_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, activate_initsm_complete);
|
fpi_ssm_start(ssm, activate_initsm_complete);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1223,7 +1223,7 @@ static int execute_state_change(struct fp_img_dev *dev)
|
||||||
urudev->img_data = g_malloc(sizeof(struct uru4k_image));
|
urudev->img_data = g_malloc(sizeof(struct uru4k_image));
|
||||||
urudev->img_enc_seed = rand();
|
urudev->img_enc_seed = rand();
|
||||||
|
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), imaging_run_state, IMAGING_NUM_STATES);
|
ssm = fpi_ssm_new(FP_DEV(dev), imaging_run_state, IMAGING_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, imaging_complete);
|
fpi_ssm_start(ssm, imaging_complete);
|
||||||
|
|
||||||
|
|
|
@ -314,7 +314,7 @@ static void loopsm_complete(fpi_ssm *ssm)
|
||||||
static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
||||||
{
|
{
|
||||||
struct v5s_dev *vdev = FP_INSTANCE_DATA(FP_DEV(dev));
|
struct v5s_dev *vdev = FP_INSTANCE_DATA(FP_DEV(dev));
|
||||||
fpi_ssm *ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), loop_run_state,
|
fpi_ssm *ssm = fpi_ssm_new(FP_DEV(dev), loop_run_state,
|
||||||
LOOP_NUM_STATES);
|
LOOP_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
vdev->deactivating = FALSE;
|
vdev->deactivating = FALSE;
|
||||||
|
|
|
@ -312,7 +312,7 @@ static void clear_ep2(fpi_ssm *ssm)
|
||||||
struct fp_img_dev *idev = fpi_ssm_get_user_data(ssm);
|
struct fp_img_dev *idev = fpi_ssm_get_user_data(ssm);
|
||||||
|
|
||||||
fpi_ssm *subsm =
|
fpi_ssm *subsm =
|
||||||
fpi_ssm_new(fpi_imgdev_get_dev(idev), clear_ep2_ssm, SUBSM1_STATES);
|
fpi_ssm_new(FP_DEV(idev), clear_ep2_ssm, SUBSM1_STATES);
|
||||||
fpi_ssm_set_user_data(subsm, idev);
|
fpi_ssm_set_user_data(subsm, idev);
|
||||||
fpi_ssm_start_subsm(ssm, subsm);
|
fpi_ssm_start_subsm(ssm, subsm);
|
||||||
}
|
}
|
||||||
|
@ -390,7 +390,7 @@ static void send_control_packet(fpi_ssm *ssm)
|
||||||
struct fp_img_dev *idev = fpi_ssm_get_user_data(ssm);
|
struct fp_img_dev *idev = fpi_ssm_get_user_data(ssm);
|
||||||
|
|
||||||
fpi_ssm *subsm =
|
fpi_ssm *subsm =
|
||||||
fpi_ssm_new(fpi_imgdev_get_dev(idev), send_control_packet_ssm, SUBSM2_STATES);
|
fpi_ssm_new(FP_DEV(idev), send_control_packet_ssm, SUBSM2_STATES);
|
||||||
fpi_ssm_set_user_data(subsm, idev);
|
fpi_ssm_set_user_data(subsm, idev);
|
||||||
fpi_ssm_start_subsm(ssm, subsm);
|
fpi_ssm_start_subsm(ssm, subsm);
|
||||||
}
|
}
|
||||||
|
@ -691,7 +691,7 @@ static int dev_activate(struct fp_img_dev *idev, enum fp_imgdev_state state)
|
||||||
vdev->need_report = 1;
|
vdev->need_report = 1;
|
||||||
vdev->ssm_active = 1;
|
vdev->ssm_active = 1;
|
||||||
|
|
||||||
fpi_ssm *ssm = fpi_ssm_new(fpi_imgdev_get_dev(idev), activate_ssm, SSM_STATES);
|
fpi_ssm *ssm = fpi_ssm_new(FP_DEV(idev), activate_ssm, SSM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, idev);
|
fpi_ssm_set_user_data(ssm, idev);
|
||||||
fpi_ssm_start(ssm, dev_activate_callback);
|
fpi_ssm_start(ssm, dev_activate_callback);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -738,7 +738,7 @@ static int dev_open(struct fp_img_dev *idev, unsigned long driver_data)
|
||||||
fp_dev_set_instance_data(FP_DEV(idev), vdev);
|
fp_dev_set_instance_data(FP_DEV(idev), vdev);
|
||||||
|
|
||||||
/* Clearing previous device state */
|
/* Clearing previous device state */
|
||||||
fpi_ssm *ssm = fpi_ssm_new(fpi_imgdev_get_dev(idev), activate_ssm, SSM_STATES);
|
fpi_ssm *ssm = fpi_ssm_new(FP_DEV(idev), activate_ssm, SSM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, idev);
|
fpi_ssm_set_user_data(ssm, idev);
|
||||||
fpi_ssm_start(ssm, dev_open_callback);
|
fpi_ssm_start(ssm, dev_open_callback);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -536,7 +536,7 @@ static void m_swap(fpi_ssm *ssm, unsigned char *data, size_t length)
|
||||||
vdev->length = length;
|
vdev->length = length;
|
||||||
|
|
||||||
/* Start swap ssm */
|
/* Start swap ssm */
|
||||||
subsm = fpi_ssm_new(fpi_imgdev_get_dev(dev), m_swap_state, M_SWAP_NUM_STATES);
|
subsm = fpi_ssm_new(FP_DEV(dev), m_swap_state, M_SWAP_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(subsm, dev);
|
fpi_ssm_set_user_data(subsm, dev);
|
||||||
fpi_ssm_start_subsm(ssm, subsm);
|
fpi_ssm_start_subsm(ssm, subsm);
|
||||||
}
|
}
|
||||||
|
@ -647,7 +647,7 @@ static int action_completed(struct fp_img_dev *dev)
|
||||||
struct vfs101_dev *vdev = FP_INSTANCE_DATA(FP_DEV(dev));
|
struct vfs101_dev *vdev = FP_INSTANCE_DATA(FP_DEV(dev));
|
||||||
|
|
||||||
if ((fpi_imgdev_get_action(dev) == IMG_ACTION_ENROLL) &&
|
if ((fpi_imgdev_get_action(dev) == IMG_ACTION_ENROLL) &&
|
||||||
(vdev->enroll_stage < fpi_dev_get_nr_enroll_stages(fpi_imgdev_get_dev(dev))))
|
(vdev->enroll_stage < fpi_dev_get_nr_enroll_stages(FP_DEV(dev))))
|
||||||
/* Enroll not completed, return false */
|
/* Enroll not completed, return false */
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
@ -1429,7 +1429,7 @@ static void m_init_complete(fpi_ssm *ssm)
|
||||||
fpi_imgdev_activate_complete(dev, 0);
|
fpi_imgdev_activate_complete(dev, 0);
|
||||||
|
|
||||||
/* Start loop ssm */
|
/* Start loop ssm */
|
||||||
ssm_loop = fpi_ssm_new(fpi_imgdev_get_dev(dev), m_loop_state, M_LOOP_NUM_STATES);
|
ssm_loop = fpi_ssm_new(FP_DEV(dev), m_loop_state, M_LOOP_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm_loop, dev);
|
fpi_ssm_set_user_data(ssm_loop, dev);
|
||||||
fpi_ssm_start(ssm_loop, m_loop_complete);
|
fpi_ssm_start(ssm_loop, m_loop_complete);
|
||||||
}
|
}
|
||||||
|
@ -1464,7 +1464,7 @@ static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
||||||
vdev->enroll_stage = 0;
|
vdev->enroll_stage = 0;
|
||||||
|
|
||||||
/* Start init ssm */
|
/* Start init ssm */
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), m_init_state, M_INIT_NUM_STATES);
|
ssm = fpi_ssm_new(FP_DEV(dev), m_init_state, M_INIT_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, m_init_complete);
|
fpi_ssm_start(ssm, m_init_complete);
|
||||||
|
|
||||||
|
|
|
@ -191,7 +191,7 @@ static void m_init_complete(fpi_ssm *ssm)
|
||||||
fpi_imgdev_activate_complete(dev, 0);
|
fpi_imgdev_activate_complete(dev, 0);
|
||||||
|
|
||||||
/* Start loop ssm */
|
/* Start loop ssm */
|
||||||
ssm_loop = fpi_ssm_new(fpi_imgdev_get_dev(dev), m_loop_state, M_LOOP_NUM_STATES);
|
ssm_loop = fpi_ssm_new(FP_DEV(dev), m_loop_state, M_LOOP_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm_loop, dev);
|
fpi_ssm_set_user_data(ssm_loop, dev);
|
||||||
fpi_ssm_start(ssm_loop, m_loop_complete);
|
fpi_ssm_start(ssm_loop, m_loop_complete);
|
||||||
}
|
}
|
||||||
|
@ -206,7 +206,7 @@ static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
||||||
fpi_ssm *ssm;
|
fpi_ssm *ssm;
|
||||||
|
|
||||||
/* Start init ssm */
|
/* Start init ssm */
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), m_init_state, 1);
|
ssm = fpi_ssm_new(FP_DEV(dev), m_init_state, 1);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, m_init_complete);
|
fpi_ssm_start(ssm, m_init_complete);
|
||||||
|
|
||||||
|
|
|
@ -236,9 +236,9 @@ static void usbexchange_loop(fpi_ssm *ssm)
|
||||||
static void usb_exchange_async(fpi_ssm *ssm,
|
static void usb_exchange_async(fpi_ssm *ssm,
|
||||||
struct usbexchange_data *data)
|
struct usbexchange_data *data)
|
||||||
{
|
{
|
||||||
fpi_ssm *subsm = fpi_ssm_new(fpi_imgdev_get_dev(data->device),
|
fpi_ssm *subsm = fpi_ssm_new(FP_DEV(data->device),
|
||||||
usbexchange_loop,
|
usbexchange_loop,
|
||||||
data->stepcount);
|
data->stepcount);
|
||||||
fpi_ssm_set_user_data(subsm, data);
|
fpi_ssm_set_user_data(subsm, data);
|
||||||
fpi_ssm_start_subsm(ssm, subsm);
|
fpi_ssm_start_subsm(ssm, subsm);
|
||||||
}
|
}
|
||||||
|
@ -830,7 +830,7 @@ static int dev_open(struct fp_img_dev *dev, unsigned long driver_data)
|
||||||
}
|
}
|
||||||
|
|
||||||
fpi_ssm *ssm;
|
fpi_ssm *ssm;
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), open_loop, DEV_OPEN_NUM_STATES);
|
ssm = fpi_ssm_new(FP_DEV(dev), open_loop, DEV_OPEN_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fpi_ssm_start(ssm, open_loop_complete);
|
fpi_ssm_start(ssm, open_loop_complete);
|
||||||
|
|
||||||
|
@ -858,7 +858,7 @@ static void start_scan(struct fp_img_dev *dev)
|
||||||
data = FP_INSTANCE_DATA(FP_DEV(dev));
|
data = FP_INSTANCE_DATA(FP_DEV(dev));
|
||||||
data->loop_running = TRUE;
|
data->loop_running = TRUE;
|
||||||
fp_dbg("creating ssm");
|
fp_dbg("creating ssm");
|
||||||
ssm = fpi_ssm_new(fpi_imgdev_get_dev(dev), activate_loop, DEV_ACTIVATE_NUM_STATES);
|
ssm = fpi_ssm_new(FP_DEV(dev), activate_loop, DEV_ACTIVATE_NUM_STATES);
|
||||||
fpi_ssm_set_user_data(ssm, dev);
|
fpi_ssm_set_user_data(ssm, dev);
|
||||||
fp_dbg("starting ssm");
|
fp_dbg("starting ssm");
|
||||||
fpi_ssm_start(ssm, activate_loop_complete);
|
fpi_ssm_start(ssm, activate_loop_complete);
|
||||||
|
|
|
@ -68,7 +68,6 @@ enum fp_imgdev_enroll_state {
|
||||||
};
|
};
|
||||||
|
|
||||||
libusb_device_handle *fpi_imgdev_get_usb_dev(struct fp_img_dev *dev);
|
libusb_device_handle *fpi_imgdev_get_usb_dev(struct fp_img_dev *dev);
|
||||||
struct fp_dev *fpi_imgdev_get_dev(struct fp_img_dev *imgdev);
|
|
||||||
enum fp_imgdev_enroll_state fpi_imgdev_get_action_state(struct fp_img_dev *imgdev);
|
enum fp_imgdev_enroll_state fpi_imgdev_get_action_state(struct fp_img_dev *imgdev);
|
||||||
enum fp_imgdev_action fpi_imgdev_get_action(struct fp_img_dev *imgdev);
|
enum fp_imgdev_action fpi_imgdev_get_action(struct fp_img_dev *imgdev);
|
||||||
int fpi_imgdev_get_action_result(struct fp_img_dev *imgdev);
|
int fpi_imgdev_get_action_result(struct fp_img_dev *imgdev);
|
||||||
|
|
|
@ -539,12 +539,6 @@ fpi_imgdev_get_usb_dev(struct fp_img_dev *dev)
|
||||||
return FP_DEV(dev)->udev;
|
return FP_DEV(dev)->udev;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct fp_dev *
|
|
||||||
fpi_imgdev_get_dev(struct fp_img_dev *imgdev)
|
|
||||||
{
|
|
||||||
return FP_DEV(imgdev);
|
|
||||||
}
|
|
||||||
|
|
||||||
enum fp_imgdev_enroll_state
|
enum fp_imgdev_enroll_state
|
||||||
fpi_imgdev_get_action_state(struct fp_img_dev *imgdev)
|
fpi_imgdev_get_action_state(struct fp_img_dev *imgdev)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue