[PATCH 2/2] setser: new command to set serial number on ARM
Baruch Siach
baruch at tkos.co.il
Wed Aug 18 00:49:51 EDT 2010
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 at tkos.co.il>
> ---
> 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 at tkos.co.il>,
> + * 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 at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
More information about the barebox
mailing list