common: Move random-number functions into their own header
authorSimon Glass <sjg@chromium.org>
Thu, 14 Nov 2019 19:57:13 +0000 (12:57 -0700)
committerTom Rini <trini@konsulko.com>
Mon, 2 Dec 2019 23:23:07 +0000 (18:23 -0500)
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>
include/common.h
include/net.h
include/rand.h [new file with mode: 0644]
lib/rand.c
net/link_local.c

index 52bcc2e591e4538ac4dafc08496f690f1464927c..b09c7aeddd48769d99df11b014e64ea2a0c4c97f 100644 (file)
@@ -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)
  */
index 75a16e4c8f8f51478f5ff7c2b53a0b764c27967e..d8d187d8af9b98fd2d9532c06ddde17d3fdc4690 100644 (file)
@@ -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 (file)
index 0000000..c9d15f5
--- /dev/null
@@ -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
index af4cf3a0e8cfc7d2dc7ecec29f376e9cf8588a2f..d256baf5cee7f4a525c8776576d634b7632bf168 100644 (file)
@@ -8,6 +8,7 @@
  */
 
 #include <common.h>
+#include <rand.h>
 
 static unsigned int y = 1U;
 
index dd9fcad0874d236871f7967a63301f0924d7b556..1986b9b9d3b63b03831daa5e5f6bc72958c64153 100644 (file)
@@ -14,6 +14,7 @@
 #include <common.h>
 #include <env.h>
 #include <net.h>
+#include <rand.h>
 #include "arp.h"
 #include "net_rand.h"