]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/apmd/apmd-3.2.2/zaurus24.patch
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / apmd / apmd-3.2.2 / zaurus24.patch
1 Index: apmd-3.2.2.orig/apm.c
2 ===================================================================
3 --- apmd-3.2.2.orig.orig/apm.c  2004-01-04 08:23:08.000000000 +0100
4 +++ apmd-3.2.2.orig/apm.c       2006-02-28 14:22:38.227003952 +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,23 @@
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 +                   remove("/var/run/apmd.pid");
44 +               }
45 +
46 +               kill(apmd_pid, SIGKILL);
47 +           }
48 +       }
49         error = apm_suspend(fd);
50         break;
51      case STANDBY: