9
0
Fork 0

add 'poweroff' command

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Antony Pavlov 2012-06-13 23:43:07 +04:00 committed by Sascha Hauer
parent a6e358b2f5
commit b78f4c986f
4 changed files with 48 additions and 0 deletions

View File

@ -6,6 +6,10 @@ config COMMAND_SUPPORT
depends on !SHELL_NONE
default y
config HAS_POWEROFF
bool
default n
if COMMAND_SUPPORT
menu "commands "
@ -422,6 +426,11 @@ config CMD_RESET
tristate
prompt "reset"
config CMD_POWEROFF
tristate
depends on HAS_POWEROFF
prompt "poweroff"
config CMD_GO
tristate
prompt "go"

View File

@ -11,6 +11,7 @@ obj-$(CONFIG_CMD_EDIT) += edit.o
obj-$(CONFIG_CMD_EXEC) += exec.o
obj-$(CONFIG_CMD_SLEEP) += sleep.o
obj-$(CONFIG_CMD_RESET) += reset.o
obj-$(CONFIG_CMD_POWEROFF) += poweroff.o
obj-$(CONFIG_CMD_GO) += go.o
obj-$(CONFIG_NET) += net.o
obj-$(CONFIG_CMD_PARTITION) += partition.o

37
commands/poweroff.c Normal file
View File

@ -0,0 +1,37 @@
/*
* poweroff.c - turn board's power off
*
* Copyright (C) 2011 Antony Pavlov <antonynpavlov@gmail.com>
*
* This file is part of barebox.
* 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 version 2
* as published by the Free Software Foundation.
*
* 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>
#include <command.h>
static int cmd_poweroff(int argc, char *argv[])
{
poweroff();
/* Not reached */
return 1;
}
BAREBOX_CMD_START(poweroff)
.cmd = cmd_poweroff,
.usage = "Perform POWER OFF of the board",
BAREBOX_CMD_END

View File

@ -102,6 +102,7 @@ long get_ram_size (volatile long *, long);
/* $(CPU)/cpu.c */
void __noreturn reset_cpu(unsigned long addr);
void __noreturn poweroff(void);
/* lib_$(ARCH)/time.c */
void udelay (unsigned long);