hwrng: chaoskey - Add support for Araneus Alea I USB RNG
authorBob Ham <bob.ham@collabora.com>
Fri, 3 Jun 2016 11:13:07 +0000 (12:13 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Tue, 7 Jun 2016 10:42:43 +0000 (18:42 +0800)
Adds support for the Araneus Alea I USB hardware Random Number
Generator which is interfaced with in exactly the same way as the
Altus Metrum ChaosKey.  We just add the appropriate device ID and
modify the config help text.

Signed-off-by: Bob Ham <bob.ham@collabora.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/usb/misc/Kconfig
drivers/usb/misc/chaoskey.c

index e9e5ae521fa63f5e55d8f8cf52f53ca5e53f68bb..6e705971d637f3321c74b89b7f81064887aaf424 100644 (file)
@@ -260,11 +260,12 @@ config USB_CHAOSKEY
        tristate "ChaosKey random number generator driver support"
        depends on HW_RANDOM
        help
-         Say Y here if you want to connect an AltusMetrum ChaosKey to
-         your computer's USB port. The ChaosKey is a hardware random
-         number generator which hooks into the kernel entropy pool to
-         ensure a large supply of entropy for /dev/random and
-         /dev/urandom and also provides direct access via /dev/chaoskeyX
+         Say Y here if you want to connect an AltusMetrum ChaosKey or
+         Araneus Alea I to your computer's USB port. These devices
+         are hardware random number generators which hook into the
+         kernel entropy pool to ensure a large supply of entropy for
+         /dev/random and /dev/urandom and also provides direct access
+         via /dev/chaoskeyX
 
          To compile this driver as a module, choose M here: the
          module will be called chaoskey.
index 76350e4ee8073f85a2507771b0f0ebb0cdd29593..9aef46b3dfa81ae08795dc4a0da769979fc66753 100644 (file)
@@ -55,6 +55,9 @@ MODULE_LICENSE("GPL");
 #define CHAOSKEY_VENDOR_ID     0x1d50  /* OpenMoko */
 #define CHAOSKEY_PRODUCT_ID    0x60c6  /* ChaosKey */
 
+#define ALEA_VENDOR_ID         0x12d8  /* Araneus */
+#define ALEA_PRODUCT_ID                0x0001  /* Alea I */
+
 #define CHAOSKEY_BUF_LEN       64      /* max size of USB full speed packet */
 
 #define NAK_TIMEOUT (HZ)               /* stall/wait timeout for device */
@@ -69,6 +72,7 @@ MODULE_LICENSE("GPL");
 
 static const struct usb_device_id chaoskey_table[] = {
        { USB_DEVICE(CHAOSKEY_VENDOR_ID, CHAOSKEY_PRODUCT_ID) },
+       { USB_DEVICE(ALEA_VENDOR_ID, ALEA_PRODUCT_ID) },
        { },
 };
 MODULE_DEVICE_TABLE(usb, chaoskey_table);