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
master
Waldemar Brodkorb 2005-03-20 03:37:44 +00:00
parent 43f37f0ecc
commit 00772f36e0
8 changed files with 215 additions and 0 deletions

View File

@ -12,6 +12,7 @@ comment "Applications"
source "package/haserl/Config.in"
source "package/microperl/Config.in"
source "package/strace/Config.in"
source "package/lcd4linux/Config.in"
comment "Networking"
source "package/tcpdump/Config.in"

View File

@ -26,6 +26,7 @@ package-$(BR2_PACKAGE_MICROPERL) += microperl
package-$(BR2_PACKAGE_LIBELF) += libelf
package-$(BR2_PACKAGE_STRACE) += strace
package-$(BR2_PACKAGE_TCPDUMP) += tcpdump
package-$(BR2_PACKAGE_LCD4LINUX) += lcd4linux
all: compile install
clean: $(patsubst %,%-clean,$(package-) $(package-y) $(package-m)) linux-clean

View File

@ -0,0 +1,7 @@
config BR2_PACKAGE_LCD4LINUX
tristate "lcd4linux"
select BR2_PACKAGE_NCURSES
default m
help
LCD4Linux
https://ssl.bulix.org/projects/lcd4linux/wiki/Howto

View File

@ -0,0 +1,66 @@
#############################################################
#
# lcd4linux
#
#############################################################
include $(TOPDIR)/rules.mk
PKG_NAME:=lcd4linux
PKG_VERSION:=0.10.0-RC1
PKG_RELEASE:=1
PKG_MD5SUM:=bab64ac01ebdce7e46ab367351af839f
PKG_SOURCE_URL:=@SF/lcd4linux/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_CAT:=zcat
PKG_IPK:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
PKG_IPK_DIR:=$(PKG_BUILD_DIR)/ipkg
$(DL_DIR)/$(PKG_SOURCE):
$(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE) $(PKG_MD5SUM) $(PKG_SOURCE_URL)
$(PKG_BUILD_DIR)/.unpacked: $(DL_DIR)/$(PKG_SOURCE)
$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $(PKG_BUILD_DIR)/.unpacked
$(PKG_BUILD_DIR)/.patched: $(PKG_BUILD_DIR)/.unpacked
$(PATCH) $(PKG_BUILD_DIR) ./patches
touch $(PKG_BUILD_DIR)/.patched
$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.patched
(cd $(PKG_BUILD_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--sysconfdir=/etc \
--with-drivers='all,!RouterBoard,!X11' \
--with-plugins=wireless )
touch $(PKG_BUILD_DIR)/.configured
$(PKG_BUILD_DIR)/lcd4linux: $(PKG_BUILD_DIR)/.configured
$(MAKE) -C $(PKG_BUILD_DIR) \
CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld \
CFLAGS="$(TARGET_CFLAGS) -O2 -Wall -L$(STAGING_DIR)/usr/lib -I$(STAGING_DIR)/usr/include"
$(PKG_IPK): $(PKG_BUILD_DIR)/lcd4linux
$(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_IPK_DIR) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
mkdir -p $(PKG_IPK_DIR)/usr/bin
cp $(PKG_BUILD_DIR)/lcd4linux $(PKG_IPK_DIR)/usr/bin/
mkdir -p $(PACKAGE_DIR)
$(IPKG_BUILD) $(PKG_IPK_DIR) $(PACKAGE_DIR)
$(IPKG_STATE_DIR)/info/lcd4linux.list: $(PKG_IPK)
$(IPKG) install $(PKG_IPK)
source: $(DL_DIR)/$(PKG_SOURCE)
prepare: $(PKG_BUILD_DIR)/.unpacked
compile: $(PKG_IPK)
install: $(IPKG_STATE_DIR)/info/lcd4linux.list
clean:
rm -rf $(PKG_BUILD_DIR)
rm -f $(PKG_IPK)

View File

@ -0,0 +1,9 @@
Package: lcd4linux
Priority: optional
Section: apps
Version: 0.10.0
Architecture: mipsel
Maintainer: Waldemar Brodkorb <wbx@dass-it.de>
Source: buildroot internal
Description: lcd software
Depends: ncurses

View File

@ -0,0 +1,11 @@
--- 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 @@
#include <string.h>
#include <errno.h>
#include <unistd.h>
-#include <sys/io.h>
+#include <asm/io.h>
#include "debug.h"
#include "cfg.h"

View File

@ -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;
}

View File

@ -0,0 +1,11 @@
--- lcd4linux-0.10.0-RC1/udelay.h 2004-06-26 14:05:00.000000000 +0200
+++ lcd-patched/udelay.h 2005-03-19 15:00:54.835892666 +0100
@@ -69,7 +69,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");
}