summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Buchholz <rbu@gentoo.org>2007-10-26 09:40:44 +0000
committerRobert Buchholz <rbu@gentoo.org>2007-10-26 09:40:44 +0000
commitebac902431eaa69cc41760ff9590877e742d1fbc (patch)
tree8f7a2485c86c4378264b6c3431f207d0632338f3 /app-misc/lcd4linux/files
parentChanged SRC_URI to mirror://gentoo (diff)
downloadgentoo-2-ebac902431eaa69cc41760ff9590877e742d1fbc.tar.gz
gentoo-2-ebac902431eaa69cc41760ff9590877e742d1fbc.tar.bz2
gentoo-2-ebac902431eaa69cc41760ff9590877e742d1fbc.zip
Fix compilation with linux-headers, clean up old.
(Portage version: 2.1.3.14)
Diffstat (limited to 'app-misc/lcd4linux/files')
-rw-r--r--app-misc/lcd4linux/files/digest-lcd4linux-0.10.1_rc2-r23
-rw-r--r--app-misc/lcd4linux/files/digest-lcd4linux-0.9.113
-rw-r--r--app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-nordtsc.patch187
-rw-r--r--app-misc/lcd4linux/files/lcd4linux-0.9.11-modular-x.patch15
4 files changed, 190 insertions, 18 deletions
diff --git a/app-misc/lcd4linux/files/digest-lcd4linux-0.10.1_rc2-r2 b/app-misc/lcd4linux/files/digest-lcd4linux-0.10.1_rc2-r2
new file mode 100644
index 000000000000..fb0122326135
--- /dev/null
+++ b/app-misc/lcd4linux/files/digest-lcd4linux-0.10.1_rc2-r2
@@ -0,0 +1,3 @@
+MD5 a64c40feb74862cb4a91281bc7737f72 lcd4linux-0.10.1-RC2.tar.gz 386188
+RMD160 5f4465d20c26e43aea79150cad00141d63bb784d lcd4linux-0.10.1-RC2.tar.gz 386188
+SHA256 9e69ded08dc9a8c75f36a3c020e7aa96b90313d91b2f58add6d4dfff1f8861b0 lcd4linux-0.10.1-RC2.tar.gz 386188
diff --git a/app-misc/lcd4linux/files/digest-lcd4linux-0.9.11 b/app-misc/lcd4linux/files/digest-lcd4linux-0.9.11
deleted file mode 100644
index 835ec66b6046..000000000000
--- a/app-misc/lcd4linux/files/digest-lcd4linux-0.9.11
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 fabbc58e9118570c1f57ae90743e4859 lcd4linux-0.9.11.tar.gz 218557
-RMD160 55257d7c5951938ce7a1b878935139e436514ef0 lcd4linux-0.9.11.tar.gz 218557
-SHA256 7d90fd3fbd5907c1db56f78b88eddaf80cef9b2012214ad3118f9b6f72c35627 lcd4linux-0.9.11.tar.gz 218557
diff --git a/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-nordtsc.patch b/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-nordtsc.patch
new file mode 100644
index 000000000000..b25d01e8e901
--- /dev/null
+++ b/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-nordtsc.patch
@@ -0,0 +1,187 @@
+kMessage-ID: <47011930.60100@reinelt.co.at>
+Date: Mon, 01 Oct 2007 17:58:40 +0200
+From: Michael Reinelt <michael@reinelt.co.at>
+Subject: [Lcd4linux-devel] asm/msr.h inclusion and RDTSC stuff removed
+
+Hi there,
+
+I just committed a changeset where I removed the whole RDTSC delay loop
+stuff, and therefore lcd4linux does no longer need asm/msr.h
+
+Instead, a gettimeofday() delay loop will be used when necessary.
+
+The rdtsc stuff worked fine, but had two major disadvantages: It did not
+work with variable CPU frequencies, and latest kernels do no longer
+offer the rdtsc() macro.
+
+The changeset has been committed to trunk, and will be backported to the
+0.10.1 branch as soon as I get some positive feedback 8or at least I
+don't get any negative feedback)
+
+
+bye, Michael
+
+--
+Michael Reinelt <michael@reinelt.co.at>
+http://home.pages.at/reinelt
+GPG-Key 0xDF13BA50
+ICQ #288386781
+
+Index: configure.in
+===================================================================
+--- lcd4linux-0.10.1-RC2/configure.in.orig
++++ lcd4linux-0.10.1-RC2/configure.in
+@@ -99,7 +99,6 @@ AC_HEADER_STDC
+ AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h sys/vfs.h syslog.h termios.h unistd.h])
+ AC_CHECK_HEADERS(sys/io.h asm/io.h)
+ AC_CHECK_HEADERS(linux/parport.h linux/ppdev.h)
+-AC_CHECK_HEADERS(asm/msr.h)
+
+ # Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
+Index: udelay.c
+===================================================================
+--- lcd4linux-0.10.1-RC2/udelay.c.orig
++++ lcd4linux-0.10.1-RC2/udelay.c
+@@ -55,11 +55,6 @@
+ #include <string.h>
+ #include <sys/time.h>
+
+-#ifdef HAVE_ASM_MSR_H
+-#define u32 unsigned int
+-#include <asm/msr.h>
+-#endif
+-
+
+ #include "debug.h"
+ #include "cfg.h"
+@@ -67,79 +62,10 @@
+ #include "udelay.h"
+
+
+-static unsigned int ticks_per_usec = 0;
+-
+-
+-static void getCPUinfo(int *hasTSC, double *MHz)
+-{
+- int fd;
+- char buffer[4096], *p;
+-
+- *hasTSC = 0;
+- *MHz = -1;
+-
+- fd = open("/proc/cpuinfo", O_RDONLY);
+- if (fd == -1) {
+- error("udelay: open(/proc/cpuinfo) failed: %s", strerror(errno));
+- return;
+- }
+- if (read(fd, &buffer, sizeof(buffer) - 1) == -1) {
+- error("udelay: read(/proc/cpuinfo) failed: %s", strerror(errno));
+- close(fd);
+- return;
+- }
+- close(fd);
+-
+- p = strstr(buffer, "flags");
+- if (p == NULL) {
+- info("udelay: /proc/cpuinfo has no 'flags' line");
+- } else {
+- p = strstr(p, "tsc");
+- if (p == NULL) {
+- info("udelay: CPU does not support Time Stamp Counter");
+- } else {
+- info("udelay: CPU supports Time Stamp Counter");
+- *hasTSC = 1;
+- }
+- }
+-
+- p = strstr(buffer, "cpu MHz");
+- if (p == NULL) {
+- info("udelay: /proc/cpuinfo has no 'cpu MHz' line");
+- } else {
+- if (sscanf(p + 7, " : %lf", MHz) != 1) {
+- error("udelay: parse(/proc/cpuinfo) failed: unknown 'cpu MHz' format");
+- *MHz = -1;
+- } else {
+- info("udelay: CPU runs at %f MHz", *MHz);
+- }
+- }
+-
+-}
+-
+
+ void udelay_init(void)
+ {
+-#ifdef HAVE_ASM_MSR_H
+-
+- int tsc;
+- double mhz;
+-
+- getCPUinfo(&tsc, &mhz);
+-
+- if (tsc && mhz > 0.0) {
+- ticks_per_usec = ceil(mhz);
+- info("udelay: using TSC delay loop, %u ticks per microsecond", ticks_per_usec);
+- } else
+-#else
+- error("udelay: The file 'include/asm/msr.h' was missing at compile time.");
+- error("udelay: Even if your CPU supports TSC, it will not be used!");
+- error("udelay: You *really* should install msr.h and recompile LCD4linux!");
+-#endif
+- {
+- ticks_per_usec = 0;
+- info("udelay: using gettimeofday() delay loop");
+- }
++ info("udelay: using gettimeofday() delay loop");
+ }
+
+
+@@ -172,37 +98,17 @@ unsigned long timing(const char *driver,
+ void ndelay(const unsigned long nsec)
+ {
+
+-#ifdef HAVE_ASM_MSR_H
+-
+- if (ticks_per_usec) {
++ struct timeval now, end;
+
+- unsigned int t1, t2;
+- unsigned long tsc;
+-
+- tsc = (nsec * ticks_per_usec + 999) / 1000;
+-
+- rdtscl(t1);
+- do {
+- rep_nop();
+- rdtscl(t2);
+- } while ((t2 - t1) < tsc);
+-
+- } else
+-#endif
+-
+- {
+- struct timeval now, end;
+-
+- gettimeofday(&end, NULL);
+- end.tv_usec += (nsec + 999) / 1000;
+- while (end.tv_usec > 1000000) {
+- end.tv_usec -= 1000000;
+- end.tv_sec++;
+- }
+-
+- do {
+- rep_nop();
+- gettimeofday(&now, NULL);
+- } while (now.tv_sec == end.tv_sec ? now.tv_usec < end.tv_usec : now.tv_sec < end.tv_sec);
++ gettimeofday(&end, NULL);
++ end.tv_usec += (nsec + 999) / 1000;
++ while (end.tv_usec > 1000000) {
++ end.tv_usec -= 1000000;
++ end.tv_sec++;
+ }
++
++ do {
++ rep_nop();
++ gettimeofday(&now, NULL);
++ } while (now.tv_sec == end.tv_sec ? now.tv_usec < end.tv_usec : now.tv_sec < end.tv_sec);
+ }
diff --git a/app-misc/lcd4linux/files/lcd4linux-0.9.11-modular-x.patch b/app-misc/lcd4linux/files/lcd4linux-0.9.11-modular-x.patch
deleted file mode 100644
index dc7651517f1d..000000000000
--- a/app-misc/lcd4linux/files/lcd4linux-0.9.11-modular-x.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- configure.in.orig 2006-10-23 02:23:15.000000000 +0200
-+++ configure.in 2006-10-23 02:24:45.000000000 +0200
-@@ -228,7 +228,11 @@
- AC_MSG_ERROR(X11 headers or libraries not available: X11 driver disabled)
- else
- DRIVERS="$DRIVERS XWindow.o"
-- DRVLIBS="$DRVLIBS -L$ac_x_libraries -lX11"
-+ if test "x$ac_x_libraries" = "x"; then
-+ DRVLIBS="$DRVLIBS -lX11"
-+ else
-+ DRVLIBS="$DRVLIBS -L$ac_x_libraries -lX11"
-+ fi
- AC_DEFINE(WITH_X11,1,[junk])
- fi
- fi