aboutsummaryrefslogtreecommitdiff
path: root/main/enigma.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-08-26 10:54:46 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-08-26 10:54:46 +0000
commit92362f1b73f1e61ad0cb1c581b318b360e0bb6fe (patch)
tree1e351add90b8bbd3d9b822d313bc6b4d56a9350e /main/enigma.cpp
parent92929c357751afc31f7f1acbe3e724bdf307cf23 (diff)
downloadenigma2-92362f1b73f1e61ad0cb1c581b318b360e0bb6fe.tar.gz
enigma2-92362f1b73f1e61ad0cb1c581b318b360e0bb6fe.zip
add support for dm8000 rtc,
add support for dm8000 deepstandby wakeup, go back to deepstandby after deepstandby timer wakeup even when not explicitely selected (this needs new drivers and / or new atmel firmware) add some sanity checks to dont break anything even with old drivers/atmel firmware
Diffstat (limited to 'main/enigma.cpp')
-rw-r--r--main/enigma.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/main/enigma.cpp b/main/enigma.cpp
index 307edd5a..0893b035 100644
--- a/main/enigma.cpp
+++ b/main/enigma.cpp
@@ -1,5 +1,8 @@
-#include <stdio.h>
#include <unistd.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/ioctl.h>
#include <libsig_comp.h>
#include <lib/actions/action.h>
@@ -277,6 +280,24 @@ void runMainloop()
void quitMainloop(int exitCode)
{
+ FILE *f = fopen("/proc/stb/fp/was_timer_wakeup", "w");
+ if (f)
+ {
+ fprintf(f, "%d", 0);
+ fclose(f);
+ }
+ else
+ {
+ int fd = open("/dev/dbox/fp0", O_WRONLY);
+ if (fd >= 0)
+ {
+ if (ioctl(fd, 10 /*FP_CLEAR_WAKEUP_TIMER*/) < 0)
+ eDebug("FP_CLEAR_WAKEUP_TIMER failed (%m)");
+ close(fd);
+ }
+ else
+ eDebug("open /dev/dbox/fp0 for wakeup timer clear failed!(%m)");
+ }
exit_code = exitCode;
eApp->quit(0);
}