hwrng: core - Improve description of the ->read() interface
authorDaniel Thompson <daniel.thompson@linaro.org>
Thu, 18 Aug 2016 12:37:21 +0000 (13:37 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 24 Aug 2016 13:04:48 +0000 (21:04 +0800)
commited0bd721c9322e8e6ee953884706080d40106a6e
tree87608b6b815dadce853a27dff1bc93b3429f5111
parentf12e4ed8f0701745d1a79e23e75fc24b6e3155c7
hwrng: core - Improve description of the ->read() interface

Currently, very few RNG drivers support single byte reads using the
->read() interface. Of the 14 drivers in drivers/char/hw_random that
support this interface only three of these actually support max == 1.
The other behaviours vary between return 0, return 2, return 4 and return
-EIO).

This is not a problem in practice because the core hw_random code never
performs a read shorter than 16 bytes. The documentation for this function
already contrains the alignment of the buffer pointer, so let's also
guarantee that the buffer is at least as large as its alignment.

This constraint is intended to be the weakest guarantee neccessary to
allow driver writers to safely simplify their code.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
include/linux/hw_random.h