diff options
author | wbx <wbx@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2005-03-20 03:37:44 +0000 |
---|---|---|
committer | wbx <wbx@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2005-03-20 03:37:44 +0000 |
commit | 730e1e976fcaea99aecf7e75ef966e8fa223d897 (patch) | |
tree | b50ed1558898f2be8aaed56e6e4afdc72200b8d5 /package/lcd4linux/patches/patch-drv_generic_parport_c | |
parent | 0c59f6437a955c21c2c9fc9ec7818564b06406ac (diff) |
add lcd4version. compiles now, but i have no clue if it will work with some lcd displays
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@402 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/lcd4linux/patches/patch-drv_generic_parport_c')
-rw-r--r-- | package/lcd4linux/patches/patch-drv_generic_parport_c | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/package/lcd4linux/patches/patch-drv_generic_parport_c b/package/lcd4linux/patches/patch-drv_generic_parport_c new file mode 100644 index 000000000..f029ffb17 --- /dev/null +++ b/package/lcd4linux/patches/patch-drv_generic_parport_c @@ -0,0 +1,109 @@ +--- lcd4linux-0.10.0-RC1/drv_generic_parport.c 2005-01-06 17:54:54.000000000 +0100 ++++ lcd/drv_generic_parport.c 2005-03-20 01:20:48.052255953 +0100 +@@ -359,13 +359,12 @@ + #ifdef WITH_PPDEV + if (PPdev) { + ioctl (PPfd, PPDATADIR, &direction); +- } else ++ } ++#else ++ /* code stolen from linux/parport_pc.h */ ++ ctr = (ctr & ~0x20) ^ (direction?0x20:0x00); ++ outb (ctr, Port+2); + #endif +- { +- /* code stolen from linux/parport_pc.h */ +- ctr = (ctr & ~0x20) ^ (direction?0x20:0x00); +- outb (ctr, Port+2); +- } + } + + +@@ -383,11 +382,10 @@ + #ifdef WITH_PPDEV + if (PPdev) { + ioctl (PPfd, PPRSTATUS, &data); +- } else ++ } ++#else ++ data = inb (Port+1); + #endif +- { +- data = inb (Port+1); +- } + + /* clear unused bits */ + data &= mask; +@@ -413,13 +411,12 @@ + frob.mask=mask; + frob.val=val; + ioctl (PPfd, PPFCONTROL, &frob); +- } else ++ } ++#else ++ /* code stolen from linux/parport_pc.h */ ++ ctr = (ctr & ~mask) ^ val; ++ outb (ctr, Port+2); + #endif +- { +- /* code stolen from linux/parport_pc.h */ +- ctr = (ctr & ~mask) ^ val; +- outb (ctr, Port+2); +- } + } + + +@@ -456,9 +453,9 @@ + frob.val = value2; + ioctl (PPfd, PPFCONTROL, &frob); + +- } else +-#endif +- { ++ } ++#else ++ + /* rise */ + ctr = (ctr & ~bits) ^ value1; + outb (ctr, Port+2); +@@ -469,7 +466,8 @@ + /* lower */ + ctr = (ctr & ~bits) ^ value2; + outb (ctr, Port+2); +- } ++ ++#endif + } + + +@@ -478,11 +476,11 @@ + #ifdef WITH_PPDEV + if (PPdev) { + ioctl(PPfd, PPWDATA, &data); +- } else ++ } ++#else ++ outb (data, Port); + #endif +- { +- outb (data, Port); +- } ++ + } + + unsigned char drv_generic_parport_read (void) +@@ -492,11 +490,10 @@ + #ifdef WITH_PPDEV + if (PPdev) { + ioctl (PPfd, PPRDATA, &data); +- } else ++ } ++#else ++ data=inb (Port); + #endif +- { +- data=inb (Port); +- } + return data; + } + |