Loading libcutils/Android.mk +4 −0 Original line number Diff line number Diff line Loading @@ -119,6 +119,10 @@ ifneq ($(TARGET_RECOVERY_PRE_COMMAND),) LOCAL_CFLAGS += -DRECOVERY_PRE_COMMAND='$(TARGET_RECOVERY_PRE_COMMAND)' endif ifeq ($(TARGET_RECOVERY_PRE_COMMAND_CLEAR_REASON),true) LOCAL_CFLAGS += -DRECOVERY_PRE_COMMAND_CLEAR_REASON endif LOCAL_C_INCLUDES := $(KERNEL_HEADERS) LOCAL_STATIC_LIBRARIES := liblog LOCAL_CFLAGS += $(targetSmpFlag) Loading libcutils/android_reboot.c +23 −9 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include <sys/stat.h> #include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <cutils/android_reboot.h> Loading Loading @@ -103,12 +104,16 @@ static void remount_ro(void) int android_reboot(int cmd, int flags, char *arg) { int ret; int ret = 0; int reason = -1; #ifdef RECOVERY_PRE_COMMAND if (cmd == ANDROID_RB_RESTART2) { if (!strncmp((char *)arg,"recovery",8)) system( RECOVERY_PRE_COMMAND ); if (cmd == (int) ANDROID_RB_RESTART2) { if (arg && strlen(arg) > 0) { char cmd[PATH_MAX]; sprintf(cmd, RECOVERY_PRE_COMMAND " %s", arg); system(cmd); } } #endif Loading @@ -120,22 +125,31 @@ int android_reboot(int cmd, int flags, char *arg) switch (cmd) { case ANDROID_RB_RESTART: ret = reboot(RB_AUTOBOOT); reason = RB_AUTOBOOT; break; case ANDROID_RB_POWEROFF: ret = reboot(RB_POWER_OFF); break; return ret; case ANDROID_RB_RESTART2: ret = __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_RESTART2, arg); // REBOOT_MAGIC break; default: ret = -1; return -1; } #ifdef RECOVERY_PRE_COMMAND_CLEAR_REASON reason = RB_AUTOBOOT; #endif if (reason != -1) ret = reboot(reason); else ret = __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_RESTART2, arg); return ret; } toolbox/Android.mk +8 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ TOOLS := \ rm \ mkdir \ rmdir \ reboot \ getevent \ sendevent \ date \ Loading Loading @@ -66,6 +65,14 @@ LOCAL_SRC_FILES:= \ toolbox.c \ $(patsubst %,%.c,$(TOOLS)) TOOLS += reboot ifeq ($(BOARD_USES_BOOTMENU),true) LOCAL_SRC_FILES += ../../../external/bootmenu/libreboot/reboot.c else LOCAL_SRC_FILES += reboot.c endif LOCAL_SHARED_LIBRARIES := libcutils libc libusbhost LOCAL_MODULE:= toolbox Loading Loading
libcutils/Android.mk +4 −0 Original line number Diff line number Diff line Loading @@ -119,6 +119,10 @@ ifneq ($(TARGET_RECOVERY_PRE_COMMAND),) LOCAL_CFLAGS += -DRECOVERY_PRE_COMMAND='$(TARGET_RECOVERY_PRE_COMMAND)' endif ifeq ($(TARGET_RECOVERY_PRE_COMMAND_CLEAR_REASON),true) LOCAL_CFLAGS += -DRECOVERY_PRE_COMMAND_CLEAR_REASON endif LOCAL_C_INCLUDES := $(KERNEL_HEADERS) LOCAL_STATIC_LIBRARIES := liblog LOCAL_CFLAGS += $(targetSmpFlag) Loading
libcutils/android_reboot.c +23 −9 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include <sys/stat.h> #include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <cutils/android_reboot.h> Loading Loading @@ -103,12 +104,16 @@ static void remount_ro(void) int android_reboot(int cmd, int flags, char *arg) { int ret; int ret = 0; int reason = -1; #ifdef RECOVERY_PRE_COMMAND if (cmd == ANDROID_RB_RESTART2) { if (!strncmp((char *)arg,"recovery",8)) system( RECOVERY_PRE_COMMAND ); if (cmd == (int) ANDROID_RB_RESTART2) { if (arg && strlen(arg) > 0) { char cmd[PATH_MAX]; sprintf(cmd, RECOVERY_PRE_COMMAND " %s", arg); system(cmd); } } #endif Loading @@ -120,22 +125,31 @@ int android_reboot(int cmd, int flags, char *arg) switch (cmd) { case ANDROID_RB_RESTART: ret = reboot(RB_AUTOBOOT); reason = RB_AUTOBOOT; break; case ANDROID_RB_POWEROFF: ret = reboot(RB_POWER_OFF); break; return ret; case ANDROID_RB_RESTART2: ret = __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_RESTART2, arg); // REBOOT_MAGIC break; default: ret = -1; return -1; } #ifdef RECOVERY_PRE_COMMAND_CLEAR_REASON reason = RB_AUTOBOOT; #endif if (reason != -1) ret = reboot(reason); else ret = __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_RESTART2, arg); return ret; }
toolbox/Android.mk +8 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ TOOLS := \ rm \ mkdir \ rmdir \ reboot \ getevent \ sendevent \ date \ Loading Loading @@ -66,6 +65,14 @@ LOCAL_SRC_FILES:= \ toolbox.c \ $(patsubst %,%.c,$(TOOLS)) TOOLS += reboot ifeq ($(BOARD_USES_BOOTMENU),true) LOCAL_SRC_FILES += ../../../external/bootmenu/libreboot/reboot.c else LOCAL_SRC_FILES += reboot.c endif LOCAL_SHARED_LIBRARIES := libcutils libc libusbhost LOCAL_MODULE:= toolbox Loading