aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drv_LCDLinux.c10
-rw-r--r--drv_LCDLinux.h56
2 files changed, 44 insertions, 22 deletions
diff --git a/drv_LCDLinux.c b/drv_LCDLinux.c
index 50688b0..526c82d 100644
--- a/drv_LCDLinux.c
+++ b/drv_LCDLinux.c
@@ -1,4 +1,4 @@
-/* $Id: drv_LCDLinux.c,v 1.8 2005/05/08 04:32:44 reinelt Exp $
+/* $Id: drv_LCDLinux.c,v 1.9 2005/06/15 05:24:35 reinelt Exp $
*
* driver for the LCD-Linux HD44780 kernel driver
* http://lcd-linux.sourceforge.net
@@ -24,6 +24,9 @@
*
*
* $Log: drv_LCDLinux.c,v $
+ * Revision 1.9 2005/06/15 05:24:35 reinelt
+ * updated LCD-Linux driver to version 0.8.9
+ *
* Revision 1.8 2005/05/08 04:32:44 reinelt
* CodingStyle added and applied
*
@@ -81,6 +84,7 @@
#include "drv.h"
#include "drv_generic_text.h"
+#define HD44780_MAIN
#include "drv_LCDLinux.h"
@@ -190,8 +194,12 @@ static int drv_LL_start(const char *section, const int quiet)
}
info("%s: %dx%d display at 0x%x, %d controllers, flags=0x%02x:", Name, buf.disp_cols, buf.cntr_rows, buf.io, buf.num_cntr, buf.flags);
+
+#if 0
+ /* these two flags vanished with release 0.8.9 */
info("%s: /proc support %sabled", Name, buf.flags & LCD_PROC_ON ? "en" : "dis");
info("%s: tty support %sabled", Name, buf.flags & LCD_ETTY_ON ? "en" : "dis");
+#endif
info("%s: console support %sabled", Name, buf.flags & LCD_CONSOLE ? "en" : "dis");
info("%s: bus width %d bits", Name, buf.flags & LCD_4BITS_BUS ? 4 : 8);
info("%s: font size %s", Name, buf.flags & LCD_5X10_FONT ? "5x10" : "5x8");
diff --git a/drv_LCDLinux.h b/drv_LCDLinux.h
index af638c4..1a36454 100644
--- a/drv_LCDLinux.h
+++ b/drv_LCDLinux.h
@@ -1,6 +1,6 @@
/* lcd.h
*
- * $Id: drv_LCDLinux.h,v 1.4 2005/05/08 04:32:44 reinelt Exp $
+ * $Id: drv_LCDLinux.h,v 1.5 2005/06/15 05:24:35 reinelt Exp $
*
* LCD driver for HD44780 compatible displays connected to the parallel port.
*
@@ -24,8 +24,19 @@
*
*/
-#ifndef LCD_H
-#define LCD_H
+#ifndef LCD_LINUX_H
+#define LCD_LINUX_H
+
+#ifndef HD44780_MAIN
+#warning
+#warning LCD-Linux is still in development stage and
+#warning aims at speed and optimization. For these
+#warning reasons there is no guarantee of backward
+#warning compatibility between different LCD-Linux
+#warning versions. Be sure to use the lcd-linux.h
+#warning file of the same version as the module.
+#warning
+#endif
#define LCD_LINUX_VERSION "0.8.9-CVS" /* Version number */
@@ -36,34 +47,37 @@
#include <linux/types.h>
struct lcd_driver {
- /* Hardware */
- unsigned short io; /* Parport base address */
- unsigned short flags; /* Flags (see Documentation) */
+ /* Hardware */
+ unsigned short io; /* Parport base address */
+ unsigned short flags; /* Flags (see Documentation) */
- /* Display geometry */
- unsigned short num_cntr; /* Number of available controllers */
- unsigned short cntr_rows; /* Rows per controller */
- unsigned short disp_cols; /* Columns */
- unsigned short frames; /* Framebuffer frames */
+ /* Display geometry */
+ unsigned short num_cntr; /* Number of available controllers */
+ unsigned short cntr_rows; /* Rows per controller */
+ unsigned short disp_cols; /* Columns */
+ unsigned short frames; /* Framebuffer frames */
- unsigned short tabstop; /* Length of tab character */
+ unsigned short tabstop; /* Length of tab character */
};
/* IOCTLs */
#include <asm/ioctl.h>
#define IOCTL_SET_PARAM _IOW(LCD_MAJOR, 0, struct lcd_driver *)
#define IOCTL_GET_PARAM _IOR(LCD_MAJOR, 1, struct lcd_driver *)
+#define IOCTL_RAW_CMD _IOW(LCD_MAJOR, 2, unsigned char *)
+#define IOCTL_RESET_CHARMAP _IOW(LCD_MAJOR, 3, void *)
+#define IOCTL_SAVE_CHARMAP _IOW(LCD_MAJOR, 4, void *)
+#define IOCTL_RESTORE_CHARMAP _IOW(LCD_MAJOR, 5, void *)
+#define IOCTL_SWAP_CHARMAP _IOW(LCD_MAJOR, 6, void *)
-#define LCD_PROC_ON 0x0001 /* Enable the /proc filesystem support */
-#define LCD_ETTY_ON 0x0002 /* Enable the tty support */
-#define LCD_CONSOLE 0x0004 /* Enable the console support */
-#define LCD_4BITS_BUS 0x0008 /* Set the bus length to 4 bits */
-#define LCD_5X10_FONT 0x0010 /* Use 5x10 dots fonts */
-#define LCD_CHECK_BF 0x0020 /* Do busy flag checking */
+#define LCD_CHECK_BF 0x0001 /* Do busy flag checking */
+#define LCD_CONSOLE 0x0002 /* Enable the console support */
+#define LCD_4BITS_BUS 0x0004 /* Set the bus length to 4 bits */
+#define LCD_5X10_FONT 0x0008 /* Use 5x10 dots fonts */
-#ifdef __KERNEL__ /* The rest is for kernel only */
+#ifdef __KERNEL__ /* The rest is for kernel only */
#include <linux/version.h>
@@ -87,6 +101,6 @@ int lcd_write(const char *, int, unsigned int);
int lcd_read(char *, int, unsigned int);
#endif
-#endif /* __KERNEL__ */
+#endif /* __KERNEL__ */
-#endif /* External interface included */
+#endif /* External interface included */