diff options
Diffstat (limited to 'meta/packages/apmd/apmd-3.2.2/zaurus24.patch')
-rw-r--r-- | meta/packages/apmd/apmd-3.2.2/zaurus24.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/meta/packages/apmd/apmd-3.2.2/zaurus24.patch b/meta/packages/apmd/apmd-3.2.2/zaurus24.patch new file mode 100644 index 0000000000..5df016ab77 --- /dev/null +++ b/meta/packages/apmd/apmd-3.2.2/zaurus24.patch | |||
@@ -0,0 +1,50 @@ | |||
1 | Index: apmd-3.2.2.orig/apm.c | ||
2 | =================================================================== | ||
3 | --- apmd-3.2.2.orig.orig/apm.c 2006-01-26 15:15:27.000000000 +0100 | ||
4 | +++ apmd-3.2.2.orig/apm.c 2006-01-26 17:50:14.000000000 +0100 | ||
5 | @@ -24,10 +24,12 @@ | ||
6 | #include <unistd.h> | ||
7 | #include <sys/types.h> | ||
8 | #include <sys/stat.h> | ||
9 | +#include <sys/utsname.h> | ||
10 | #include <fcntl.h> | ||
11 | #include <errno.h> | ||
12 | #include <time.h> | ||
13 | #include <getopt.h> | ||
14 | +#include <signal.h> | ||
15 | #include "apm.h" | ||
16 | |||
17 | static int verbose = 0; | ||
18 | @@ -43,6 +45,9 @@ | ||
19 | int fd; | ||
20 | time_t then, now; | ||
21 | int error; | ||
22 | + FILE* pid_file; | ||
23 | + int apmd_pid; | ||
24 | + struct utsname uname_ver; | ||
25 | |||
26 | fd = open(APM_DEVICE, O_WRONLY); | ||
27 | if (fd < 0) | ||
28 | @@ -54,6 +59,22 @@ | ||
29 | switch (mode) | ||
30 | { | ||
31 | case SUSPEND: | ||
32 | + if(0 == system("grep -i hardware /proc/cpuinfo|grep -i SHARP")) | ||
33 | + { | ||
34 | + uname(&uname_ver); | ||
35 | + | ||
36 | + if(0 == strncmp("2.4", uname_ver.release, 3)) | ||
37 | + { | ||
38 | + pid_file = fopen("/var/run/apmd.pid", "r"); | ||
39 | + if(pid_file) | ||
40 | + { | ||
41 | + fscanf(pid_file, "%d", &apmd_pid); | ||
42 | + fclose(pid_file); | ||
43 | + } | ||
44 | + | ||
45 | + kill(apmd_pid, SIGKILL); | ||
46 | + } | ||
47 | + } | ||
48 | error = apm_suspend(fd); | ||
49 | break; | ||
50 | case STANDBY: | ||