From 00f5f410a6dfc6433e3ba4197e09076ff598554b Mon Sep 17 00:00:00 2001
From: Vasily Khoruzhick <anarsoul@gmail.com>
Date: Sun, 13 Jan 2013 16:43:38 +0300
Subject: [PATCH 2/2] upeke2: add 147e:2020 IDs

---
 libfprint/drivers/upeke2.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/libfprint/drivers/upeke2.c b/libfprint/drivers/upeke2.c
index ed8f43d..5e31e33 100644
--- a/libfprint/drivers/upeke2.c
+++ b/libfprint/drivers/upeke2.c
@@ -46,6 +46,11 @@
 #define MSG_READ_BUF_SIZE 0x40
 #define MAX_DATA_IN_READ_BUF (MSG_READ_BUF_SIZE - 9)
 
+enum {
+        UPEKE2_2016,
+        UPEKE2_2020,
+};
+
 struct upeke2_dev {
 	gboolean enroll_passed;
 	gboolean first_verify_iteration;
@@ -849,7 +854,10 @@ static struct fpi_ssm *deinitsm_new(struct fp_dev *dev)
 static int discover(struct libusb_device_descriptor *dsc, uint32_t *devtype)
 {
 	/* Revision 2 is what we're interested in */
-	if (dsc->bcdDevice == 2)
+	if (dsc->idProduct == 0x2016 && dsc->bcdDevice == 2)
+		return 1;
+
+	if (dsc->idProduct == 0x2020 && dsc->bcdDevice == 1)
 		return 1;
 
 	return 0;
@@ -1453,7 +1461,8 @@ static int verify_stop(struct fp_dev *dev, gboolean iterating)
 }
 
 static const struct usb_id id_table[] = {
-	{ .vendor = 0x147e, .product = 0x2016 },
+	{ .vendor = 0x147e, .product = 0x2016, .driver_data = UPEKE2_2016 },
+	{ .vendor = 0x147e, .product = 0x2020, .driver_data = UPEKE2_2020 },
 	{ 0, 0, 0, }, /* terminating entry */
 };
 
-- 
1.8.1

