PKG_NAME:=lcd4linux
PKG_VERSION:=0.10.0+cvs20051015
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/main/l/lcd4linux/ \
- http://ftp.de.debian.org/debian/pool/main/l/lcd4linux/
+ http://ftp.de.debian.org/debian/pool/main/l/lcd4linux/
PKG_MD5SUM:=5b5ac629be4bb5c29104fb8f6b7fa444
-PKG_CAT:=zcat
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).orig
PKG_CONFIGURE_DRIVERS:=all,!PNG,!RouterBoard,!X11
CONFIGURE_ARGS += \
- --without-x \
- --with-drivers="$(PKG_CONFIGURE_DRIVERS)" \
- --with-plugins=wireless
+ --without-x \
+ --with-drivers="$(PKG_CONFIGURE_DRIVERS)" \
+ --with-plugins=wireless
define Build/Configure
(cd $(PKG_BUILD_DIR); touch \
---- lcd4linux-0.10.0-RC1/drv_RouterBoard.c 2004-08-30 15:20:45.000000000 +0200
-+++ lcd-patched/drv_RouterBoard.c 2005-03-19 16:03:26.849650830 +0100
-@@ -113,7 +113,7 @@
+Index: lcd4linux-0.10.0+cvs20051015.orig/drv_RouterBoard.c
+===================================================================
+--- lcd4linux-0.10.0+cvs20051015.orig.orig/drv_RouterBoard.c 2007-07-07 14:02:56.000000000 +0200
++++ lcd4linux-0.10.0+cvs20051015.orig/drv_RouterBoard.c 2007-07-07 14:02:56.000000000 +0200
+@@ -120,7 +120,7 @@
#include <string.h>
#include <errno.h>
#include <unistd.h>
+++ /dev/null
-diff -urN lcd4linux.old/udelay.h lcd4linux.dev/udelay.h
---- lcd4linux.old/udelay.h 2005-05-08 06:32:45.000000000 +0200
-+++ lcd4linux.dev/udelay.h 2006-01-20 03:50:36.806897500 +0100
-@@ -76,7 +76,7 @@
- /* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */
- static inline void rep_nop(void)
- {
-- __asm__ __volatile__("rep; nop");
-+ __asm__ __volatile__("nop");
- }
-
-
--- /dev/null
+Index: lcd4linux-0.10.0+cvs20051015.orig/udelay.c
+===================================================================
+--- lcd4linux-0.10.0+cvs20051015.orig.orig/udelay.c 2007-07-07 14:02:55.000000000 +0200
++++ lcd4linux-0.10.0+cvs20051015.orig/udelay.c 2007-07-07 14:02:56.000000000 +0200
+@@ -134,28 +134,11 @@
+ #include <stdio.h>
+
+
+-#ifdef USE_OLD_UDELAY
+-
+-#include <time.h>
+-
+-#else
+-
+-#include <math.h>
+-#include <unistd.h>
+-#include <fcntl.h>
+-#include <errno.h>
+-#include <string.h>
+-#include <sys/time.h>
+-
+-#ifdef HAVE_ASM_MSR_H
+-#include <asm/msr.h>
+-#endif
+-
+-#endif
+-
+-
+ #include "debug.h"
+ #include "udelay.h"
++
++#include <time.h>
++#include <errno.h>
+
+ #ifdef USE_OLD_UDELAY
+
+@@ -163,16 +146,30 @@
+
+ void ndelay(const unsigned long nsec)
+ {
++#if 0
+ unsigned long loop = (nsec * loops_per_usec + 999) / 1000;
+
+ __asm__(".align 16\n" "1:\tdecl %0\n" "\tjne 1b": /* no result */
+ :"a"(loop));
++#endif
++ struct timespec val;
++ struct timespec rem;
++ int ret;
++
++ val.tv_sec = 0;
++ val.tv_nsec = nsec;
++
++ do {
++ ret = nanosleep(&val, &rem);
++ val = rem;
++ } while ((ret == -1) && (errno == EINTR));
+ }
+
+ /* adopted from /usr/src/linux/init/main.c */
+
+ void udelay_calibrate(void)
+ {
++#if 0
+ clock_t tick;
+ unsigned long bit;
+
+@@ -197,12 +194,13 @@
+ if (clock() > tick)
+ loops_per_usec &= ~bit;
+ }
++#endif
+ }
+
+ #else
+
+ static unsigned int ticks_per_usec = 0;
+-
++#if 0
+ static void getCPUinfo(int *hasTSC, double *MHz)
+ {
+ int fd;
+@@ -249,10 +247,11 @@
+ }
+
+ }
+-
++#endif
+
+ void udelay_init(void)
+ {
++#if 0
+ #ifdef HAVE_ASM_MSR_H
+
+ int tsc;
+@@ -274,12 +273,13 @@
+ ticks_per_usec = 0;
+ info("udelay: using gettimeofday() delay loop");
+ }
++#endif
+ }
+
+
+ void ndelay(const unsigned long nsec)
+ {
+-
++#if 0
+ #ifdef HAVE_ASM_MSR_H
+
+ if (ticks_per_usec) {
+@@ -313,6 +313,20 @@
+ gettimeofday(&now, NULL);
+ } while (now.tv_sec == end.tv_sec ? now.tv_usec < end.tv_usec : now.tv_sec < end.tv_sec);
+ }
++#endif
++
++ struct timespec val;
++ struct timespec rem;
++ int ret;
++
++ val.tv_sec = 0;
++ val.tv_nsec = nsec;
++
++ do {
++ ret = nanosleep(&val, &rem);
++ val = rem;
++ } while ((ret == -1) && (errno == EINTR));
++
+ }
+
+ #endif
+Index: lcd4linux-0.10.0+cvs20051015.orig/udelay.h
+===================================================================
+--- lcd4linux-0.10.0+cvs20051015.orig.orig/udelay.h 2007-07-07 14:02:56.000000000 +0200
++++ lcd4linux-0.10.0+cvs20051015.orig/udelay.h 2007-07-07 14:02:56.000000000 +0200
+@@ -72,12 +72,14 @@
+ #ifndef _UDELAY_H_
+ #define _UDELAY_H_
+
++#if 0
+ /* stolen from linux/asm-i386/processor.h */
+ /* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */
+ static inline void rep_nop(void)
+ {
+ __asm__ __volatile__("rep; nop");
+ }
++#endif
+
+
+ #ifdef USE_OLD_UDELAY
-diff -urN lcd4linux.old/drv_generic_parport.c lcd4linux.dev/drv_generic_parport.c
---- lcd4linux.old/drv_generic_parport.c 2006-01-20 03:52:18.426419500 +0100
-+++ lcd4linux.dev/drv_generic_parport.c 2006-01-20 03:57:59.205263500 +0100
-@@ -134,6 +134,11 @@
- #define PARPORT_STATUS_BUSY 0x80
- #endif
-
-+#ifndef WITH_OUTB
-+#define inb(foo) 0
-+#define outb(foo,bar) 0
-+#endif
-+
- #if !defined(WITH_OUTB) && !defined(WITH_PPDEV)
- #error neither outb() nor ppdev() possible
- #error cannot compile parallel port driver
-diff -ur lcd4linux.old/drv_generic_parport.c lcd4linux.dev/drv_generic_parport.c
---- lcd4linux.old/drv_generic_parport.c 2007-03-24 18:14:55.706590000 +0100
-+++ lcd4linux.dev/drv_generic_parport.c 2007-03-24 18:15:20.036891568 +0100
+Index: lcd4linux-0.10.0+cvs20051015.orig/drv_generic_parport.c
+===================================================================
+--- lcd4linux-0.10.0+cvs20051015.orig.orig/drv_generic_parport.c 2007-07-07 14:02:55.000000000 +0200
++++ lcd4linux-0.10.0+cvs20051015.orig/drv_generic_parport.c 2007-07-07 14:02:57.000000000 +0200
@@ -117,16 +117,6 @@
#include <sys/stat.h>
#include <sys/ioctl.h>
#if defined (HAVE_LINUX_PARPORT_H) && defined (HAVE_LINUX_PPDEV_H)
#define WITH_PPDEV
#include <linux/parport.h>
+@@ -143,6 +133,11 @@
+ #define PARPORT_STATUS_BUSY 0x80
+ #endif
+
++#ifndef WITH_OUTB
++#define inb(foo) 0
++#define outb(foo,bar) 0
++#endif
++
+ #if !defined(WITH_OUTB) && !defined(WITH_PPDEV)
+ #error neither outb() nor ppdev() possible
+ #error cannot compile parallel port driver
-diff -ruN lcd4linux-0.10.0+cvs20051015-old/plugin_wireless.c lcd4linux-0.10.0+cvs20051015-new/plugin_wireless.c
---- lcd4linux-0.10.0+cvs20051015-old/plugin_wireless.c 2005-05-08 06:32:45.000000000 +0200
-+++ lcd4linux-0.10.0+cvs20051015-new/plugin_wireless.c 2007-01-10 01:08:13.000000000 +0100
+Index: lcd4linux-0.10.0+cvs20051015.orig/plugin_wireless.c
+===================================================================
+--- lcd4linux-0.10.0+cvs20051015.orig.orig/plugin_wireless.c 2007-07-07 14:02:55.000000000 +0200
++++ lcd4linux-0.10.0+cvs20051015.orig/plugin_wireless.c 2007-07-07 14:02:57.000000000 +0200
@@ -92,6 +92,11 @@
#include <sys/ioctl.h>
--- /dev/null
+Index: lcd4linux-0.10.0+cvs20051015.orig/drv_T6963.c
+===================================================================
+--- lcd4linux-0.10.0+cvs20051015.orig.orig/drv_T6963.c 2007-07-07 14:02:55.000000000 +0200
++++ lcd4linux-0.10.0+cvs20051015.orig/drv_T6963.c 2007-07-07 14:02:57.000000000 +0200
+@@ -170,7 +170,9 @@
+ /* wait for STA0=1 and STA1=1 */
+ n = 0;
+ do {
++#if 0
+ rep_nop();
++#endif
+ if (++n > 1000) {
+ debug("hang in status1");
+ bug = 1;
+@@ -206,7 +208,9 @@
+ /* wait for STA3=1 */
+ n = 0;
+ do {
++#if 0
+ rep_nop();
++#endif
+ if (++n > 1000) {
+ debug("hang in status2");
+ bug = 1;