diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2008-08-13 15:54:53 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2008-08-13 16:29:17 +0200 |
commit | 932b57873db47db89989b86789b216e50a753478 (patch) | |
tree | 45121689cbab9b60340f62e6148405fdbea53163 /commands/insmod.c | |
parent | 0dd24dc17d561fa0a9f8d5b2ffb5c31e1cf7985c (diff) | |
download | barebox-932b57873db47db89989b86789b216e50a753478.tar.gz barebox-932b57873db47db89989b86789b216e50a753478.tar.xz |
move several commands into extra files
move false, true, help, insmod, lsmod, version into extra files
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'commands/insmod.c')
-rw-r--r-- | commands/insmod.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/commands/insmod.c b/commands/insmod.c new file mode 100644 index 0000000000..28a59ead56 --- /dev/null +++ b/commands/insmod.c @@ -0,0 +1,45 @@ +#include <common.h> +#include <command.h> +#include <module.h> +#include <errno.h> +#include <fs.h> +#include <malloc.h> + +static int do_insmod (cmd_tbl_t *cmdtp, int argc, char *argv[]) +{ + struct module *module; + void *buf; + int len; + + if (argc < 2) { + u_boot_cmd_usage(cmdtp); + return 1; + } + + buf = read_file(argv[1], &len); + if (!buf) { + perror("insmod"); + return 1; + } + + module = load_module(buf, len); + + free(buf); + + if (module) { + if (module->init) + module->init(); + } + + return 0; +} + +static const __maybe_unused char cmd_insmod_help[] = +"Usage: insmod <module>\n"; + +U_BOOT_CMD_START(insmod) + .maxargs = 2, + .cmd = do_insmod, + .usage = "insert a module", + U_BOOT_CMD_HELP(cmd_insmod_help) +U_BOOT_CMD_END |