Hi Barebox list, Ping? Should I implement this as a character device? :-) baruch On Thu, Aug 05, 2010 at 02:23:18PM +0300, Baruch Siach wrote: > Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> > --- > commands/Kconfig | 8 ++++++++ > commands/Makefile | 1 + > commands/setser.c | 43 +++++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 52 insertions(+), 0 deletions(-) > create mode 100644 commands/setser.c > > diff --git a/commands/Kconfig b/commands/Kconfig > index 1ffc826..9d11a8b 100644 > --- a/commands/Kconfig > +++ b/commands/Kconfig > @@ -231,6 +231,14 @@ config CMD_BOOTU > compile in the 'bootu' command to start raw (uncompressed) > Linux images > > +config CMD_SETSER > + tristate > + depends on ARM > + prompt "setser" > + help > + compile in the 'setser' command to set the 64bit serial number to be > + passed to the Linux kernel upon boot > + > config CMD_LINUX16 > tristate > default y if X86 > diff --git a/commands/Makefile b/commands/Makefile > index b99f042..276af85 100644 > --- a/commands/Makefile > +++ b/commands/Makefile > @@ -1,4 +1,5 @@ > obj-$(CONFIG_CMD_BOOTM) += bootm.o > +obj-$(CONFIG_CMD_SETSER) += setser.o > obj-$(CONFIG_CMD_LINUX16) += linux16.o > obj-$(CONFIG_CMD_LOADB) += loadb.o xyzModem.o > obj-$(CONFIG_CMD_LOADY) += loadb.o xyzModem.o > diff --git a/commands/setser.c b/commands/setser.c > new file mode 100644 > index 0000000..ef4fb0a > --- /dev/null > +++ b/commands/setser.c > @@ -0,0 +1,43 @@ > +/* > + * Copyright (c) 2010 Baruch Siach <baruch@xxxxxxxxxx>, > + * Orex Computed Radiography > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 > + * as published by the Free Software Foundation. > + * > + * http://www.opensource.org/licenses/gpl-license.html > + * http://www.gnu.org/copyleft/gpl.html > + */ > + > +#include <common.h> > +#include <command.h> > +#include <asm/armlinux.h> > +#include <asm/byteorder.h> > + > +static int do_setser(struct command *cmdtp, int argc, char *argv[]) > +{ > + int ret; > + u8 buf[8]; > + > + if (argc != 2) > + return COMMAND_ERROR_USAGE; > + > + ret = string_to_bin(argv[1], buf, 8); > + if (ret < 0) > + return COMMAND_ERROR_USAGE; > + > + armlinux_set_serial(be64_to_cpup((u64 *)buf)); > + > + return 0; > +} > + > +static const __maybe_unused char cmd_setser_help[] = > +"Usage: setser xx:xx:xx:xx:xx:xx:xx:xx\n" > +"Set 64bit serial number to pass to the Linux kernel\n"; > + > +BAREBOX_CMD_START(setser) > + .cmd = do_setser, > + .usage = "set serial number", > + BAREBOX_CMD_HELP(cmd_setser_help) > +BAREBOX_CMD_END > -- > 1.7.1 > -- ~. .~ Tk Open Systems =}------------------------------------------------ooO--U--Ooo------------{= - baruch@xxxxxxxxxx - tel: +972.2.679.5364, http://www.tkos.co.il - _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox