lcd4linux: fix compile (#1981)
git-svn-id: svn://svn.openwrt.org/openwrt/packages@7886 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
529da9648f
commit
5b28541f6b
@ -10,13 +10,12 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
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
|
||||
|
||||
@ -37,9 +36,9 @@ endef
|
||||
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 \
|
||||
|
@ -1,6 +1,8 @@
|
||||
--- 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>
|
||||
|
@ -1,12 +0,0 @@
|
||||
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");
|
||||
}
|
||||
|
||||
|
150
utils/lcd4linux/patches/110-udelay.patch
Normal file
150
utils/lcd4linux/patches/110-udelay.patch
Normal file
@ -0,0 +1,150 @@
|
||||
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
|
@ -1,21 +1,7 @@
|
||||
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>
|
||||
@ -33,3 +19,15 @@ diff -ur lcd4linux.old/drv_generic_parport.c lcd4linux.dev/drv_generic_parport.c
|
||||
#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
|
||||
|
@ -1,6 +1,7 @@
|
||||
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>
|
||||
|
24
utils/lcd4linux/patches/140-no_repnop_T6963.patch
Normal file
24
utils/lcd4linux/patches/140-no_repnop_T6963.patch
Normal file
@ -0,0 +1,24 @@
|
||||
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;
|
Loading…
x
Reference in New Issue
Block a user