103 lines
3.4 KiB
Diff
103 lines
3.4 KiB
Diff
--- libfprint-0.1.0-pre1/libfprint/fprint-list-udev-rules.c 1970-01-01 01:00:00.000000000 +0100
|
|
+++ libfprint-0.1.0-pre1.bak/libfprint/fprint-list-udev-rules.c 2009-06-09 18:30:20.000000000 +0100
|
|
@@ -0,0 +1,72 @@
|
|
+/*
|
|
+ * Copyright (C) 2009 Red Hat <mjg@redhat.com>
|
|
+ * Copyright (C) 2008 Bastien Nocera <hadess@hadess.net>
|
|
+ * Copyright (C) 2008 Timo Hoenig <thoenig@suse.de>, <thoenig@nouse.net>
|
|
+ *
|
|
+ * 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 <config.h>
|
|
+#include <stdio.h>
|
|
+
|
|
+#include "fp_internal.h"
|
|
+
|
|
+static const struct usb_id whitelist_id_table[] = {
|
|
+ { .vendor = 0x08ff, .product = 0x2810 },
|
|
+ { 0, 0, 0, },
|
|
+};
|
|
+
|
|
+static const struct usb_id blacklist_id_table[] = {
|
|
+ { 0, 0, 0 },
|
|
+};
|
|
+
|
|
+struct fp_driver whitelist = {
|
|
+ .id_table = whitelist_id_table,
|
|
+};
|
|
+
|
|
+static void print_driver (struct fp_driver *driver)
|
|
+{
|
|
+ int i, j, blacklist;
|
|
+
|
|
+ for (i = 0; driver->id_table[i].vendor != 0; i++) {
|
|
+ blacklist = 0;
|
|
+ for (j = 0; blacklist_id_table[j].vendor != 0; j++) {
|
|
+ if (driver->id_table[i].vendor == blacklist_id_table[j].vendor &&
|
|
+ driver->id_table[j].product == blacklist_id_table[j].product) {
|
|
+ blacklist = 1;
|
|
+ }
|
|
+ }
|
|
+ if (blacklist)
|
|
+ continue;
|
|
+
|
|
+ printf ("SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"%04x\", ATTRS{idProduct}==\"%04x\", ATTR{power/level}=\"auto\"\n", driver->id_table[i].vendor, driver->id_table[i].product);
|
|
+ }
|
|
+}
|
|
+
|
|
+int main (int argc, char **argv)
|
|
+{
|
|
+ struct fp_driver **list;
|
|
+ guint i;
|
|
+
|
|
+ list = fprint_get_drivers ();
|
|
+
|
|
+ for (i = 0; list[i] != NULL; i++) {
|
|
+ print_driver (list[i]);
|
|
+ }
|
|
+
|
|
+ print_driver (&whitelist);
|
|
+
|
|
+ return 0;
|
|
+}
|
|
--- libfprint-0.1.0-pre1/libfprint/Makefile.am 2008-11-18 17:18:21.000000000 +0000
|
|
+++ libfprint-0.1.0-pre1.bak/libfprint/Makefile.am 2009-06-09 18:32:10.000000000 +0100
|
|
@@ -1,6 +1,6 @@
|
|
lib_LTLIBRARIES = libfprint.la
|
|
-noinst_PROGRAMS = fprint-list-hal-info
|
|
-MOSTLYCLEANFILES = $(hal_fdi_DATA)
|
|
+noinst_PROGRAMS = fprint-list-hal-info fprint-list-udev-rules
|
|
+MOSTLYCLEANFILES = $(hal_fdi_DATA) $(udev_rules_DATA)
|
|
|
|
UPEKTS_SRC = drivers/upekts.c
|
|
UPEKTC_SRC = drivers/upektc.c
|
|
@@ -66,6 +66,15 @@
|
|
$(hal_fdi_DATA): fprint-list-hal-info
|
|
$(builddir)/fprint-list-hal-info > $@
|
|
|
|
+fprint_list_udev_rules_SOURCES = fprint-list-udev-rules.c
|
|
+fprint_list_udev_rules_CFLAGS = -fvisibility=hidden -I$(srcdir)/nbis/include $(LIBUSB_CFLAGS) $(GLIB_CFLAGS) $(IMAGEMAGICK_CFLAGS) $(CRYPTO_CFLAGS) $(AM_CFLAGS)
|
|
+fprint_list_udev_rules_LDADD = $(builddir)/libfprint.la
|
|
+
|
|
+udev_rules_DATA = 60-fprint-autosuspend.rules
|
|
+udev_rulesdir = $(sysconfdir)/udev/rules.d/
|
|
+
|
|
+$(udev_rules_DATA): fprint-list-udev-rules
|
|
+ $(builddir)/fprint-list-udev-rules > $@
|
|
|
|
if ENABLE_UPEKTS
|
|
DRIVER_SRC += $(UPEKTS_SRC)
|