• Keith Packard's avatar
    usb: Add driver for Altus Metrum ChaosKey device (v2) · 66e3e591
    Keith Packard authored
    This is a hardware random number generator. The driver provides both a
    /dev/chaoskeyX entry and hooks the entropy source up to the kernel
    hwrng interface. More information about the device can be found at
    http://chaoskey.org
    
    The USB ID for ChaosKey was allocated from the OpenMoko USB vendor
    space and is visible as 'USBtrng' here:
    
    http://wiki.openmoko.org/wiki/USB_Product_IDs
    
    v2: Respond to review from Oliver Neukum <oneukum@suse.de>
    
     * Delete extensive debug infrastructure and replace it with calls to
       dev_dbg.
    
     * Allocate I/O buffer separately from device structure to obey
       requirements for non-coherant architectures.
    
     * Initialize mutexes before registering device to ensure that open
       cannot be invoked before the device is ready to proceed.
    
     * Return number of bytes read instead of -EINTR when partial read
       operation is aborted due to a signal.
    
     * Make sure device mutex is unlocked in read error paths.
    
     * Add MAINTAINERS entry for the driver
    Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
    Cc: Oliver Neukum <oneukum@suse.de>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    66e3e591
chaoskey.c 12.6 KB