From 6e00b172becafefaec84967d4d21b60e78ee1b64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Thu, 13 Oct 2022 20:32:38 +0200 Subject: [PATCH] debian/patches: Drop all (applied upstream) --- debian/patches/Update-autosuspend.hwdb.patch | 20 --- debian/patches/elan-add-PID-0x0c4b.patch | 54 ------- ...sensor-in-the-right-mode-at-identity.patch | Bin 51192 -> 0 bytes debian/patches/elanmoc-add-PID-0x0c82.patch | 33 ---- debian/patches/elanmoc-add-PID-0x0c88.patch | 33 ---- .../elanmoc-add-PID-0x0c8c-0x0c8d.patch | 103 ------------ debian/patches/elanspi-add-04f3-241f.patch | 22 --- ...ce-Avoid-using-device-action-strings.patch | 48 ------ ...or-capture-warnings-to-debug-message.patch | 33 ---- ...ake-fingerlist-parse-error-non-fatal.patch | 26 --- ...eset-device-if-storage-listing-fails.patch | Bin 147030 -> 0 bytes debian/patches/goodixmoc-add-PID-0x6014.patch | 42 ----- debian/patches/goodixmoc-add-PID-0x631C.patch | 41 ----- debian/patches/goodixmoc-add-PID-0x634C.patch | 41 ----- debian/patches/goodixmoc-add-PID-0x6384.patch | 42 ----- debian/patches/goodixmoc-add-PID-0x659A.patch | 41 ----- debian/patches/goodixmoc-add-PID-6094.patch | 41 ----- debian/patches/series | 24 --- .../synaptics-Add-new-PID-0x0104.patch | 33 ---- .../synaptics-Add-new-PID-0x015F.patch | 33 ---- .../synaptics-Add-new-PID-0x0168.patch | 33 ---- ...erly-check-for-finger-status-during-.patch | 40 ----- ...ests-exit-with-error-on-every-except.patch | 110 ------------- ...oodix-tod-not-handling-identificatio.patch | 149 ------------------ debian/patches/upek-add-PID-0x2017.patch | 20 --- 25 files changed, 1062 deletions(-) delete mode 100644 debian/patches/Update-autosuspend.hwdb.patch delete mode 100644 debian/patches/elan-add-PID-0x0c4b.patch delete mode 100644 debian/patches/elanmoc-Make-sure-sensor-in-the-right-mode-at-identity.patch delete mode 100644 debian/patches/elanmoc-add-PID-0x0c82.patch delete mode 100644 debian/patches/elanmoc-add-PID-0x0c88.patch delete mode 100644 debian/patches/elanmoc-add-PID-0x0c8c-0x0c8d.patch delete mode 100644 debian/patches/elanspi-add-04f3-241f.patch delete mode 100644 debian/patches/fpi-device-Avoid-using-device-action-strings.patch delete mode 100644 debian/patches/goodix-Lower-poor-capture-warnings-to-debug-message.patch delete mode 100644 debian/patches/goodix-Make-fingerlist-parse-error-non-fatal.patch delete mode 100644 debian/patches/goodix-Reset-device-if-storage-listing-fails.patch delete mode 100644 debian/patches/goodixmoc-add-PID-0x6014.patch delete mode 100644 debian/patches/goodixmoc-add-PID-0x631C.patch delete mode 100644 debian/patches/goodixmoc-add-PID-0x634C.patch delete mode 100644 debian/patches/goodixmoc-add-PID-0x6384.patch delete mode 100644 debian/patches/goodixmoc-add-PID-0x659A.patch delete mode 100644 debian/patches/goodixmoc-add-PID-6094.patch delete mode 100644 debian/patches/series delete mode 100644 debian/patches/synaptics-Add-new-PID-0x0104.patch delete mode 100644 debian/patches/synaptics-Add-new-PID-0x015F.patch delete mode 100644 debian/patches/synaptics-Add-new-PID-0x0168.patch delete mode 100644 debian/patches/synaptics-goodix-Properly-check-for-finger-status-during-.patch delete mode 100644 debian/patches/tests-Ensure-python-tests-exit-with-error-on-every-except.patch delete mode 100644 debian/patches/tod-Add-wrapper-for-goodix-tod-not-handling-identificatio.patch delete mode 100644 debian/patches/upek-add-PID-0x2017.patch diff --git a/debian/patches/Update-autosuspend.hwdb.patch b/debian/patches/Update-autosuspend.hwdb.patch deleted file mode 100644 index 55560754..00000000 --- a/debian/patches/Update-autosuspend.hwdb.patch +++ /dev/null @@ -1,20 +0,0 @@ -From: mbv06 -Date: Tue, 27 Sep 2022 08:59:49 +0000 -Subject: Update autosuspend.hwdb - ---- - data/autosuspend.hwdb | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/data/autosuspend.hwdb b/data/autosuspend.hwdb -index d8127c3..ca2435a 100644 ---- a/data/autosuspend.hwdb -+++ b/data/autosuspend.hwdb -@@ -212,6 +212,7 @@ usb:v147Ep1001* - - # Supported by libfprint driver upektc - usb:v0483p2015* -+usb:v0483p2017* - usb:v147Ep3001* - ID_AUTOSUSPEND=1 - ID_PERSIST=0 diff --git a/debian/patches/elan-add-PID-0x0c4b.patch b/debian/patches/elan-add-PID-0x0c4b.patch deleted file mode 100644 index 713f9e74..00000000 --- a/debian/patches/elan-add-PID-0x0c4b.patch +++ /dev/null @@ -1,54 +0,0 @@ -From: Josh Chen -Date: Wed, 13 Apr 2022 14:48:29 +0800 -Subject: elan: add PID 0x0c4b - ---- - data/autosuspend.hwdb | 2 +- - libfprint/drivers/elan.h | 1 + - libfprint/fprint-list-udev-hwdb.c | 1 - - 3 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/data/autosuspend.hwdb b/data/autosuspend.hwdb -index c305c44..49fcacf 100644 ---- a/data/autosuspend.hwdb -+++ b/data/autosuspend.hwdb -@@ -133,6 +133,7 @@ usb:v04F3p0C32* - usb:v04F3p0C33* - usb:v04F3p0C3D* - usb:v04F3p0C42* -+usb:v04F3p0C4B* - usb:v04F3p0C4D* - usb:v04F3p0C4F* - usb:v04F3p0C63* -@@ -259,7 +260,6 @@ usb:v138Ap0091* - # Known unsupported devices - usb:v04F3p036B* - usb:v04F3p0C00* --usb:v04F3p0C4B* - usb:v04F3p0C4C* - usb:v04F3p0C57* - usb:v04F3p0C5E* -diff --git a/libfprint/drivers/elan.h b/libfprint/drivers/elan.h -index 33f3aef..7d08994 100644 ---- a/libfprint/drivers/elan.h -+++ b/libfprint/drivers/elan.h -@@ -215,6 +215,7 @@ static const FpIdEntry elan_id_table[] = { - {.vid = ELAN_VEND_ID, .pid = 0x0c33, .driver_data = ELAN_ALL_DEV}, - {.vid = ELAN_VEND_ID, .pid = 0x0c3d, .driver_data = ELAN_ALL_DEV}, - {.vid = ELAN_VEND_ID, .pid = 0x0c42, .driver_data = ELAN_0C42}, -+ {.vid = ELAN_VEND_ID, .pid = 0x0c4b, .driver_data = ELAN_ALL_DEV}, - {.vid = ELAN_VEND_ID, .pid = 0x0c4d, .driver_data = ELAN_ALL_DEV}, - {.vid = ELAN_VEND_ID, .pid = 0x0c4f, .driver_data = ELAN_ALL_DEV}, - {.vid = ELAN_VEND_ID, .pid = 0x0c63, .driver_data = ELAN_ALL_DEV}, -diff --git a/libfprint/fprint-list-udev-hwdb.c b/libfprint/fprint-list-udev-hwdb.c -index ad9cdd0..5244cc6 100644 ---- a/libfprint/fprint-list-udev-hwdb.c -+++ b/libfprint/fprint-list-udev-hwdb.c -@@ -31,7 +31,6 @@ static const FpIdEntry whitelist_id_table[] = { - */ - { .vid = 0x04f3, .pid = 0x036b }, - { .vid = 0x04f3, .pid = 0x0c00 }, -- { .vid = 0x04f3, .pid = 0x0c4b }, - { .vid = 0x04f3, .pid = 0x0c4c }, - { .vid = 0x04f3, .pid = 0x0c57 }, - { .vid = 0x04f3, .pid = 0x0c5e }, diff --git a/debian/patches/elanmoc-Make-sure-sensor-in-the-right-mode-at-identity.patch b/debian/patches/elanmoc-Make-sure-sensor-in-the-right-mode-at-identity.patch deleted file mode 100644 index 0c53311dc42d5891aef7237d82c61a800627abb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51192 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 -Date: Wed, 2 Mar 2022 10:43:20 +0800 -Subject: elanmoc: add PID 0x0c82 - ---- - data/autosuspend.hwdb | 1 + - libfprint/drivers/elanmoc/elanmoc.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/data/autosuspend.hwdb b/data/autosuspend.hwdb -index 91a14eb..d55ed3e 100644 ---- a/data/autosuspend.hwdb -+++ b/data/autosuspend.hwdb -@@ -144,6 +144,7 @@ usb:v04F3p0C58* - # Supported by libfprint driver elanmoc - usb:v04F3p0C7D* - usb:v04F3p0C7E* -+usb:v04F3p0C82* - ID_AUTOSUSPEND=1 - ID_PERSIST=0 - -diff --git a/libfprint/drivers/elanmoc/elanmoc.c b/libfprint/drivers/elanmoc/elanmoc.c -index 69700a0..3185ee7 100644 ---- a/libfprint/drivers/elanmoc/elanmoc.c -+++ b/libfprint/drivers/elanmoc/elanmoc.c -@@ -27,6 +27,7 @@ G_DEFINE_TYPE (FpiDeviceElanmoc, fpi_device_elanmoc, FP_TYPE_DEVICE) - static const FpIdEntry id_table[] = { - { .vid = 0x04f3, .pid = 0x0c7d, }, - { .vid = 0x04f3, .pid = 0x0c7e, }, -+ { .vid = 0x04f3, .pid = 0x0c82, }, - { .vid = 0, .pid = 0, .driver_data = 0 }, /* terminating entry */ - }; - diff --git a/debian/patches/elanmoc-add-PID-0x0c88.patch b/debian/patches/elanmoc-add-PID-0x0c88.patch deleted file mode 100644 index a58e7ae7..00000000 --- a/debian/patches/elanmoc-add-PID-0x0c88.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: ArronYen -Date: Mon, 20 Jun 2022 14:03:05 +0800 -Subject: elanmoc: add PID 0x0c88 - ---- - data/autosuspend.hwdb | 1 + - libfprint/drivers/elanmoc/elanmoc.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/data/autosuspend.hwdb b/data/autosuspend.hwdb -index d55ed3e..725c602 100644 ---- a/data/autosuspend.hwdb -+++ b/data/autosuspend.hwdb -@@ -145,6 +145,7 @@ usb:v04F3p0C58* - usb:v04F3p0C7D* - usb:v04F3p0C7E* - usb:v04F3p0C82* -+usb:v04F3p0C88* - ID_AUTOSUSPEND=1 - ID_PERSIST=0 - -diff --git a/libfprint/drivers/elanmoc/elanmoc.c b/libfprint/drivers/elanmoc/elanmoc.c -index 3185ee7..ad23e93 100644 ---- a/libfprint/drivers/elanmoc/elanmoc.c -+++ b/libfprint/drivers/elanmoc/elanmoc.c -@@ -28,6 +28,7 @@ static const FpIdEntry id_table[] = { - { .vid = 0x04f3, .pid = 0x0c7d, }, - { .vid = 0x04f3, .pid = 0x0c7e, }, - { .vid = 0x04f3, .pid = 0x0c82, }, -+ { .vid = 0x04f3, .pid = 0x0c88, }, - { .vid = 0, .pid = 0, .driver_data = 0 }, /* terminating entry */ - }; - diff --git a/debian/patches/elanmoc-add-PID-0x0c8c-0x0c8d.patch b/debian/patches/elanmoc-add-PID-0x0c8c-0x0c8d.patch deleted file mode 100644 index ae079e19..00000000 --- a/debian/patches/elanmoc-add-PID-0x0c8c-0x0c8d.patch +++ /dev/null @@ -1,103 +0,0 @@ -From: Johnny Li -Date: Mon, 25 Jul 2022 14:11:37 +0800 -Subject: elanmoc: add PID 0x0c8c & 0x0c8d - -Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libfprint/+bug/1989314 ---- - data/autosuspend.hwdb | 2 ++ - libfprint/drivers/elanmoc/elanmoc.c | 27 ++++++++++++++++++++++++--- - libfprint/drivers/elanmoc/elanmoc.h | 1 + - 3 files changed, 27 insertions(+), 3 deletions(-) - -diff --git a/data/autosuspend.hwdb b/data/autosuspend.hwdb -index 6e53964..5977aa8 100644 ---- a/data/autosuspend.hwdb -+++ b/data/autosuspend.hwdb -@@ -147,6 +147,8 @@ usb:v04F3p0C7D* - usb:v04F3p0C7E* - usb:v04F3p0C82* - usb:v04F3p0C88* -+usb:v04F3p0C8C* -+usb:v04F3p0C8D* - ID_AUTOSUSPEND=1 - ID_PERSIST=0 - -diff --git a/libfprint/drivers/elanmoc/elanmoc.c b/libfprint/drivers/elanmoc/elanmoc.c -index 5bcfce2..77e22f2 100644 ---- a/libfprint/drivers/elanmoc/elanmoc.c -+++ b/libfprint/drivers/elanmoc/elanmoc.c -@@ -29,6 +29,8 @@ static const FpIdEntry id_table[] = { - { .vid = 0x04f3, .pid = 0x0c7e, }, - { .vid = 0x04f3, .pid = 0x0c82, }, - { .vid = 0x04f3, .pid = 0x0c88, }, -+ { .vid = 0x04f3, .pid = 0x0c8c, }, -+ { .vid = 0x04f3, .pid = 0x0c8d, }, - { .vid = 0, .pid = 0, .driver_data = 0 }, /* terminating entry */ - }; - -@@ -377,9 +379,9 @@ elanmoc_enroll_cb (FpiDeviceElanmoc *self, - enroll_status_report (self, ENROLL_RSP_RETRY, self->num_frames, NULL); - } - -- if (self->num_frames == ELAN_MOC_ENROLL_TIMES && buffer_in[1] == ELAN_MSG_OK) -+ if (self->num_frames == self->max_moc_enroll_time && buffer_in[1] == ELAN_MSG_OK) - fpi_ssm_next_state (self->task_ssm); -- else if (self->num_frames < ELAN_MOC_ENROLL_TIMES) -+ else if (self->num_frames < self->max_moc_enroll_time) - fpi_ssm_jump_to_state (self->task_ssm, MOC_ENROLL_WAIT_FINGER); - else - fpi_ssm_mark_failed (self->task_ssm, error); -@@ -442,7 +444,7 @@ elan_enroll_run_state (FpiSsm *ssm, FpDevice *dev) - case MOC_ENROLL_WAIT_FINGER: - cmd_buf = elanmoc_compose_cmd (&elanmoc_enroll_cmd); - cmd_buf[3] = self->curr_enrolled; -- cmd_buf[4] = ELAN_MOC_ENROLL_TIMES; -+ cmd_buf[4] = self->max_moc_enroll_time; - cmd_buf[5] = self->num_frames; - elanmoc_get_cmd (dev, cmd_buf, elanmoc_enroll_cmd.cmd_len, elanmoc_enroll_cmd.resp_len, 1, elanmoc_enroll_cb); - break; -@@ -1069,6 +1071,7 @@ elanmoc_open (FpDevice *device) - { - FpiDeviceElanmoc *self = FPI_DEVICE_ELANMOC (device); - GError *error = NULL; -+ gint productid = 0; - - if (!g_usb_device_reset (fpi_device_get_usb_device (device), &error)) - goto error; -@@ -1076,6 +1079,24 @@ elanmoc_open (FpDevice *device) - if (!g_usb_device_claim_interface (fpi_device_get_usb_device (device), 0, 0, &error)) - goto error; - -+ productid = g_usb_device_get_pid (fpi_device_get_usb_device (device)); -+ switch (productid) -+ { -+ case 0x0c8c: -+ self->max_moc_enroll_time = 11; -+ break; -+ -+ case 0x0c8d: -+ self->max_moc_enroll_time = 17; -+ break; -+ -+ default: -+ self->max_moc_enroll_time = ELAN_MOC_ENROLL_TIMES; -+ break; -+ } -+ -+ fpi_device_set_nr_enroll_stages (device, self->max_moc_enroll_time); -+ - self->task_ssm = fpi_ssm_new (FP_DEVICE (self), dev_init_handler, DEV_INIT_STATES); - fpi_ssm_start (self->task_ssm, task_ssm_init_done); - return; -diff --git a/libfprint/drivers/elanmoc/elanmoc.h b/libfprint/drivers/elanmoc/elanmoc.h -index 312a4b4..a948d40 100644 ---- a/libfprint/drivers/elanmoc/elanmoc.h -+++ b/libfprint/drivers/elanmoc/elanmoc.h -@@ -188,6 +188,7 @@ struct _FpiDeviceElanmoc - unsigned char y_trace; - int num_frames; - int curr_enrolled; -+ int max_moc_enroll_time; - int cancel_result; - int cmd_retry_cnt; - int list_index; diff --git a/debian/patches/elanspi-add-04f3-241f.patch b/debian/patches/elanspi-add-04f3-241f.patch deleted file mode 100644 index 901f7102..00000000 --- a/debian/patches/elanspi-add-04f3-241f.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Matthew Mirvish -Date: Sun, 8 May 2022 18:32:29 -0400 -Subject: elanspi: add 04f3:241f - -Reported as working with this config in -https://github.com/mincrmatt12/elan-spi-fingerprint/issues/11. ---- - libfprint/drivers/elanspi.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libfprint/drivers/elanspi.h b/libfprint/drivers/elanspi.h -index ffe3416..a8d7319 100644 ---- a/libfprint/drivers/elanspi.h -+++ b/libfprint/drivers/elanspi.h -@@ -348,6 +348,7 @@ static const FpIdEntry elanspi_id_table[] = { - {.udev_types = ELANSPI_UDEV_TYPES, .spi_acpi_id = "ELAN7001", .hid_id = {.vid = ELANSPI_TP_VID, .pid = 0x30b2}, .driver_data = ELANSPI_NO_ROTATE}, - {.udev_types = ELANSPI_UDEV_TYPES, .spi_acpi_id = "ELAN70A1", .hid_id = {.vid = ELANSPI_TP_VID, .pid = 0x30b2}, .driver_data = ELANSPI_NO_ROTATE}, - {.udev_types = ELANSPI_UDEV_TYPES, .spi_acpi_id = "ELAN7001", .hid_id = {.vid = ELANSPI_TP_VID, .pid = 0x309f}, .driver_data = ELANSPI_180_ROTATE}, -+ {.udev_types = ELANSPI_UDEV_TYPES, .spi_acpi_id = "ELAN7001", .hid_id = {.vid = ELANSPI_TP_VID, .pid = 0x241f}, .driver_data = ELANSPI_NO_ROTATE}, - {.udev_types = 0} - }; - diff --git a/debian/patches/fpi-device-Avoid-using-device-action-strings.patch b/debian/patches/fpi-device-Avoid-using-device-action-strings.patch deleted file mode 100644 index 954c8c85..00000000 --- a/debian/patches/fpi-device-Avoid-using-device-action-strings.patch +++ /dev/null @@ -1,48 +0,0 @@ -From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= -Date: Sun, 17 Jul 2022 17:16:11 +0200 -Subject: fpi-device: Avoid using device action strings - -It may cause initializing a type twice in some cases, and thus some -hard-locking, let's just avoid it since we don't care about full debug -strings here. - -LP: #1966911 ---- - libfprint/fpi-device.c | 11 +++-------- - 1 file changed, 3 insertions(+), 8 deletions(-) - -diff --git a/libfprint/fpi-device.c b/libfprint/fpi-device.c -index 89504da..7efdfe5 100644 ---- a/libfprint/fpi-device.c -+++ b/libfprint/fpi-device.c -@@ -747,11 +747,8 @@ fpi_device_action_error (FpDevice *device, - - if (error != NULL) - { -- g_autofree char *action_str = NULL; -- -- action_str = g_enum_to_string (FPI_TYPE_DEVICE_ACTION, priv->current_action); -- g_debug ("Device reported generic error (%s) during action; action was: %s", -- error->message, action_str); -+ g_debug ("Device reported generic error (%s) during action; action was: %d", -+ error->message, priv->current_action); - } - else - { -@@ -965,15 +962,13 @@ fp_device_task_return_in_idle_cb (gpointer user_data) - { - FpDeviceTaskReturnData *data = user_data; - FpDevicePrivate *priv = fp_device_get_instance_private (data->device); -- g_autofree char *action_str = NULL; - FpiDeviceAction action; - - g_autoptr(GTask) task = NULL; - g_autoptr(GError) cancellation_reason = NULL; - - -- action_str = g_enum_to_string (FPI_TYPE_DEVICE_ACTION, priv->current_action); -- g_debug ("Completing action %s in idle!", action_str); -+ g_debug ("Completing action %d in idle!", priv->current_action); - - task = g_steal_pointer (&priv->current_task); - action = priv->current_action; diff --git a/debian/patches/goodix-Lower-poor-capture-warnings-to-debug-message.patch b/debian/patches/goodix-Lower-poor-capture-warnings-to-debug-message.patch deleted file mode 100644 index 0f5172d8..00000000 --- a/debian/patches/goodix-Lower-poor-capture-warnings-to-debug-message.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: Benjamin Berg -Date: Tue, 14 Jun 2022 15:32:56 +0200 -Subject: goodix: Lower poor capture warnings to debug message - -It is completely fine for a capture to have a low quality or fail. No -need to warn about this. Main reason to remove it though is so that -recordings that contain such a message do not trigger a failure. ---- - libfprint/drivers/goodixmoc/goodix.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libfprint/drivers/goodixmoc/goodix.c b/libfprint/drivers/goodixmoc/goodix.c -index 0686856..48dafe1 100644 ---- a/libfprint/drivers/goodixmoc/goodix.c -+++ b/libfprint/drivers/goodixmoc/goodix.c -@@ -661,7 +661,7 @@ fp_enroll_capture_cb (FpiDeviceGoodixMoc *self, - /* */ - if (resp->result >= GX_FAILED) - { -- fp_warn ("Capture sample failed, result: 0x%x", resp->result); -+ fp_info ("Capture sample failed, result: 0x%x", resp->result); - fpi_device_enroll_progress (FP_DEVICE (self), - self->enroll_stage, - NULL, -@@ -675,7 +675,7 @@ fp_enroll_capture_cb (FpiDeviceGoodixMoc *self, - if ((resp->capture_data_resp.img_quality < self->sensorcfg->config[4]) || - (resp->capture_data_resp.img_coverage < self->sensorcfg->config[5])) - { -- fp_warn ("Capture sample poor quality(%d): %d or coverage(%d): %d", -+ fp_info ("Capture sample poor quality(%d): %d or coverage(%d): %d", - self->sensorcfg->config[4], - resp->capture_data_resp.img_quality, - self->sensorcfg->config[5], diff --git a/debian/patches/goodix-Make-fingerlist-parse-error-non-fatal.patch b/debian/patches/goodix-Make-fingerlist-parse-error-non-fatal.patch deleted file mode 100644 index 3fae9730..00000000 --- a/debian/patches/goodix-Make-fingerlist-parse-error-non-fatal.patch +++ /dev/null @@ -1,26 +0,0 @@ -From: Benjamin Berg -Date: Wed, 22 Jun 2022 17:37:26 +0200 -Subject: goodix: Make fingerlist parse error non-fatal - -Otherwise we cannot recover from the error by doing a device reset. ---- - libfprint/drivers/goodixmoc/goodix_proto.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/libfprint/drivers/goodixmoc/goodix_proto.c b/libfprint/drivers/goodixmoc/goodix_proto.c -index b615dba..72511a8 100644 ---- a/libfprint/drivers/goodixmoc/goodix_proto.c -+++ b/libfprint/drivers/goodixmoc/goodix_proto.c -@@ -393,10 +393,8 @@ gx_proto_parse_body (uint16_t cmd, uint8_t *buffer, uint16_t buffer_len, pgxfp_c - fingerid_length, - &presp->finger_list_resp.finger_list[num]) != 0) - { -- g_error ("parse fingerlist error"); -- presp->finger_list_resp.finger_num = 0; -- presp->result = GX_FAILED; -- break; -+ g_warning ("Failed to parse finger list"); -+ return -1; - } - offset += fingerid_length; - } diff --git a/debian/patches/goodix-Reset-device-if-storage-listing-fails.patch b/debian/patches/goodix-Reset-device-if-storage-listing-fails.patch deleted file mode 100644 index e3b621d612a888cf6f2c62dc2c399972f15332d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147030 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В3j8qkNzMLa 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 -Date: Sat, 17 Sep 2022 13:59:11 +0800 -Subject: goodixmoc: add PID 0x6014 - -Signed-off-by: Lv Ying ---- - data/autosuspend.hwdb | 1 + - libfprint/drivers/goodixmoc/goodix.c | 2 ++ - 2 files changed, 3 insertions(+) - -diff --git a/data/autosuspend.hwdb b/data/autosuspend.hwdb -index ca2435a..5291831 100644 ---- a/data/autosuspend.hwdb -+++ b/data/autosuspend.hwdb -@@ -159,6 +159,7 @@ usb:v1C7Ap0603* - - # Supported by libfprint driver goodixmoc - usb:v27C6p5840* -+usb:v27C6p6014* - usb:v27C6p6094* - usb:v27C6p609C* - usb:v27C6p60A2* -diff --git a/libfprint/drivers/goodixmoc/goodix.c b/libfprint/drivers/goodixmoc/goodix.c -index b894feb..0686856 100644 ---- a/libfprint/drivers/goodixmoc/goodix.c -+++ b/libfprint/drivers/goodixmoc/goodix.c -@@ -1359,6 +1359,7 @@ gx_fp_probe (FpDevice *device) - { - case 0x6496: - case 0x60A2: -+ case 0x6014: - case 0x6094: - case 0x609C: - case 0x631C: -@@ -1600,6 +1601,7 @@ fpi_device_goodixmoc_init (FpiDeviceGoodixMoc *self) - - static const FpIdEntry id_table[] = { - { .vid = 0x27c6, .pid = 0x5840, }, -+ { .vid = 0x27c6, .pid = 0x6014, }, - { .vid = 0x27c6, .pid = 0x6094, }, - { .vid = 0x27c6, .pid = 0x609C, }, - { .vid = 0x27c6, .pid = 0x60A2, }, diff --git a/debian/patches/goodixmoc-add-PID-0x631C.patch b/debian/patches/goodixmoc-add-PID-0x631C.patch deleted file mode 100644 index e3c4089b..00000000 --- a/debian/patches/goodixmoc-add-PID-0x631C.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: mahaosen -Date: Sat, 13 Aug 2022 17:28:37 +0800 -Subject: goodixmoc: add PID 0x631C - ---- - data/autosuspend.hwdb | 1 + - libfprint/drivers/goodixmoc/goodix.c | 2 ++ - 2 files changed, 3 insertions(+) - -diff --git a/data/autosuspend.hwdb b/data/autosuspend.hwdb -index 5977aa8..1181d52 100644 ---- a/data/autosuspend.hwdb -+++ b/data/autosuspend.hwdb -@@ -161,6 +161,7 @@ usb:v1C7Ap0603* - usb:v27C6p5840* - usb:v27C6p609C* - usb:v27C6p60A2* -+usb:v27C6p631C* - usb:v27C6p6384* - usb:v27C6p639C* - usb:v27C6p63AC* -diff --git a/libfprint/drivers/goodixmoc/goodix.c b/libfprint/drivers/goodixmoc/goodix.c -index a99c564..0fc17e9 100644 ---- a/libfprint/drivers/goodixmoc/goodix.c -+++ b/libfprint/drivers/goodixmoc/goodix.c -@@ -1360,6 +1360,7 @@ gx_fp_probe (FpDevice *device) - case 0x6496: - case 0x60A2: - case 0x609C: -+ case 0x631C: - case 0x6384: - case 0x639C: - case 0x63AC: -@@ -1599,6 +1600,7 @@ static const FpIdEntry id_table[] = { - { .vid = 0x27c6, .pid = 0x5840, }, - { .vid = 0x27c6, .pid = 0x609C, }, - { .vid = 0x27c6, .pid = 0x60A2, }, -+ { .vid = 0x27c6, .pid = 0x631C, }, - { .vid = 0x27c6, .pid = 0x6384, }, - { .vid = 0x27c6, .pid = 0x639C, }, - { .vid = 0x27c6, .pid = 0x63AC, }, diff --git a/debian/patches/goodixmoc-add-PID-0x634C.patch b/debian/patches/goodixmoc-add-PID-0x634C.patch deleted file mode 100644 index 1e2f91d0..00000000 --- a/debian/patches/goodixmoc-add-PID-0x634C.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: mahaosen -Date: Fri, 26 Aug 2022 16:46:16 +0800 -Subject: goodixmoc: add PID 0x634C - ---- - data/autosuspend.hwdb | 1 + - libfprint/drivers/goodixmoc/goodix.c | 2 ++ - 2 files changed, 3 insertions(+) - -diff --git a/data/autosuspend.hwdb b/data/autosuspend.hwdb -index 7d18ce8..e25b026 100644 ---- a/data/autosuspend.hwdb -+++ b/data/autosuspend.hwdb -@@ -162,6 +162,7 @@ usb:v27C6p5840* - usb:v27C6p609C* - usb:v27C6p60A2* - usb:v27C6p631C* -+usb:v27C6p634C* - usb:v27C6p6384* - usb:v27C6p639C* - usb:v27C6p63AC* -diff --git a/libfprint/drivers/goodixmoc/goodix.c b/libfprint/drivers/goodixmoc/goodix.c -index 0fc17e9..574f19c 100644 ---- a/libfprint/drivers/goodixmoc/goodix.c -+++ b/libfprint/drivers/goodixmoc/goodix.c -@@ -1361,6 +1361,7 @@ gx_fp_probe (FpDevice *device) - case 0x60A2: - case 0x609C: - case 0x631C: -+ case 0x634C: - case 0x6384: - case 0x639C: - case 0x63AC: -@@ -1601,6 +1602,7 @@ static const FpIdEntry id_table[] = { - { .vid = 0x27c6, .pid = 0x609C, }, - { .vid = 0x27c6, .pid = 0x60A2, }, - { .vid = 0x27c6, .pid = 0x631C, }, -+ { .vid = 0x27c6, .pid = 0x634C, }, - { .vid = 0x27c6, .pid = 0x6384, }, - { .vid = 0x27c6, .pid = 0x639C, }, - { .vid = 0x27c6, .pid = 0x63AC, }, diff --git a/debian/patches/goodixmoc-add-PID-0x6384.patch b/debian/patches/goodixmoc-add-PID-0x6384.patch deleted file mode 100644 index a12c0a5c..00000000 --- a/debian/patches/goodixmoc-add-PID-0x6384.patch +++ /dev/null @@ -1,42 +0,0 @@ -From: Marcus Pfeffer -Date: Wed, 22 Jun 2022 10:05:25 +0200 -Subject: goodixmoc: add PID 0x6384 - -Closes: #489 ---- - data/autosuspend.hwdb | 1 + - libfprint/drivers/goodixmoc/goodix.c | 2 ++ - 2 files changed, 3 insertions(+) - -diff --git a/data/autosuspend.hwdb b/data/autosuspend.hwdb -index e1b9f3c..6e53964 100644 ---- a/data/autosuspend.hwdb -+++ b/data/autosuspend.hwdb -@@ -159,6 +159,7 @@ usb:v1C7Ap0603* - usb:v27C6p5840* - usb:v27C6p609C* - usb:v27C6p60A2* -+usb:v27C6p6384* - usb:v27C6p639C* - usb:v27C6p63AC* - usb:v27C6p63BC* -diff --git a/libfprint/drivers/goodixmoc/goodix.c b/libfprint/drivers/goodixmoc/goodix.c -index 595b19b..a99c564 100644 ---- a/libfprint/drivers/goodixmoc/goodix.c -+++ b/libfprint/drivers/goodixmoc/goodix.c -@@ -1360,6 +1360,7 @@ gx_fp_probe (FpDevice *device) - case 0x6496: - case 0x60A2: - case 0x609C: -+ case 0x6384: - case 0x639C: - case 0x63AC: - case 0x63BC: -@@ -1598,6 +1599,7 @@ static const FpIdEntry id_table[] = { - { .vid = 0x27c6, .pid = 0x5840, }, - { .vid = 0x27c6, .pid = 0x609C, }, - { .vid = 0x27c6, .pid = 0x60A2, }, -+ { .vid = 0x27c6, .pid = 0x6384, }, - { .vid = 0x27c6, .pid = 0x639C, }, - { .vid = 0x27c6, .pid = 0x63AC, }, - { .vid = 0x27c6, .pid = 0x63BC, }, diff --git a/debian/patches/goodixmoc-add-PID-0x659A.patch b/debian/patches/goodixmoc-add-PID-0x659A.patch deleted file mode 100644 index d62511e4..00000000 --- a/debian/patches/goodixmoc-add-PID-0x659A.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: yangdi -Date: Tue, 19 Jul 2022 11:37:09 +0800 -Subject: goodixmoc: add PID 0x659A - ---- - data/autosuspend.hwdb | 1 + - libfprint/drivers/goodixmoc/goodix.c | 2 ++ - 2 files changed, 3 insertions(+) - -diff --git a/data/autosuspend.hwdb b/data/autosuspend.hwdb -index 9e462e7..e1b9f3c 100644 ---- a/data/autosuspend.hwdb -+++ b/data/autosuspend.hwdb -@@ -168,6 +168,7 @@ usb:v27C6p6584* - usb:v27C6p658C* - usb:v27C6p6592* - usb:v27C6p6594* -+usb:v27C6p659A* - usb:v27C6p659C* - usb:v27C6p6A94* - ID_AUTOSUSPEND=1 -diff --git a/libfprint/drivers/goodixmoc/goodix.c b/libfprint/drivers/goodixmoc/goodix.c -index ab84130..595b19b 100644 ---- a/libfprint/drivers/goodixmoc/goodix.c -+++ b/libfprint/drivers/goodixmoc/goodix.c -@@ -1365,6 +1365,7 @@ gx_fp_probe (FpDevice *device) - case 0x63BC: - case 0x63CC: - case 0x6A94: -+ case 0x659A: - self->max_enroll_stage = 12; - break; - -@@ -1606,6 +1607,7 @@ static const FpIdEntry id_table[] = { - { .vid = 0x27c6, .pid = 0x658C, }, - { .vid = 0x27c6, .pid = 0x6592, }, - { .vid = 0x27c6, .pid = 0x6594, }, -+ { .vid = 0x27c6, .pid = 0x659A, }, - { .vid = 0x27c6, .pid = 0x659C, }, - { .vid = 0x27c6, .pid = 0x6A94, }, - { .vid = 0, .pid = 0, .driver_data = 0 }, /* terminating entry */ diff --git a/debian/patches/goodixmoc-add-PID-6094.patch b/debian/patches/goodixmoc-add-PID-6094.patch deleted file mode 100644 index 7899c051..00000000 --- a/debian/patches/goodixmoc-add-PID-6094.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: "Paulo E. Castro" -Date: Mon, 18 Jul 2022 19:32:23 +0100 -Subject: goodixmoc: add PID 6094 - ---- - data/autosuspend.hwdb | 1 + - libfprint/drivers/goodixmoc/goodix.c | 2 ++ - 2 files changed, 3 insertions(+) - -diff --git a/data/autosuspend.hwdb b/data/autosuspend.hwdb -index e25b026..d8127c3 100644 ---- a/data/autosuspend.hwdb -+++ b/data/autosuspend.hwdb -@@ -159,6 +159,7 @@ usb:v1C7Ap0603* - - # Supported by libfprint driver goodixmoc - usb:v27C6p5840* -+usb:v27C6p6094* - usb:v27C6p609C* - usb:v27C6p60A2* - usb:v27C6p631C* -diff --git a/libfprint/drivers/goodixmoc/goodix.c b/libfprint/drivers/goodixmoc/goodix.c -index 574f19c..b894feb 100644 ---- a/libfprint/drivers/goodixmoc/goodix.c -+++ b/libfprint/drivers/goodixmoc/goodix.c -@@ -1359,6 +1359,7 @@ gx_fp_probe (FpDevice *device) - { - case 0x6496: - case 0x60A2: -+ case 0x6094: - case 0x609C: - case 0x631C: - case 0x634C: -@@ -1599,6 +1600,7 @@ fpi_device_goodixmoc_init (FpiDeviceGoodixMoc *self) - - static const FpIdEntry id_table[] = { - { .vid = 0x27c6, .pid = 0x5840, }, -+ { .vid = 0x27c6, .pid = 0x6094, }, - { .vid = 0x27c6, .pid = 0x609C, }, - { .vid = 0x27c6, .pid = 0x60A2, }, - { .vid = 0x27c6, .pid = 0x631C, }, diff --git a/debian/patches/series b/debian/patches/series deleted file mode 100644 index 5ffe392e..00000000 --- a/debian/patches/series +++ /dev/null @@ -1,24 +0,0 @@ -tod-Add-wrapper-for-goodix-tod-not-handling-identificatio.patch -fpi-device-Avoid-using-device-action-strings.patch -elanmoc-add-PID-0x0c82.patch -elanmoc-add-PID-0x0c88.patch -synaptics-Add-new-PID-0x0168.patch -elan-add-PID-0x0c4b.patch -elanspi-add-04f3-241f.patch -synaptics-Add-new-PID-0x015F.patch -goodix-Reset-device-if-storage-listing-fails.patch -goodix-Make-fingerlist-parse-error-non-fatal.patch -elanmoc-Make-sure-sensor-in-the-right-mode-at-identity.patch -goodixmoc-add-PID-0x659A.patch -goodixmoc-add-PID-0x6384.patch -elanmoc-add-PID-0x0c8c-0x0c8d.patch -goodixmoc-add-PID-0x631C.patch -synaptics-Add-new-PID-0x0104.patch -goodixmoc-add-PID-0x634C.patch -goodixmoc-add-PID-6094.patch -upek-add-PID-0x2017.patch -Update-autosuspend.hwdb.patch -goodixmoc-add-PID-0x6014.patch -goodix-Lower-poor-capture-warnings-to-debug-message.patch -synaptics-goodix-Properly-check-for-finger-status-during-.patch -tests-Ensure-python-tests-exit-with-error-on-every-except.patch diff --git a/debian/patches/synaptics-Add-new-PID-0x0104.patch b/debian/patches/synaptics-Add-new-PID-0x0104.patch deleted file mode 100644 index 7a98c27a..00000000 --- a/debian/patches/synaptics-Add-new-PID-0x0104.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: Aris Lin -Date: Sun, 7 Aug 2022 09:29:51 +0800 -Subject: synaptics: Add new PID 0x0104 - ---- - data/autosuspend.hwdb | 1 + - libfprint/drivers/synaptics/synaptics.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/data/autosuspend.hwdb b/data/autosuspend.hwdb -index 1181d52..7d18ce8 100644 ---- a/data/autosuspend.hwdb -+++ b/data/autosuspend.hwdb -@@ -197,6 +197,7 @@ usb:v06CBp0126* - usb:v06CBp0129* - usb:v06CBp0168* - usb:v06CBp015F* -+usb:v06CBp0104* - ID_AUTOSUSPEND=1 - ID_PERSIST=0 - -diff --git a/libfprint/drivers/synaptics/synaptics.c b/libfprint/drivers/synaptics/synaptics.c -index effdaac..18f0377 100644 ---- a/libfprint/drivers/synaptics/synaptics.c -+++ b/libfprint/drivers/synaptics/synaptics.c -@@ -44,6 +44,7 @@ static const FpIdEntry id_table[] = { - { .vid = SYNAPTICS_VENDOR_ID, .pid = 0x0129, }, - { .vid = SYNAPTICS_VENDOR_ID, .pid = 0x0168, }, - { .vid = SYNAPTICS_VENDOR_ID, .pid = 0x015F, }, -+ { .vid = SYNAPTICS_VENDOR_ID, .pid = 0x0104, }, - { .vid = 0, .pid = 0, .driver_data = 0 }, /* terminating entry */ - }; - diff --git a/debian/patches/synaptics-Add-new-PID-0x015F.patch b/debian/patches/synaptics-Add-new-PID-0x015F.patch deleted file mode 100644 index 4a235f7b..00000000 --- a/debian/patches/synaptics-Add-new-PID-0x015F.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: Aris Lin -Date: Mon, 23 May 2022 21:06:23 +0800 -Subject: synaptics: Add new PID 0x015F - ---- - data/autosuspend.hwdb | 1 + - libfprint/drivers/synaptics/synaptics.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/data/autosuspend.hwdb b/data/autosuspend.hwdb -index 49fcacf..9e462e7 100644 ---- a/data/autosuspend.hwdb -+++ b/data/autosuspend.hwdb -@@ -191,6 +191,7 @@ usb:v06CBp0123* - usb:v06CBp0126* - usb:v06CBp0129* - usb:v06CBp0168* -+usb:v06CBp015F* - ID_AUTOSUSPEND=1 - ID_PERSIST=0 - -diff --git a/libfprint/drivers/synaptics/synaptics.c b/libfprint/drivers/synaptics/synaptics.c -index b89989b..effdaac 100644 ---- a/libfprint/drivers/synaptics/synaptics.c -+++ b/libfprint/drivers/synaptics/synaptics.c -@@ -43,6 +43,7 @@ static const FpIdEntry id_table[] = { - { .vid = SYNAPTICS_VENDOR_ID, .pid = 0x0126, }, - { .vid = SYNAPTICS_VENDOR_ID, .pid = 0x0129, }, - { .vid = SYNAPTICS_VENDOR_ID, .pid = 0x0168, }, -+ { .vid = SYNAPTICS_VENDOR_ID, .pid = 0x015F, }, - { .vid = 0, .pid = 0, .driver_data = 0 }, /* terminating entry */ - }; - diff --git a/debian/patches/synaptics-Add-new-PID-0x0168.patch b/debian/patches/synaptics-Add-new-PID-0x0168.patch deleted file mode 100644 index e4a8b849..00000000 --- a/debian/patches/synaptics-Add-new-PID-0x0168.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: Aris Lin -Date: Wed, 6 Apr 2022 14:17:34 +0800 -Subject: synaptics: Add new PID 0x0168 - ---- - data/autosuspend.hwdb | 1 + - libfprint/drivers/synaptics/synaptics.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/data/autosuspend.hwdb b/data/autosuspend.hwdb -index 725c602..c305c44 100644 ---- a/data/autosuspend.hwdb -+++ b/data/autosuspend.hwdb -@@ -189,6 +189,7 @@ usb:v06CBp0103* - usb:v06CBp0123* - usb:v06CBp0126* - usb:v06CBp0129* -+usb:v06CBp0168* - ID_AUTOSUSPEND=1 - ID_PERSIST=0 - -diff --git a/libfprint/drivers/synaptics/synaptics.c b/libfprint/drivers/synaptics/synaptics.c -index 7a2c6eb..b89989b 100644 ---- a/libfprint/drivers/synaptics/synaptics.c -+++ b/libfprint/drivers/synaptics/synaptics.c -@@ -42,6 +42,7 @@ static const FpIdEntry id_table[] = { - { .vid = SYNAPTICS_VENDOR_ID, .pid = 0x0123, }, - { .vid = SYNAPTICS_VENDOR_ID, .pid = 0x0126, }, - { .vid = SYNAPTICS_VENDOR_ID, .pid = 0x0129, }, -+ { .vid = SYNAPTICS_VENDOR_ID, .pid = 0x0168, }, - { .vid = 0, .pid = 0, .driver_data = 0 }, /* terminating entry */ - }; - diff --git a/debian/patches/synaptics-goodix-Properly-check-for-finger-status-during-.patch b/debian/patches/synaptics-goodix-Properly-check-for-finger-status-during-.patch deleted file mode 100644 index 8373bf18..00000000 --- a/debian/patches/synaptics-goodix-Properly-check-for-finger-status-during-.patch +++ /dev/null @@ -1,40 +0,0 @@ -From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= -Date: Wed, 28 Sep 2022 01:21:31 +0200 -Subject: synaptics, - goodix: Properly check for finger status during enroll progress - -It may contain other values, but for sure we finger must be neeeded ---- - tests/goodixmoc/custom.py | 2 +- - tests/synaptics/custom.py | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - mode change 100755 => 100644 tests/goodixmoc/custom.py - -diff --git a/tests/goodixmoc/custom.py b/tests/goodixmoc/custom.py -old mode 100755 -new mode 100644 -index 38fdd26..73f90a5 ---- a/tests/goodixmoc/custom.py -+++ b/tests/goodixmoc/custom.py -@@ -31,7 +31,7 @@ d.clear_storage_sync() - template = FPrint.Print.new(d) - - def enroll_progress(*args): -- assert d.get_finger_status() == FPrint.FingerStatusFlags.NEEDED -+ assert d.get_finger_status() & FPrint.FingerStatusFlags.NEEDED - print('enroll progress: ' + str(args)) - - def identify_done(dev, res): -diff --git a/tests/synaptics/custom.py b/tests/synaptics/custom.py -index 3e48341..dae651b 100755 ---- a/tests/synaptics/custom.py -+++ b/tests/synaptics/custom.py -@@ -29,7 +29,7 @@ d.clear_storage_sync() - template = FPrint.Print.new(d) - - def enroll_progress(*args): -- assert d.get_finger_status() == FPrint.FingerStatusFlags.NEEDED -+ assert d.get_finger_status() & FPrint.FingerStatusFlags.NEEDED - print('enroll progress: ' + str(args)) - - # List, enroll, list, verify, delete, list diff --git a/debian/patches/tests-Ensure-python-tests-exit-with-error-on-every-except.patch b/debian/patches/tests-Ensure-python-tests-exit-with-error-on-every-except.patch deleted file mode 100644 index a9c6eb04..00000000 --- a/debian/patches/tests-Ensure-python-tests-exit-with-error-on-every-except.patch +++ /dev/null @@ -1,110 +0,0 @@ -From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= -Date: Wed, 28 Sep 2022 01:22:15 +0200 -Subject: tests: Ensure python tests exit with error on every exception - -We ignored assertions happening on callbacks as they only raise -exceptions that does not stop the execution. - -So ensure that this is happening in all the tests as synaptics was -doing already ---- - tests/capture.py | 9 +++++++-- - tests/elanmoc/custom.py | 6 ++++++ - tests/goodixmoc/custom.py | 6 ++++++ - tests/virtual-device.py | 3 +++ - tests/virtual-image.py | 3 +++ - 5 files changed, 25 insertions(+), 2 deletions(-) - mode change 100644 => 100755 tests/goodixmoc/custom.py - -diff --git a/tests/capture.py b/tests/capture.py -index c25afbf..d6573a8 100755 ---- a/tests/capture.py -+++ b/tests/capture.py -@@ -1,10 +1,15 @@ - #!/usr/bin/python3 - -+import cairo -+import sys -+import traceback - import gi -+ - gi.require_version('FPrint', '2.0') - from gi.repository import FPrint, GLib --import cairo --import sys -+ -+# Exit with error on any exception, included those happening in async callbacks -+sys.excepthook = lambda *args: (traceback.print_exception(*args), sys.exit(1)) - - if len(sys.argv) != 2: - print("Please specify exactly one argument, the output location for the capture image") -diff --git a/tests/elanmoc/custom.py b/tests/elanmoc/custom.py -index c64414c..1a3b8b3 100755 ---- a/tests/elanmoc/custom.py -+++ b/tests/elanmoc/custom.py -@@ -1,9 +1,15 @@ - #!/usr/bin/python3 - -+import traceback -+import sys - import gi -+ - gi.require_version('FPrint', '2.0') - from gi.repository import FPrint, GLib - -+# Exit with error on any exception, included those happening in async callbacks -+sys.excepthook = lambda *args: (traceback.print_exception(*args), sys.exit(1)) -+ - ctx = GLib.main_context_default() - - c = FPrint.Context() -diff --git a/tests/goodixmoc/custom.py b/tests/goodixmoc/custom.py -old mode 100644 -new mode 100755 -index 73f90a5..aee4391 ---- a/tests/goodixmoc/custom.py -+++ b/tests/goodixmoc/custom.py -@@ -1,9 +1,15 @@ - #!/usr/bin/python3 - -+import traceback -+import sys - import gi -+ - gi.require_version('FPrint', '2.0') - from gi.repository import FPrint, GLib - -+# Exit with error on any exception, included those happening in async callbacks -+sys.excepthook = lambda *args: (traceback.print_exception(*args), sys.exit(1)) -+ - ctx = GLib.main_context_default() - - c = FPrint.Context() -diff --git a/tests/virtual-device.py b/tests/virtual-device.py -index e15b432..beec97f 100644 ---- a/tests/virtual-device.py -+++ b/tests/virtual-device.py -@@ -22,6 +22,9 @@ except Exception as e: - - FPrint = None - -+# Exit with error on any exception, included those happening in async callbacks -+sys.excepthook = lambda *args: (traceback.print_exception(*args), sys.exit(1)) -+ - ctx = GLib.main_context_default() - - -diff --git a/tests/virtual-image.py b/tests/virtual-image.py -index e4a464e..5563003 100755 ---- a/tests/virtual-image.py -+++ b/tests/virtual-image.py -@@ -21,6 +21,9 @@ except Exception as e: - - FPrint = None - -+# Exit with error on any exception, included those happening in async callbacks -+sys.excepthook = lambda *args: (traceback.print_exception(*args), sys.exit(1)) -+ - def load_image(img): - png = cairo.ImageSurface.create_from_png(img) - diff --git a/debian/patches/tod-Add-wrapper-for-goodix-tod-not-handling-identificatio.patch b/debian/patches/tod-Add-wrapper-for-goodix-tod-not-handling-identificatio.patch deleted file mode 100644 index 3fec07c0..00000000 --- a/debian/patches/tod-Add-wrapper-for-goodix-tod-not-handling-identificatio.patch +++ /dev/null @@ -1,149 +0,0 @@ -From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= -Date: Sun, 17 Jul 2022 17:13:07 +0200 -Subject: tod: Add wrapper for goodix-tod not handling identification with no - prints - -Newer fprintd supports duplicate-detection, this implies sending to the -device an empty prints gallery, expecting the device to give us a -matched print against its storage. - -In case the device has no storage we're doing this anyway, but goodix -doesn't handle this properly, so let's just ignore the case if no prints -are passed. - -LP: #1966911 ---- - libfprint/tod/meson.build | 1 + - libfprint/tod/tod-goodix-wrapper.c | 56 ++++++++++++++++++++++++++++++++++++++ - libfprint/tod/tod-goodix-wrapper.h | 24 ++++++++++++++++ - libfprint/tod/tod-shared-loader.c | 4 +++ - 4 files changed, 85 insertions(+) - create mode 100644 libfprint/tod/tod-goodix-wrapper.c - create mode 100644 libfprint/tod/tod-goodix-wrapper.h - -diff --git a/libfprint/tod/meson.build b/libfprint/tod/meson.build -index 10c49e4..f3ca0cf 100644 ---- a/libfprint/tod/meson.build -+++ b/libfprint/tod/meson.build -@@ -19,6 +19,7 @@ mapfile = configure_file(input: 'libfprint-tod.ver.in', - libfprint_tod_private = static_library('fprint-tod-private', - sources: [ - 'tod-shared-loader.c', -+ 'tod-goodix-wrapper.c', - ], - include_directories: include_directories('..'), - link_with: libfprint_private, -diff --git a/libfprint/tod/tod-goodix-wrapper.c b/libfprint/tod/tod-goodix-wrapper.c -new file mode 100644 -index 0000000..45a58cf ---- /dev/null -+++ b/libfprint/tod/tod-goodix-wrapper.c -@@ -0,0 +1,56 @@ -+/* -+ * Shared library loader for libfprint -+ * Copyright (C) 2022 Marco Trevisan -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ */ -+ -+#include "fp-device-private.h" -+#include "fpi-device.h" -+#define FP_COMPONENT "tod" -+ -+#include "tod-goodix-wrapper.h" -+ -+static void (*goodix_moc_identify) (FpDevice *) = NULL; -+ -+static void -+goodix_tod_identify_wrapper (FpDevice *device) -+{ -+ GPtrArray *prints; -+ -+ fpi_device_get_identify_data (device, &prints); -+ -+ if (prints->len) -+ return goodix_moc_identify (device); -+ -+ g_warning ("%s does not support identify with empty gallery, let's skip it", -+ fp_device_get_name (device)); -+ -+ fpi_device_identify_report (device, NULL, NULL, NULL); -+ fpi_device_identify_complete (device, NULL); -+} -+ -+void -+goodix_tod_wrapper_init (FpDeviceClass *device_class) -+{ -+ g_assert (g_strcmp0 (device_class->id, "goodix-tod") == 0); -+ g_assert (goodix_moc_identify == NULL); -+ -+ g_message ("Creating TOD wrapper for %s (%s) driver", -+ device_class->id, device_class->full_name); -+ -+ goodix_moc_identify = device_class->identify; -+ device_class->identify = goodix_tod_identify_wrapper; -+} -diff --git a/libfprint/tod/tod-goodix-wrapper.h b/libfprint/tod/tod-goodix-wrapper.h -new file mode 100644 -index 0000000..802e696 ---- /dev/null -+++ b/libfprint/tod/tod-goodix-wrapper.h -@@ -0,0 +1,24 @@ -+/* -+ * Shared library loader for libfprint -+ * Copyright (C) 2022 Marco Trevisan -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ */ -+ -+#pragma once -+ -+#include "drivers_api.h" -+ -+void goodix_tod_wrapper_init (FpDeviceClass *device_class); -diff --git a/libfprint/tod/tod-shared-loader.c b/libfprint/tod/tod-shared-loader.c -index d214aeb..fc18b6d 100644 ---- a/libfprint/tod/tod-shared-loader.c -+++ b/libfprint/tod/tod-shared-loader.c -@@ -22,6 +22,7 @@ - #include - - #include "tod-shared-loader.h" -+#include "tod-goodix-wrapper.h" - #include "fpi-device.h" - #include "fpi-log.h" - #include "tod-config.h" -@@ -131,6 +132,9 @@ fpi_tod_shared_drivers_register (void) - { - g_debug ("Initializing features for driver %s", cls->id); - fpi_device_class_auto_initialize_features (cls); -+ -+ if (g_strcmp0 (cls->id, "goodix-tod") == 0) -+ goodix_tod_wrapper_init (cls); - } - - shared_modules = g_list_prepend (shared_modules, diff --git a/debian/patches/upek-add-PID-0x2017.patch b/debian/patches/upek-add-PID-0x2017.patch deleted file mode 100644 index 2116c610..00000000 --- a/debian/patches/upek-add-PID-0x2017.patch +++ /dev/null @@ -1,20 +0,0 @@ -From: mbv06 -Date: Mon, 26 Sep 2022 10:38:17 +0000 -Subject: upek: add PID 0x2017 - ---- - libfprint/drivers/upektc.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libfprint/drivers/upektc.c b/libfprint/drivers/upektc.c -index 115e6b6..3f7b6a6 100644 ---- a/libfprint/drivers/upektc.c -+++ b/libfprint/drivers/upektc.c -@@ -431,6 +431,7 @@ dev_deinit (FpImageDevice *dev) - - static const FpIdEntry id_table[] = { - { .vid = 0x0483, .pid = 0x2015, .driver_data = UPEKTC_2015 }, -+ { .vid = 0x0483, .pid = 0x2017, .driver_data = UPEKTC_2015 }, - { .vid = 0x147e, .pid = 0x3001, .driver_data = UPEKTC_3001 }, - { .vid = 0, .pid = 0, .driver_data = 0 }, - };