summaryrefslogtreecommitdiffstats
path: root/graphics/picturebook/files/patch-ba
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/picturebook/files/patch-ba')
-rw-r--r--graphics/picturebook/files/patch-ba92
1 files changed, 92 insertions, 0 deletions
diff --git a/graphics/picturebook/files/patch-ba b/graphics/picturebook/files/patch-ba
new file mode 100644
index 0000000..0bae753
--- /dev/null
+++ b/graphics/picturebook/files/patch-ba
@@ -0,0 +1,92 @@
+--- setbrightness.c.orig Tue Dec 12 09:42:20 2000
++++ setbrightness.c Mon Jul 30 14:29:54 2001
+@@ -4,17 +4,47 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <errno.h>
++#ifdef LINUX
+ #include <sys/io.h>
++#endif
+ #include <sys/mman.h>
+ #include <dirent.h>
+ #include <ctype.h>
++#ifdef LINUX
+ #include <malloc.h>
++#endif
+ #include <string.h>
+ #include <signal.h>
++#ifdef HAVE_GETOPT_H
+ #include <getopt.h>
++#endif
++#ifdef LINUX
+ #include <linux/pci.h>
++#endif
+ #include <sys/time.h>
+
++#ifdef __FreeBSD__
++#include <machine/cpufunc.h>
++static int deviofd=-1;
++static int iopl(int lvl)
++{
++ if(lvl==0){
++ if(deviofd!=-1){
++ close(deviofd);
++ deviofd=-1;
++ }
++ return 0;
++ }else if(lvl==3){
++ if(deviofd==-1){
++ deviofd=open("/dev/io",0);
++ }
++ return deviofd;
++ }
++ return -1;
++}
++
++#endif
++
+
+ #define DATA_REG 0x62
+ #define CST_REG 0x66
+@@ -24,28 +54,35 @@
+ static void ecr_set(u16 addr, u16 value)
+ {
+ while (inw(CST_REG) & 3) usleep(1);
+- outw(0x81, CST_REG);
++ outw(CST_REG, 0x81);
+ while (inw(CST_REG) & 2) usleep(1);
+- outw(addr, DATA_REG);
++ outw(DATA_REG, addr);
+ while (inw(CST_REG) & 2) usleep(1);
+- outw(value, DATA_REG);
++ outw(DATA_REG, value);
+ while (inw(CST_REG) & 2) usleep(1);
+ }
+
+ static u16 ecr_get(u16 addr)
+ {
+ while (inw(CST_REG) & 3) usleep(1);
+- outb(0x80, CST_REG);
++ outb(CST_REG, 0x80);
+ while (inw(CST_REG) & 2) usleep(1);
+- outb(addr, DATA_REG);
++ outb(DATA_REG, addr);
+ while (inw(CST_REG) & 2) usleep(1);
+ return inw(DATA_REG);
+ }
+
+ int main(int argc, char *argv[])
+ {
++ if(open("/dev/io", O_RDWR, 0) < 0)
++ {
++ perror("/dev/io");
++ return 1;
++ }
+ iopl(3);
+ printf("currently %x\n", ecr_get(0x96));
+- ecr_set(0x96, atoi(argv[1]));
++ if ( argv[1] != NULL ){
++ ecr_set(0x96, atoi(argv[1]));
++ }
+ return 0;
+ }
OpenPOWER on IntegriCloud