]>
Commit | Line | Data |
---|---|---|
a2487684 SG |
1 | // SPDX-License-Identifier: GPL-2.0+ |
2 | /* | |
3 | * Copyright (c) 2019, Linaro Limited | |
4 | */ | |
5 | ||
6 | #if !defined _RNG_H_ | |
7 | #define _RNG_H_ | |
8 | ||
9 | struct udevice; | |
10 | ||
11 | /** | |
12 | * dm_rng_read() - read a random number seed from the rng device | |
a2487684 | 13 | * |
c7ff87e0 HS |
14 | * The function blocks until the requested number of bytes is read. |
15 | * | |
16 | * @dev: random number generator device | |
17 | * @buffer: input buffer to put the read random seed into | |
18 | * @size: number of random bytes to read | |
19 | * Return: 0 if OK, -ve on error | |
a2487684 SG |
20 | */ |
21 | int dm_rng_read(struct udevice *dev, void *buffer, size_t size); | |
22 | ||
c7ff87e0 HS |
23 | /** |
24 | * struct dm_rng_ops - operations for the hwrng uclass | |
25 | * | |
26 | * This structures contains the function implemented by a hardware random | |
27 | * number generation device. | |
28 | */ | |
a2487684 SG |
29 | struct dm_rng_ops { |
30 | /** | |
c7ff87e0 | 31 | * @read: read a random bytes |
a2487684 | 32 | * |
c7ff87e0 | 33 | * The function blocks until the requested number of bytes is read. |
a2487684 | 34 | * |
c7ff87e0 HS |
35 | * @read.dev: random number generator device |
36 | * @read.data: input buffer to read the random seed into | |
37 | * @read.max: number of random bytes to read | |
38 | * @read.Return: 0 if OK, -ve on error | |
a2487684 SG |
39 | */ |
40 | int (*read)(struct udevice *dev, void *data, size_t max); | |
41 | }; | |
42 | ||
43 | #endif /* _RNG_H_ */ |