1
0
Fork 0

Mostly small fixes and cleanups, plus a non-trivial fix for charlcd

- charlcd: fixes and cleanups
     From Robert Abel and Sean Young
 
   - Kconfig fixes
     From Randy Dunlap, Corentin Labbe and Ulf Magnusson
 
   - cfag12864bfb: const cleanup
     From Gustavo A. R. Silva
 
   - Docs/licenses/warnings cleanups
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCgAGBQJbGTx5AAoJEBl8i3NobSFta7EP/0BPFiZQoYcj4Cnao9CX5VKT
 IMJQNfVcMIuhMGKfsEnT/mT4X6LWZEMUoMpbf6hrMs8l9gkvDx41fDVmfOqBSiU7
 7u010Lil/TksFzkETVQdstcE+DvQtD63tmzjAeVOorROmm21WrfD9+AUecpK3P3+
 qWZGw3ErIxtIDFk6zwupZu3KuNqqeRW23i7Dg7Mw+wUsxD1CAfDq0l14dS4q6IsN
 xVYBUm5ku+7uAZXj8eg1/nhrC90qcJ/fcWNi1e993NtaPQiWnZjcC5gilEACa1NM
 cxqhxm1/AFpqMQ0Uco4pj+VBr5B+4bSOcpYcfCS02mIkVHrFYaNu079tKVpRaqKT
 nZkcAJGfe3jxQH1Pjv66ddLROlQsPs7ghwUgGzrNUpy6NZIBRmD+9Vnl2L1bgMkq
 XC1ry1jQqE9pS2uoEKaL0JvqEdNdbIALY/4xbndA9ZYUnd9Noak5tpem4S+9DqBJ
 YSp9dgszQq8sGWMKzqLR4kWZNI4acAV+PgMzoQi04Q7EVP28x9vWFHgkhE3GVzvt
 feZlkkzcVJnPePQxxHfVXHnvdQM2QO13cD2ssJMS/q4DmSrzVsG/aLK7EAc8cN8m
 RSkJc0cZAPbLORfQPuSAxGf7uBjwNxji3NLCRVaHy8hZf/oWSv4s9xzNMXwmc/AD
 c8lnadh/THeWRxxU+6A3
 =SYoI
 -----END PGP SIGNATURE-----

Merge tag 'auxdisplay-for-linus-v4.18-rc1' of git://github.com/ojeda/linux

Pull auxdisplay updates from Miguel Ojeda:
 "Mostly small fixes and cleanups, plus a non-trivial fix for charlcd

  - charlcd: fixes and cleanups (Robert Abel and Sean Young)

  - Kconfig fixes (Randy Dunlap, Corentin Labbe and Ulf Magnusson)

  - cfag12864bfb: const cleanup (Gustavo A. R. Silva)

  - Docs/licenses/warnings cleanups"

* tag 'auxdisplay-for-linus-v4.18-rc1' of git://github.com/ojeda/linux:
  auxdisplay: Replace licenses with SPDX identifiers
  auxdisplay: make PANEL a menuconfig
  auxdisplay: fix broken menu
  auxdisplay: charlcd: Fix and clean up handling of x/y commands
  auxdisplay: charlcd: fix hex literal ranges for graphics command
  auxdisplay: charlcd: fix two-line command ^[[LN not marked as processed
  auxdisplay: charlcd: replace octal literal with form-feed escape sequence
  auxdisplay: charlcd: use null character instead of zero literal to terminate strings
  auxdisplay: charlcd: no need to call charlcd_gotoxy() if nothing changes
  auxdisplay: cfag12864bfb: constify fb_fix_screeninfo and fb_var_screeninfo structures
  auxdisplay: img-ascii-lcd: fix typo on select SYSCON/MFD_SYSCON
  auxdisplay: img-ascii-lcd: kconfig: Remove MIPS_SEAD3 reference
  auxdisplay: arm-charlcd: Fix struct charlcd doc line
  MAINTAINERS: auxdisplay: remove obsolete webpages
  Doc: misc-devices: move lcd-panel-cgram.txt to auxdisplay/
hifive-unleashed-5.1
Linus Torvalds 2018-06-07 14:01:16 -07:00
commit 7423fd7a66
14 changed files with 111 additions and 158 deletions

View File

@ -2533,8 +2533,6 @@ F: kernel/audit*
AUXILIARY DISPLAY DRIVERS AUXILIARY DISPLAY DRIVERS
M: Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com> M: Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com>
W: http://miguelojeda.es/auxdisplay.htm
W: http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm
S: Maintained S: Maintained
F: drivers/auxdisplay/ F: drivers/auxdisplay/
F: include/linux/cfag12864b.h F: include/linux/cfag12864b.h
@ -3384,16 +3382,12 @@ F: include/linux/usb/wusb*
CFAG12864B LCD DRIVER CFAG12864B LCD DRIVER
M: Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com> M: Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com>
W: http://miguelojeda.es/auxdisplay.htm
W: http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm
S: Maintained S: Maintained
F: drivers/auxdisplay/cfag12864b.c F: drivers/auxdisplay/cfag12864b.c
F: include/linux/cfag12864b.h F: include/linux/cfag12864b.h
CFAG12864BFB LCD FRAMEBUFFER DRIVER CFAG12864BFB LCD FRAMEBUFFER DRIVER
M: Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com> M: Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com>
W: http://miguelojeda.es/auxdisplay.htm
W: http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm
S: Maintained S: Maintained
F: drivers/auxdisplay/cfag12864bfb.c F: drivers/auxdisplay/cfag12864bfb.c
F: include/linux/cfag12864b.h F: include/linux/cfag12864b.h
@ -7977,8 +7971,6 @@ F: kernel/kprobes.c
KS0108 LCD CONTROLLER DRIVER KS0108 LCD CONTROLLER DRIVER
M: Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com> M: Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com>
W: http://miguelojeda.es/auxdisplay.htm
W: http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm
S: Maintained S: Maintained
F: Documentation/auxdisplay/ks0108 F: Documentation/auxdisplay/ks0108
F: drivers/auxdisplay/ks0108.c F: drivers/auxdisplay/ks0108.c

View File

@ -14,9 +14,6 @@ menuconfig AUXDISPLAY
If you say N, all options in this submenu will be skipped and disabled. If you say N, all options in this submenu will be skipped and disabled.
config CHARLCD
tristate "Character LCD core support" if COMPILE_TEST
if AUXDISPLAY if AUXDISPLAY
config HD44780 config HD44780
@ -137,8 +134,8 @@ config CFAG12864B_RATE
config IMG_ASCII_LCD config IMG_ASCII_LCD
tristate "Imagination Technologies ASCII LCD Display" tristate "Imagination Technologies ASCII LCD Display"
depends on HAS_IOMEM depends on HAS_IOMEM
default y if MIPS_MALTA || MIPS_SEAD3 default y if MIPS_MALTA
select SYSCON select MFD_SYSCON
help help
Enable this to support the simple ASCII LCD displays found on Enable this to support the simple ASCII LCD displays found on
development boards such as the MIPS Boston, MIPS Malta & MIPS SEAD3 development boards such as the MIPS Boston, MIPS Malta & MIPS SEAD3
@ -157,8 +154,6 @@ config HT16K33
Say yes here to add support for Holtek HT16K33, RAM mapping 16*8 Say yes here to add support for Holtek HT16K33, RAM mapping 16*8
LED controller driver with keyscan. LED controller driver with keyscan.
endif # AUXDISPLAY
config ARM_CHARLCD config ARM_CHARLCD
bool "ARM Ltd. Character LCD Driver" bool "ARM Ltd. Character LCD Driver"
depends on PLAT_VERSATILE depends on PLAT_VERSATILE
@ -169,7 +164,9 @@ config ARM_CHARLCD
line and the Linux version on the second line, but that's line and the Linux version on the second line, but that's
still useful. still useful.
config PANEL endif # AUXDISPLAY
menuconfig PANEL
tristate "Parallel port LCD/Keypad Panel support" tristate "Parallel port LCD/Keypad Panel support"
depends on PARPORT depends on PARPORT
select CHARLCD select CHARLCD
@ -448,3 +445,6 @@ config PANEL_BOOT_MESSAGE
printf()-formatted message is valid with newline and escape codes. printf()-formatted message is valid with newline and escape codes.
endif # PANEL endif # PANEL
config CHARLCD
tristate "Character LCD core support" if COMPILE_TEST

View File

@ -1,10 +1,10 @@
// SPDX-License-Identifier: GPL-2.0
/* /*
* Driver for the on-board character LCD found on some ARM reference boards * Driver for the on-board character LCD found on some ARM reference boards
* This is basically an Hitachi HD44780 LCD with a custom IP block to drive it * This is basically an Hitachi HD44780 LCD with a custom IP block to drive it
* http://en.wikipedia.org/wiki/HD44780_Character_LCD * http://en.wikipedia.org/wiki/HD44780_Character_LCD
* Currently it will just display the text "ARM Linux" and the linux version * Currently it will just display the text "ARM Linux" and the linux version
* *
* License terms: GNU General Public License (GPL) version 2
* Author: Linus Walleij <triad@df.lth.se> * Author: Linus Walleij <triad@df.lth.se>
*/ */
#include <linux/init.h> #include <linux/init.h>
@ -54,12 +54,14 @@
#define HD_BUSY_FLAG 0x80U #define HD_BUSY_FLAG 0x80U
/** /**
* struct charlcd - Private data structure
* @dev: a pointer back to containing device * @dev: a pointer back to containing device
* @phybase: the offset to the controller in physical memory * @phybase: the offset to the controller in physical memory
* @physize: the size of the physical page * @physize: the size of the physical page
* @virtbase: the offset to the controller in virtual memory * @virtbase: the offset to the controller in virtual memory
* @irq: reserved interrupt number * @irq: reserved interrupt number
* @complete: completion structure for the last LCD command * @complete: completion structure for the last LCD command
* @init_work: delayed work structure to initialize the display on boot
*/ */
struct charlcd { struct charlcd {
struct device *dev; struct device *dev;

View File

@ -1,26 +1,12 @@
// SPDX-License-Identifier: GPL-2.0
/* /*
* Filename: cfag12864b.c * Filename: cfag12864b.c
* Version: 0.1.0 * Version: 0.1.0
* Description: cfag12864b LCD driver * Description: cfag12864b LCD driver
* License: GPLv2
* Depends: ks0108 * Depends: ks0108
* *
* Author: Copyright (C) Miguel Ojeda Sandonis * Author: Copyright (C) Miguel Ojeda Sandonis
* Date: 2006-10-31 * Date: 2006-10-31
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/ */
#include <linux/init.h> #include <linux/init.h>

View File

@ -1,26 +1,12 @@
// SPDX-License-Identifier: GPL-2.0
/* /*
* Filename: cfag12864bfb.c * Filename: cfag12864bfb.c
* Version: 0.1.0 * Version: 0.1.0
* Description: cfag12864b LCD framebuffer driver * Description: cfag12864b LCD framebuffer driver
* License: GPLv2
* Depends: cfag12864b * Depends: cfag12864b
* *
* Author: Copyright (C) Miguel Ojeda Sandonis * Author: Copyright (C) Miguel Ojeda Sandonis
* Date: 2006-10-31 * Date: 2006-10-31
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/ */
#include <linux/init.h> #include <linux/init.h>
@ -37,7 +23,7 @@
#define CFAG12864BFB_NAME "cfag12864bfb" #define CFAG12864BFB_NAME "cfag12864bfb"
static struct fb_fix_screeninfo cfag12864bfb_fix = { static const struct fb_fix_screeninfo cfag12864bfb_fix = {
.id = "cfag12864b", .id = "cfag12864b",
.type = FB_TYPE_PACKED_PIXELS, .type = FB_TYPE_PACKED_PIXELS,
.visual = FB_VISUAL_MONO10, .visual = FB_VISUAL_MONO10,
@ -48,7 +34,7 @@ static struct fb_fix_screeninfo cfag12864bfb_fix = {
.accel = FB_ACCEL_NONE, .accel = FB_ACCEL_NONE,
}; };
static struct fb_var_screeninfo cfag12864bfb_var = { static const struct fb_var_screeninfo cfag12864bfb_var = {
.xres = CFAG12864B_WIDTH, .xres = CFAG12864B_WIDTH,
.yres = CFAG12864B_HEIGHT, .yres = CFAG12864B_HEIGHT,
.xres_virtual = CFAG12864B_WIDTH, .xres_virtual = CFAG12864B_WIDTH,

View File

@ -1,16 +1,13 @@
// SPDX-License-Identifier: GPL-2.0+
/* /*
* Character LCD driver for Linux * Character LCD driver for Linux
* *
* Copyright (C) 2000-2008, Willy Tarreau <w@1wt.eu> * Copyright (C) 2000-2008, Willy Tarreau <w@1wt.eu>
* Copyright (C) 2016-2017 Glider bvba * Copyright (C) 2016-2017 Glider bvba
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*/ */
#include <linux/atomic.h> #include <linux/atomic.h>
#include <linux/ctype.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/miscdevice.h> #include <linux/miscdevice.h>
@ -192,10 +189,11 @@ static void charlcd_print(struct charlcd *lcd, char c)
c = lcd->char_conv[(unsigned char)c]; c = lcd->char_conv[(unsigned char)c];
lcd->ops->write_data(lcd, c); lcd->ops->write_data(lcd, c);
priv->addr.x++; priv->addr.x++;
/* prevents the cursor from wrapping onto the next line */
if (priv->addr.x == lcd->bwidth)
charlcd_gotoxy(lcd);
} }
/* prevents the cursor from wrapping onto the next line */
if (priv->addr.x == lcd->bwidth)
charlcd_gotoxy(lcd);
} }
static void charlcd_clear_fast(struct charlcd *lcd) static void charlcd_clear_fast(struct charlcd *lcd)
@ -292,6 +290,79 @@ static int charlcd_init_display(struct charlcd *lcd)
return 0; return 0;
} }
/*
* Parses an unsigned integer from a string, until a non-digit character
* is found. The empty string is not accepted. No overflow checks are done.
*
* Returns whether the parsing was successful. Only in that case
* the output parameters are written to.
*
* TODO: If the kernel adds an inplace version of kstrtoul(), this function
* could be easily replaced by that.
*/
static bool parse_n(const char *s, unsigned long *res, const char **next_s)
{
if (!isdigit(*s))
return false;
*res = 0;
while (isdigit(*s)) {
*res = *res * 10 + (*s - '0');
++s;
}
*next_s = s;
return true;
}
/*
* Parses a movement command of the form "(.*);", where the group can be
* any number of subcommands of the form "(x|y)[0-9]+".
*
* Returns whether the command is valid. The position arguments are
* only written if the parsing was successful.
*
* For instance:
* - ";" returns (<original x>, <original y>).
* - "x1;" returns (1, <original y>).
* - "y2x1;" returns (1, 2).
* - "x12y34x56;" returns (56, 34).
* - "" fails.
* - "x" fails.
* - "x;" fails.
* - "x1" fails.
* - "xy12;" fails.
* - "x12yy12;" fails.
* - "xx" fails.
*/
static bool parse_xy(const char *s, unsigned long *x, unsigned long *y)
{
unsigned long new_x = *x;
unsigned long new_y = *y;
for (;;) {
if (!*s)
return false;
if (*s == ';')
break;
if (*s == 'x') {
if (!parse_n(s + 1, &new_x, &s))
return false;
} else if (*s == 'y') {
if (!parse_n(s + 1, &new_y, &s))
return false;
} else {
return false;
}
}
*x = new_x;
*y = new_y;
return true;
}
/* /*
* These are the file operation function for user access to /dev/lcd * These are the file operation function for user access to /dev/lcd
* This function can also be called from inside the kernel, by * This function can also be called from inside the kernel, by
@ -362,6 +433,7 @@ static inline int handle_lcd_special_code(struct charlcd *lcd)
break; break;
case 'N': /* Two Lines */ case 'N': /* Two Lines */
priv->flags |= LCD_FLAG_N; priv->flags |= LCD_FLAG_N;
processed = 1;
break; break;
case 'l': /* Shift Cursor Left */ case 'l': /* Shift Cursor Left */
if (priv->addr.x > 0) { if (priv->addr.x > 0) {
@ -441,9 +513,9 @@ static inline int handle_lcd_special_code(struct charlcd *lcd)
shift ^= 4; shift ^= 4;
if (*esc >= '0' && *esc <= '9') { if (*esc >= '0' && *esc <= '9') {
value |= (*esc - '0') << shift; value |= (*esc - '0') << shift;
} else if (*esc >= 'A' && *esc <= 'Z') { } else if (*esc >= 'A' && *esc <= 'F') {
value |= (*esc - 'A' + 10) << shift; value |= (*esc - 'A' + 10) << shift;
} else if (*esc >= 'a' && *esc <= 'z') { } else if (*esc >= 'a' && *esc <= 'f') {
value |= (*esc - 'a' + 10) << shift; value |= (*esc - 'a' + 10) << shift;
} else { } else {
esc++; esc++;
@ -469,24 +541,11 @@ static inline int handle_lcd_special_code(struct charlcd *lcd)
} }
case 'x': /* gotoxy : LxXXX[yYYY]; */ case 'x': /* gotoxy : LxXXX[yYYY]; */
case 'y': /* gotoxy : LyYYY[xXXX]; */ case 'y': /* gotoxy : LyYYY[xXXX]; */
if (!strchr(esc, ';')) /* If the command is valid, move to the new address */
break; if (parse_xy(esc, &priv->addr.x, &priv->addr.y))
charlcd_gotoxy(lcd);
while (*esc) { /* Regardless of its validity, mark as processed */
if (*esc == 'x') {
esc++;
if (kstrtoul(esc, 10, &priv->addr.x) < 0)
break;
} else if (*esc == 'y') {
esc++;
if (kstrtoul(esc, 10, &priv->addr.y) < 0)
break;
} else {
break;
}
}
charlcd_gotoxy(lcd);
processed = 1; processed = 1;
break; break;
} }
@ -527,7 +586,7 @@ static void charlcd_write_char(struct charlcd *lcd, char c)
if ((c != '\n') && priv->esc_seq.len >= 0) { if ((c != '\n') && priv->esc_seq.len >= 0) {
/* yes, let's add this char to the buffer */ /* yes, let's add this char to the buffer */
priv->esc_seq.buf[priv->esc_seq.len++] = c; priv->esc_seq.buf[priv->esc_seq.len++] = c;
priv->esc_seq.buf[priv->esc_seq.len] = 0; priv->esc_seq.buf[priv->esc_seq.len] = '\0';
} else { } else {
/* aborts any previous escape sequence */ /* aborts any previous escape sequence */
priv->esc_seq.len = -1; priv->esc_seq.len = -1;
@ -536,7 +595,7 @@ static void charlcd_write_char(struct charlcd *lcd, char c)
case LCD_ESCAPE_CHAR: case LCD_ESCAPE_CHAR:
/* start of an escape sequence */ /* start of an escape sequence */
priv->esc_seq.len = 0; priv->esc_seq.len = 0;
priv->esc_seq.buf[priv->esc_seq.len] = 0; priv->esc_seq.buf[priv->esc_seq.len] = '\0';
break; break;
case '\b': case '\b':
/* go back one char and clear it */ /* go back one char and clear it */
@ -555,7 +614,7 @@ static void charlcd_write_char(struct charlcd *lcd, char c)
/* back one char again */ /* back one char again */
lcd->ops->write_cmd(lcd, LCD_CMD_SHIFT); lcd->ops->write_cmd(lcd, LCD_CMD_SHIFT);
break; break;
case '\014': case '\f':
/* quickly clear the display */ /* quickly clear the display */
charlcd_clear_fast(lcd); charlcd_clear_fast(lcd);
break; break;

View File

@ -1,13 +1,9 @@
// SPDX-License-Identifier: GPL-2.0+
/* /*
* HD44780 Character LCD driver for Linux * HD44780 Character LCD driver for Linux
* *
* Copyright (C) 2000-2008, Willy Tarreau <w@1wt.eu> * Copyright (C) 2000-2008, Willy Tarreau <w@1wt.eu>
* Copyright (C) 2016-2017 Glider bvba * Copyright (C) 2016-2017 Glider bvba
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*/ */
#include <linux/delay.h> #include <linux/delay.h>

View File

@ -1,18 +1,10 @@
// SPDX-License-Identifier: GPL-2.0
/* /*
* HT16K33 driver * HT16K33 driver
* *
* Author: Robin van der Gracht <robin@protonic.nl> * Author: Robin van der Gracht <robin@protonic.nl>
* *
* Copyright: (C) 2016 Protonic Holland. * Copyright: (C) 2016 Protonic Holland.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*/ */
#include <linux/kernel.h> #include <linux/kernel.h>

View File

@ -1,26 +1,12 @@
// SPDX-License-Identifier: GPL-2.0
/* /*
* Filename: ks0108.c * Filename: ks0108.c
* Version: 0.1.0 * Version: 0.1.0
* Description: ks0108 LCD Controller driver * Description: ks0108 LCD Controller driver
* License: GPLv2
* Depends: parport * Depends: parport
* *
* Author: Copyright (C) Miguel Ojeda Sandonis * Author: Copyright (C) Miguel Ojeda Sandonis
* Date: 2006-10-31 * Date: 2006-10-31
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/ */
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt

View File

@ -1,13 +1,9 @@
// SPDX-License-Identifier: GPL-2.0+
/* /*
* Front panel driver for Linux * Front panel driver for Linux
* Copyright (C) 2000-2008, Willy Tarreau <w@1wt.eu> * Copyright (C) 2000-2008, Willy Tarreau <w@1wt.eu>
* Copyright (C) 2016-2017 Glider bvba * Copyright (C) 2016-2017 Glider bvba
* *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*
* This code drives an LCD module (/dev/lcd), and a keypad (/dev/keypad) * This code drives an LCD module (/dev/lcd), and a keypad (/dev/keypad)
* connected to a parallel printer port. * connected to a parallel printer port.
* *

View File

@ -1,25 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0 */
/* /*
* Filename: cfag12864b.h * Filename: cfag12864b.h
* Version: 0.1.0 * Version: 0.1.0
* Description: cfag12864b LCD driver header * Description: cfag12864b LCD driver header
* License: GPLv2
* *
* Author: Copyright (C) Miguel Ojeda Sandonis * Author: Copyright (C) Miguel Ojeda Sandonis
* Date: 2006-10-12 * Date: 2006-10-12
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/ */
#ifndef _CFAG12864B_H_ #ifndef _CFAG12864B_H_

View File

@ -1,25 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0 */
/* /*
* Filename: ks0108.h * Filename: ks0108.h
* Version: 0.1.0 * Version: 0.1.0
* Description: ks0108 LCD Controller driver header * Description: ks0108 LCD Controller driver header
* License: GPLv2
* *
* Author: Copyright (C) Miguel Ojeda Sandonis * Author: Copyright (C) Miguel Ojeda Sandonis
* Date: 2006-10-31 * Date: 2006-10-31
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/ */
#ifndef _KS0108_H_ #ifndef _KS0108_H_

View File

@ -1,25 +1,11 @@
// SPDX-License-Identifier: GPL-2.0
/* /*
* Filename: cfag12864b-example.c * Filename: cfag12864b-example.c
* Version: 0.1.0 * Version: 0.1.0
* Description: cfag12864b LCD userspace example program * Description: cfag12864b LCD userspace example program
* License: GPLv2
* *
* Author: Copyright (C) Miguel Ojeda Sandonis * Author: Copyright (C) Miguel Ojeda Sandonis
* Date: 2006-10-31 * Date: 2006-10-31
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/ */
/* /*