diff options
-rw-r--r-- | MAINTAINERS | 1 | ||||
-rw-r--r-- | doc/api/index.rst | 1 | ||||
-rw-r--r-- | doc/api/rng.rst | 17 | ||||
-rw-r--r-- | include/rand.h | 6 | ||||
-rw-r--r-- | include/rng.h | 26 | ||||
-rw-r--r-- | lib/efi_loader/efi_image_loader.c | 2 |
6 files changed, 41 insertions, 12 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index 1fd975c72f..00985c0e8e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -877,6 +877,7 @@ M: Sughosh Ganu <sughosh.ganu@linaro.org> R: Heinrich Schuchardt <xypron.glpk@gmx.de> S: Maintained F: cmd/rng.c +F: doc/api/rng.rst F: drivers/rng/ F: drivers/virtio/virtio_rng.c F: include/rng.h diff --git a/doc/api/index.rst b/doc/api/index.rst index fd3b5bdc82..b7eb5725f2 100644 --- a/doc/api/index.rst +++ b/doc/api/index.rst @@ -9,5 +9,6 @@ U-Boot API documentation dfu efi linker_lists + rng serial unicode diff --git a/doc/api/rng.rst b/doc/api/rng.rst new file mode 100644 index 0000000000..b826d4fd4a --- /dev/null +++ b/doc/api/rng.rst @@ -0,0 +1,17 @@ +.. SPDX-License-Identifier: GPL-2.0+ +.. Copyright (c) 2018 Heinrich Schuchardt + +Random number generation +======================== + +Hardware random number generation +--------------------------------- + +.. kernel-doc:: include/rng.h + :internal: + +Pseudo random number generation +------------------------------- + +.. kernel-doc:: include/rand.h + :internal: diff --git a/include/rand.h b/include/rand.h index c9d15f50a1..4c54fbbd10 100644 --- a/include/rand.h +++ b/include/rand.h @@ -22,7 +22,7 @@ void srand(unsigned int seed); /** * rand() - Get a 32-bit pseudo-random number * - * @returns next random number in the sequence + * Return: next random number in the sequence */ unsigned int rand(void); @@ -32,8 +32,8 @@ unsigned int rand(void); * This version of the function allows multiple sequences to be used at the * same time, since it requires the caller to store the seed value. * - * @seed value to use, updated on exit - * @returns next random number in the sequence + * @seedp: seed value to use, updated on exit + * Return: next random number in the sequence */ unsigned int rand_r(unsigned int *seedp); diff --git a/include/rng.h b/include/rng.h index d2c0f9af62..37af554363 100644 --- a/include/rng.h +++ b/include/rng.h @@ -10,22 +10,32 @@ struct udevice; /** * dm_rng_read() - read a random number seed from the rng device - * @buffer: input buffer to put the read random seed into - * @size: number of bytes of random seed read * - * Return: 0 if OK, -ve on error + * The function blocks until the requested number of bytes is read. + * + * @dev: random number generator device + * @buffer: input buffer to put the read random seed into + * @size: number of random bytes to read + * Return: 0 if OK, -ve on error */ int dm_rng_read(struct udevice *dev, void *buffer, size_t size); -/* struct dm_rng_ops - Operations for the hwrng uclass */ +/** + * struct dm_rng_ops - operations for the hwrng uclass + * + * This structures contains the function implemented by a hardware random + * number generation device. + */ struct dm_rng_ops { /** - * @read() - read a random number seed + * @read: read a random bytes * - * @data: input buffer to read the random seed - * @max: total number of bytes to read + * The function blocks until the requested number of bytes is read. * - * Return: 0 if OK, -ve on error + * @read.dev: random number generator device + * @read.data: input buffer to read the random seed into + * @read.max: number of random bytes to read + * @read.Return: 0 if OK, -ve on error */ int (*read)(struct udevice *dev, void *data, size_t max); }; diff --git a/lib/efi_loader/efi_image_loader.c b/lib/efi_loader/efi_image_loader.c index 478aaf50d3..230d41ae5e 100644 --- a/lib/efi_loader/efi_image_loader.c +++ b/lib/efi_loader/efi_image_loader.c @@ -369,7 +369,7 @@ bool efi_image_parse(void *efi, size_t len, struct efi_image_regions **regp, /* 3. Extra data excluding Certificates Table */ if (bytes_hashed + authsz < len) { - debug("extra data for hash: %lu\n", + debug("extra data for hash: %zu\n", len - (bytes_hashed + authsz)); efi_image_region_add(regs, efi + bytes_hashed, efi + len - authsz, 0); |