diff options
author | Simon Glass | 2019-11-14 12:57:13 -0700 |
---|---|---|
committer | Tom Rini | 2019-12-02 18:23:07 -0500 |
commit | 840ef4d43b69a687660b3722b9c4a8a44a2912f8 (patch) | |
tree | 6d54af8d723554926ce4a8724588872bdc5e03aa | |
parent | c076e5c9b35fc20cdea076e8eae71126e7cadd4f (diff) |
common: Move random-number functions into their own header
Create a new rand.h header file and move functions into it, to reduce
the size of common.h
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
-rw-r--r-- | include/common.h | 6 | ||||
-rw-r--r-- | include/net.h | 1 | ||||
-rw-r--r-- | include/rand.h | 40 | ||||
-rw-r--r-- | lib/rand.c | 1 | ||||
-rw-r--r-- | net/link_local.c | 1 |
5 files changed, 43 insertions, 6 deletions
diff --git a/include/common.h b/include/common.h index 52bcc2e591e..b09c7aeddd4 100644 --- a/include/common.h +++ b/include/common.h @@ -325,12 +325,6 @@ char * strmhz(char *buf, unsigned long hz); /* lib/crc32.c */ #include <u-boot/crc.h> -/* lib/rand.c */ -#define RAND_MAX -1U -void srand(unsigned int seed); -unsigned int rand(void); -unsigned int rand_r(unsigned int *seedp); - /* * STDIO based functions (can always be used) */ diff --git a/include/net.h b/include/net.h index 75a16e4c8f8..d8d187d8af9 100644 --- a/include/net.h +++ b/include/net.h @@ -16,6 +16,7 @@ #include <asm/byteorder.h> /* for nton* / ntoh* stuff */ #include <env.h> #include <linux/if_ether.h> +#include <rand.h> #define DEBUG_LL_STATE 0 /* Link local state machine changes */ #define DEBUG_DEV_PKT 0 /* Packets or info directed to the device */ diff --git a/include/rand.h b/include/rand.h new file mode 100644 index 00000000000..c9d15f50a13 --- /dev/null +++ b/include/rand.h @@ -0,0 +1,40 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * (C) Copyright 2000-2009 + * Wolfgang Denk, DENX Software Engineering, wd@denx.de. + */ + +#ifndef __RAND_H +#define __RAND_H + +#define RAND_MAX -1U + +/** + * srand() - Set the random-number seed value + * + * This can be used to restart the pseudo-random-number sequence from a known + * point. This affects future calls to rand() to start from that point + * + * @seed: New seed + */ +void srand(unsigned int seed); + +/** + * rand() - Get a 32-bit pseudo-random number + * + * @returns next random number in the sequence + */ +unsigned int rand(void); + +/** + * rand_r() - Get a 32-bit pseudo-random number + * + * 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 + */ +unsigned int rand_r(unsigned int *seedp); + +#endif diff --git a/lib/rand.c b/lib/rand.c index af4cf3a0e8c..d256baf5cee 100644 --- a/lib/rand.c +++ b/lib/rand.c @@ -8,6 +8,7 @@ */ #include <common.h> +#include <rand.h> static unsigned int y = 1U; diff --git a/net/link_local.c b/net/link_local.c index dd9fcad0874..1986b9b9d3b 100644 --- a/net/link_local.c +++ b/net/link_local.c @@ -14,6 +14,7 @@ #include <common.h> #include <env.h> #include <net.h> +#include <rand.h> #include "arp.h" #include "net_rand.h" |