···11+.. SPDX-License-Identifier: GPL-2.0+
22+.. Copyright (c) 2018 Heinrich Schuchardt
33+44+Random number generation
55+========================
66+77+Hardware random number generation
88+---------------------------------
99+1010+.. kernel-doc:: include/rng.h
1111+ :internal:
1212+1313+Pseudo random number generation
1414+-------------------------------
1515+1616+.. kernel-doc:: include/rand.h
1717+ :internal:
+3-3
include/rand.h
···2222/**
2323 * rand() - Get a 32-bit pseudo-random number
2424 *
2525- * @returns next random number in the sequence
2525+ * Return: next random number in the sequence
2626 */
2727unsigned int rand(void);
2828···3232 * This version of the function allows multiple sequences to be used at the
3333 * same time, since it requires the caller to store the seed value.
3434 *
3535- * @seed value to use, updated on exit
3636- * @returns next random number in the sequence
3535+ * @seedp: seed value to use, updated on exit
3636+ * Return: next random number in the sequence
3737 */
3838unsigned int rand_r(unsigned int *seedp);
3939
+18-8
include/rng.h
···10101111/**
1212 * dm_rng_read() - read a random number seed from the rng device
1313+ *
1414+ * The function blocks until the requested number of bytes is read.
1515+ *
1616+ * @dev: random number generator device
1317 * @buffer: input buffer to put the read random seed into
1414- * @size: number of bytes of random seed read
1515- *
1616- * Return: 0 if OK, -ve on error
1818+ * @size: number of random bytes to read
1919+ * Return: 0 if OK, -ve on error
1720 */
1821int dm_rng_read(struct udevice *dev, void *buffer, size_t size);
19222020-/* struct dm_rng_ops - Operations for the hwrng uclass */
2323+/**
2424+ * struct dm_rng_ops - operations for the hwrng uclass
2525+ *
2626+ * This structures contains the function implemented by a hardware random
2727+ * number generation device.
2828+ */
2129struct dm_rng_ops {
2230 /**
2323- * @read() - read a random number seed
3131+ * @read: read a random bytes
2432 *
2525- * @data: input buffer to read the random seed
2626- * @max: total number of bytes to read
3333+ * The function blocks until the requested number of bytes is read.
2734 *
2828- * Return: 0 if OK, -ve on error
3535+ * @read.dev: random number generator device
3636+ * @read.data: input buffer to read the random seed into
3737+ * @read.max: number of random bytes to read
3838+ * @read.Return: 0 if OK, -ve on error
2939 */
3040 int (*read)(struct udevice *dev, void *data, size_t max);
3141};