Compare commits
1 commit
master
...
wip/hadess
Author | SHA1 | Date | |
---|---|---|---|
|
197edac702 |
28 changed files with 13 additions and 87 deletions
|
@ -71,10 +71,7 @@
|
|||
<title>Driver IDs</title>
|
||||
|
||||
<para>
|
||||
Each driver is assigned a unique ID by the project maintainer. These
|
||||
assignments are
|
||||
<ulink url="https://gitlab.freedesktop.org/libfprint/libfprint/blob/master/libfprint/drivers/driver_ids.h">
|
||||
documented in the sources</ulink> and will never change.
|
||||
Each driver is assigned a unique ID automatically based on the driver name.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
|
|
@ -17,7 +17,6 @@ private_headers = [
|
|||
'aes2660.h',
|
||||
'aes3k.h',
|
||||
'aesx660.h',
|
||||
'driver_ids.h',
|
||||
'elan.h',
|
||||
'upek_proto.h',
|
||||
'upeksonly.h',
|
||||
|
|
|
@ -817,7 +817,6 @@ static const struct usb_id id_table[] = {
|
|||
|
||||
struct fp_img_driver aes1610_driver = {
|
||||
.driver = {
|
||||
.id = AES1610_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "AuthenTec AES1610",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -94,7 +94,6 @@ static const struct usb_id id_table[] = {
|
|||
|
||||
struct fp_img_driver aes1660_driver = {
|
||||
.driver = {
|
||||
.id = AES1660_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "AuthenTec AES1660",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -859,7 +859,6 @@ static const struct usb_id id_table[] = {
|
|||
|
||||
struct fp_img_driver aes2501_driver = {
|
||||
.driver = {
|
||||
.id = AES2501_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "AuthenTec AES2501",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -603,7 +603,6 @@ static const struct usb_id id_table[] = {
|
|||
|
||||
struct fp_img_driver aes2550_driver = {
|
||||
.driver = {
|
||||
.id = AES2550_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "AuthenTec AES2550/AES2810",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -97,7 +97,6 @@ static const struct usb_id id_table[] = {
|
|||
|
||||
struct fp_img_driver aes2660_driver = {
|
||||
.driver = {
|
||||
.id = AES2660_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "AuthenTec AES2660",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -162,7 +162,6 @@ static const struct usb_id id_table[] = {
|
|||
|
||||
struct fp_img_driver aes3500_driver = {
|
||||
.driver = {
|
||||
.id = AES3500_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "AuthenTec AES3500",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -159,7 +159,6 @@ static const struct usb_id id_table[] = {
|
|||
|
||||
struct fp_img_driver aes4000_driver = {
|
||||
.driver = {
|
||||
.id = AES4000_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "AuthenTec AES4000",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -1,47 +0,0 @@
|
|||
/*
|
||||
* Driver IDs
|
||||
* Copyright (C) 2012 Vasily Khoruzhick <anarsoul@gmail.com>
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef __DRIVER_IDS
|
||||
#define __DRIVER_IDS
|
||||
|
||||
enum {
|
||||
UPEKTS_ID = 1,
|
||||
URU4000_ID = 2,
|
||||
AES4000_ID = 3,
|
||||
AES2501_ID = 4,
|
||||
UPEKTC_ID = 5,
|
||||
AES1610_ID = 6,
|
||||
FDU2000_ID = 7,
|
||||
VCOM5S_ID = 8,
|
||||
UPEKSONLY_ID = 9,
|
||||
VFS101_ID = 10,
|
||||
VFS301_ID = 11,
|
||||
AES2550_ID = 12,
|
||||
/* UPEKE2_ID = 13 */
|
||||
AES1660_ID = 14,
|
||||
AES2660_ID = 15,
|
||||
AES3500_ID = 16,
|
||||
UPEKTC_IMG_ID = 17,
|
||||
ETES603_ID = 18,
|
||||
VFS5011_ID = 19,
|
||||
VFS0050_ID = 20,
|
||||
ELAN_ID = 21,
|
||||
};
|
||||
|
||||
#endif
|
|
@ -970,7 +970,6 @@ static void dev_deactivate(struct fp_img_dev *dev)
|
|||
|
||||
struct fp_img_driver elan_driver = {
|
||||
.driver = {
|
||||
.id = ELAN_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "ElanTech Fingerprint Sensor",
|
||||
.id_table = elan_id_table,
|
||||
|
|
|
@ -36,7 +36,6 @@
|
|||
#define FP_COMPONENT "etes603"
|
||||
|
||||
#include "drivers_api.h"
|
||||
#include "driver_ids.h"
|
||||
|
||||
/* libusb defines */
|
||||
#define EP_IN 0x81
|
||||
|
@ -1478,7 +1477,6 @@ static const struct usb_id id_table[] = {
|
|||
|
||||
struct fp_img_driver etes603_driver = {
|
||||
.driver = {
|
||||
.id = ETES603_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "EgisTec ES603",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -302,7 +302,6 @@ static const struct usb_id id_table[] = {
|
|||
|
||||
struct fp_img_driver fdu2000_driver = {
|
||||
.driver = {
|
||||
.id = FDU2000_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "Secugen FDU 2000",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -1345,7 +1345,6 @@ static const struct usb_id id_table[] = {
|
|||
|
||||
struct fp_img_driver upeksonly_driver = {
|
||||
.driver = {
|
||||
.id = UPEKSONLY_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "UPEK TouchStrip Sensor-Only",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -460,7 +460,6 @@ static const struct usb_id id_table[] = {
|
|||
|
||||
struct fp_img_driver upektc_driver = {
|
||||
.driver = {
|
||||
.id = UPEKTC_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "UPEK TouchChip/Eikon Touch 300",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -628,7 +628,6 @@ static const struct usb_id id_table[] = {
|
|||
|
||||
struct fp_img_driver upektc_img_driver = {
|
||||
.driver = {
|
||||
.id = UPEKTC_IMG_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "Upek TouchChip Fingerprint Coprocessor",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -1421,7 +1421,6 @@ static const struct usb_id id_table[] = {
|
|||
};
|
||||
|
||||
struct fp_driver upekts_driver = {
|
||||
.id = UPEKTS_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "UPEK TouchStrip",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -1428,7 +1428,6 @@ static const struct usb_id id_table[] = {
|
|||
|
||||
struct fp_img_driver uru4000_driver = {
|
||||
.driver = {
|
||||
.id = URU4000_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "Digital Persona U.are.U 4000/4000B/4500",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -357,7 +357,6 @@ static const struct usb_id id_table[] = {
|
|||
|
||||
struct fp_img_driver vcom5s_driver = {
|
||||
.driver = {
|
||||
.id = VCOM5S_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "Veridicom 5thSense",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -770,7 +770,6 @@ static const struct usb_id id_table[] = {
|
|||
struct fp_img_driver vfs0050_driver = {
|
||||
/* Driver specification */
|
||||
.driver = {
|
||||
.id = VFS0050_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "Validity VFS0050",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -1526,7 +1526,6 @@ struct fp_img_driver vfs101_driver =
|
|||
/* Driver specification */
|
||||
.driver =
|
||||
{
|
||||
.id = VFS101_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "Validity VFS101",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -268,7 +268,6 @@ struct fp_img_driver vfs301_driver =
|
|||
/* Driver specification */
|
||||
.driver =
|
||||
{
|
||||
.id = VFS301_ID,
|
||||
.name = FP_COMPONENT,
|
||||
.full_name = "Validity VFS301",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -887,7 +887,6 @@ static const struct usb_id id_table[] = {
|
|||
|
||||
struct fp_img_driver vfs5011_driver = {
|
||||
.driver = {
|
||||
.id = VFS5011_ID,
|
||||
.name = "vfs5011",
|
||||
.full_name = "Validity VFS5011",
|
||||
.id_table = id_table,
|
||||
|
|
|
@ -34,6 +34,5 @@
|
|||
#include "fpi-usb.h"
|
||||
#include "fpi-img.h"
|
||||
#include "fpi-assembling.h"
|
||||
#include "drivers/driver_ids.h"
|
||||
|
||||
#endif
|
||||
|
|
|
@ -35,7 +35,6 @@
|
|||
#include "fpi-dev-img.h"
|
||||
#include "fpi-data.h"
|
||||
#include "fpi-img.h"
|
||||
#include "drivers/driver_ids.h"
|
||||
|
||||
/* Global variables */
|
||||
extern libusb_context *fpi_usb_ctx;
|
||||
|
@ -145,8 +144,6 @@ struct fp_img_dev {
|
|||
size_t identify_match_offset;
|
||||
};
|
||||
|
||||
/* fp_driver structure definition */
|
||||
|
||||
/* fp_img_driver structure definition */
|
||||
#define container_of(ptr, type, member) ({ \
|
||||
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
|
||||
|
|
|
@ -137,10 +137,13 @@ GSList *opened_devices = NULL;
|
|||
|
||||
static GSList *registered_drivers = NULL;
|
||||
|
||||
#define DRV_ID(drv) g_str_hash(drv->name)
|
||||
|
||||
static void register_driver(struct fp_driver *drv)
|
||||
{
|
||||
if (drv->id == 0) {
|
||||
fp_err("not registering driver %s: driver ID is 0", drv->name);
|
||||
if (drv->name == NULL ||
|
||||
strlen(drv->name) <= 2) {
|
||||
fp_err("not registering driver %s, name is too short or absent", drv->name);
|
||||
return;
|
||||
}
|
||||
registered_drivers = g_slist_prepend(registered_drivers, (gpointer) drv);
|
||||
|
@ -411,7 +414,7 @@ API_EXPORTED int fp_dscv_dev_supports_print_data(struct fp_dscv_dev *dev,
|
|||
g_return_val_if_fail(dev, 0);
|
||||
g_return_val_if_fail(print, 0);
|
||||
|
||||
return fpi_print_data_compatible(dev->drv->id, dev->devtype,
|
||||
return fpi_print_data_compatible(DRV_ID(dev->drv), dev->devtype,
|
||||
fpi_driver_get_data_type(dev->drv), print->driver_id, print->devtype,
|
||||
print->type);
|
||||
}
|
||||
|
@ -434,7 +437,7 @@ API_EXPORTED int fp_dscv_dev_supports_dscv_print(struct fp_dscv_dev *dev,
|
|||
g_return_val_if_fail(dev, 0);
|
||||
g_return_val_if_fail(print, 0);
|
||||
|
||||
return fpi_print_data_compatible(dev->drv->id, dev->devtype, 0,
|
||||
return fpi_print_data_compatible(DRV_ID(dev->drv), dev->devtype, 0,
|
||||
print->driver_id, print->devtype, 0);
|
||||
}
|
||||
|
||||
|
@ -559,7 +562,7 @@ API_EXPORTED int fp_dev_supports_print_data(struct fp_dev *dev,
|
|||
g_return_val_if_fail(dev, 0);
|
||||
g_return_val_if_fail(data, 0);
|
||||
|
||||
return fpi_print_data_compatible(dev->drv->id, dev->devtype,
|
||||
return fpi_print_data_compatible(DRV_ID(dev->drv), dev->devtype,
|
||||
fpi_driver_get_data_type(dev->drv), data->driver_id, data->devtype,
|
||||
data->type);
|
||||
}
|
||||
|
@ -582,7 +585,7 @@ API_EXPORTED int fp_dev_supports_dscv_print(struct fp_dev *dev,
|
|||
g_return_val_if_fail(dev, 0);
|
||||
g_return_val_if_fail(print, 0);
|
||||
|
||||
return fpi_print_data_compatible(dev->drv->id, dev->devtype,
|
||||
return fpi_print_data_compatible(DRV_ID(dev->drv), dev->devtype,
|
||||
0, print->driver_id, print->devtype, 0);
|
||||
}
|
||||
|
||||
|
@ -628,7 +631,7 @@ API_EXPORTED uint16_t fp_driver_get_driver_id(struct fp_driver *drv)
|
|||
{
|
||||
g_return_val_if_fail(drv, 0);
|
||||
|
||||
return drv->id;
|
||||
return DRV_ID(drv);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -68,7 +68,6 @@ enum fp_driver_type {
|
|||
};
|
||||
|
||||
struct fp_driver {
|
||||
const uint16_t id;
|
||||
const char *name;
|
||||
const char *full_name;
|
||||
const struct usb_id * const id_table;
|
||||
|
|
|
@ -148,7 +148,7 @@ struct fp_print_data_item *fpi_print_data_item_new(size_t length)
|
|||
|
||||
struct fp_print_data *fpi_print_data_new(struct fp_dev *dev)
|
||||
{
|
||||
return print_data_new(dev->drv->id, dev->devtype,
|
||||
return print_data_new(fp_driver_get_driver_id(dev->drv), dev->devtype,
|
||||
fpi_driver_get_data_type(dev->drv));
|
||||
}
|
||||
|
||||
|
@ -349,7 +349,7 @@ static char *__get_path_to_print(uint16_t driver_id, uint32_t devtype,
|
|||
|
||||
static char *get_path_to_print(struct fp_dev *dev, enum fp_finger finger)
|
||||
{
|
||||
return __get_path_to_print(dev->drv->id, dev->devtype, finger);
|
||||
return __get_path_to_print(fp_driver_get_driver_id(dev->drv), dev->devtype, finger);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue