summaryrefslogtreecommitdiff
path: root/recipes/kexecboot/kexecboot-0.4/add-reboot-option.patch
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/kexecboot/kexecboot-0.4/add-reboot-option.patch
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/kexecboot/kexecboot-0.4/add-reboot-option.patch')
-rw-r--r--recipes/kexecboot/kexecboot-0.4/add-reboot-option.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/recipes/kexecboot/kexecboot-0.4/add-reboot-option.patch b/recipes/kexecboot/kexecboot-0.4/add-reboot-option.patch
new file mode 100644
index 0000000000..52619229fd
--- /dev/null
+++ b/recipes/kexecboot/kexecboot-0.4/add-reboot-option.patch
@@ -0,0 +1,41 @@
+--- a/kexecboot.c
++++ b/kexecboot.c
+@@ -536,11 +536,23 @@ int main(int argc, char **argv)
+ fread(&evt, sizeof(struct input_event), 1, f);
+ while(evt.type != EV_KEY || evt.value != 0);
+
+- if(evt.code == KEY_UP && choice >0)
+- choice--;
+- if(evt.code == KEY_DOWN && choice < bl->size-1)
+- choice++;
+- // printf("%d %d\n",choice, evt.code);
++ switch (evt.code) {
++ case KEY_UP:
++ if (choice > 0) choice--;
++ break;
++ case KEY_DOWN:
++ if ( choice < (bl->size - 1) ) choice++;
++ break;
++ case KEY_R:
++ /* FIXME: Should work while no boot devices is found */
++ sync();
++ sleep(1);
++ /* if ( -1 == reboot(LINUX_REBOOT_CMD_RESTART) ) { */
++ if ( -1 == reboot(RB_AUTOBOOT) ) {
++ perror("Can't initiate reboot");
++ }
++ break;
++ }
+
+ }while(evt.code != 87 && evt.code != 63);
+ fclose(f);
+--- a/kexecboot.h
++++ b/kexecboot.h
+@@ -29,6 +29,7 @@
+ #include <sys/wait.h>
+ #include <ctype.h>
+ #include <errno.h>
++#include <sys/reboot.h>
+ #include "fb.h"
+ #include "devicescan.h"
+ #include "res/logo-img.h"