summaryrefslogtreecommitdiff
path: root/lib_generic
diff options
context:
space:
mode:
authorDirk Behme <dirk.behme@googlemail.com>2010-01-03 08:33:58 +0100
committerWolfgang Denk <wd@denx.de>2010-01-17 20:14:47 +0100
commit6a45e384955262882375a2785426dc65aeb636c4 (patch)
treea1648daf66d4be1d71427f8e2f35123180f9de04 /lib_generic
parent2740544881f652566756815dda4da0bcd946e9de (diff)
Make getenv_IPaddr() global
There are boards out there that do not have network support in U-Boot (CONFIG_CMD_NET not set), but they do so in Linux. This makes it desirable to be able to port network configuration (like the IP address) to the Linux kernel. We should not make the passing of the IP configuration to Linux dependent on U-Boot features / settings. For this, make getenv_IPaddr() global. This fixes build error u-boot/lib_xxx/board.c:360: undefined reference to `getenv_IPaddr' on various architectures. Signed-off-by: Dirk Behme <dirk.behme@googlemail.com> Acked-by: Ben Warren <biggerbadderben@gmail.com>
Diffstat (limited to 'lib_generic')
-rw-r--r--lib_generic/Makefile1
-rw-r--r--lib_generic/net_utils.c50
2 files changed, 51 insertions, 0 deletions
diff --git a/lib_generic/Makefile b/lib_generic/Makefile
index bfaf3468ef..c17179cbc8 100644
--- a/lib_generic/Makefile
+++ b/lib_generic/Makefile
@@ -41,6 +41,7 @@ COBJS-y += gunzip.o
COBJS-y += lmb.o
COBJS-y += ldiv.o
COBJS-$(CONFIG_MD5) += md5.o
+COBJS-y += net_utils.o
COBJS-y += sha1.o
COBJS-$(CONFIG_SHA256) += sha256.o
COBJS-y += string.o
diff --git a/lib_generic/net_utils.c b/lib_generic/net_utils.c
new file mode 100644
index 0000000000..f03b098e9c
--- /dev/null
+++ b/lib_generic/net_utils.c
@@ -0,0 +1,50 @@
+/*
+ * Generic network code. Moved from net.c
+ *
+ * Copyright 1994 - 2000 Neil Russell.
+ * Copyright 2000 Roland Borde
+ * Copyright 2000 Paolo Scaffardi
+ * Copyright 2000-2002 Wolfgang Denk, wd@denx.de
+ * Copyright 2009 Dirk Behme, dirk.behme@googlemail.com
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <common.h>
+
+IPaddr_t string_to_ip(char *s)
+{
+ IPaddr_t addr;
+ char *e;
+ int i;
+
+ if (s == NULL)
+ return(0);
+
+ for (addr=0, i=0; i<4; ++i) {
+ ulong val = s ? simple_strtoul(s, &e, 10) : 0;
+ addr <<= 8;
+ addr |= (val & 0xFF);
+ if (s) {
+ s = (*e) ? e+1 : e;
+ }
+ }
+
+ return (htonl(addr));
+}