Message ID | 20191108125120.v2.5.I7aa3d4f52a2b16462b1c11eb90dcca7e2a1e52a5@changeid |
---|---|
State | Changes Requested |
Delegated to: | Tom Rini |
Headers | show |
Series | common: Further reduce common.h | expand |
On Fri, Nov 08, 2019 at 12:53:12PM -0700, Simon Glass wrote: > 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> > --- > > Changes in v2: None > > include/common.h | 6 ------ > include/net.h | 1 + > include/rand.h | 40 ++++++++++++++++++++++++++++++++++++++++ > lib/rand.c | 1 + > net/link_local.c | 1 + > 5 files changed, 43 insertions(+), 6 deletions(-) > create mode 100644 include/rand.h > > diff --git a/include/common.h b/include/common.h > index 52bcc2e591..b09c7aeddd 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 75a16e4c8f..d8d187d8af 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 */ OK, but common.h includes net.h, and I don't see this addressed further in the series. So this is a step in the right direction, but does it get messy to not include it?
Hi Tom, On Mon, 11 Nov 2019 at 07:18, Tom Rini <trini@konsulko.com> wrote: > > On Fri, Nov 08, 2019 at 12:53:12PM -0700, Simon Glass wrote: > > 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> > > --- > > > > Changes in v2: None > > > > include/common.h | 6 ------ > > include/net.h | 1 + > > include/rand.h | 40 ++++++++++++++++++++++++++++++++++++++++ > > lib/rand.c | 1 + > > net/link_local.c | 1 + > > 5 files changed, 43 insertions(+), 6 deletions(-) > > create mode 100644 include/rand.h > > > > diff --git a/include/common.h b/include/common.h > > index 52bcc2e591..b09c7aeddd 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 75a16e4c8f..d8d187d8af 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 */ > > OK, but common.h includes net.h, and I don't see this addressed further > in the series. So this is a step in the right direction, but does it > get messy to not include it? Even after this series there are about another 40 functions to remove from common.h - once that is done I can look at dropping the includes. I suspect it should be possible to remove net.h provided that it only includes network functions. Regards, Simon
On Tue, Nov 12, 2019 at 06:49:21AM -0700, Simon Glass wrote: > Hi Tom, > > On Mon, 11 Nov 2019 at 07:18, Tom Rini <trini@konsulko.com> wrote: > > > > On Fri, Nov 08, 2019 at 12:53:12PM -0700, Simon Glass wrote: > > > 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> > > > --- > > > > > > Changes in v2: None > > > > > > include/common.h | 6 ------ > > > include/net.h | 1 + > > > include/rand.h | 40 ++++++++++++++++++++++++++++++++++++++++ > > > lib/rand.c | 1 + > > > net/link_local.c | 1 + > > > 5 files changed, 43 insertions(+), 6 deletions(-) > > > create mode 100644 include/rand.h > > > > > > diff --git a/include/common.h b/include/common.h > > > index 52bcc2e591..b09c7aeddd 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 75a16e4c8f..d8d187d8af 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 */ > > > > OK, but common.h includes net.h, and I don't see this addressed further > > in the series. So this is a step in the right direction, but does it > > get messy to not include it? > > Even after this series there are about another 40 functions to remove > from common.h - once that is done I can look at dropping the includes. > > I suspect it should be possible to remove net.h provided that it only > includes network functions. OK, so just laying ground work for future cleanups, I can accept that, thanks! Reviewed-by: Tom Rini <trini@konsulko.com>
diff --git a/include/common.h b/include/common.h index 52bcc2e591..b09c7aeddd 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 75a16e4c8f..d8d187d8af 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 0000000000..c9d15f50a1 --- /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 af4cf3a0e8..d256baf5ce 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 dd9fcad087..1986b9b9d3 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"
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> --- Changes in v2: None include/common.h | 6 ------ include/net.h | 1 + include/rand.h | 40 ++++++++++++++++++++++++++++++++++++++++ lib/rand.c | 1 + net/link_local.c | 1 + 5 files changed, 43 insertions(+), 6 deletions(-) create mode 100644 include/rand.h