Skip to content

Commit c73677c

Browse files
committed
Merge tag 'auxdisplay-v6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay
Pull auxdisplay fixes from Andy Shevchenko: - A couple of non-critical build fixes to Character LCD library - Miscellaneous fixes here and there * tag 'auxdisplay-v6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay: auxdisplay: charlcd: Don't rebuild when CONFIG_PANEL_BOOT_MESSAGE=y auxdisplay: charlcd: Add missing MODULE_DESCRIPTION() auxdisplay: seg-led-gpio: Convert to platform remove callback returning void auxdisplay: linedisp: Group display drivers together
2 parents dd5a440 + 93ee235 commit c73677c

File tree

4 files changed

+189
-176
lines changed

4 files changed

+189
-176
lines changed

drivers/auxdisplay/Kconfig

Lines changed: 179 additions & 167 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ menuconfig AUXDISPLAY
1616

1717
if AUXDISPLAY
1818

19+
#
20+
# Character LCD section
21+
#
1922
config CHARLCD
2023
tristate "Character LCD core support" if COMPILE_TEST
2124
help
@@ -25,12 +28,6 @@ config CHARLCD
2528
This is some character LCD core interface that multiple drivers can
2629
use.
2730

28-
config LINEDISP
29-
tristate "Character line display core support" if COMPILE_TEST
30-
help
31-
This is the core support for single-line character displays, to be
32-
selected by drivers that use it.
33-
3431
config HD44780_COMMON
3532
tristate "Common functions for HD44780 (and compatibles) LCD displays" if COMPILE_TEST
3633
select CHARLCD
@@ -52,145 +49,6 @@ config HD44780
5249
kernel and started at boot.
5350
If you don't understand what all this is about, say N.
5451

55-
config KS0108
56-
tristate "KS0108 LCD Controller"
57-
depends on PARPORT_PC
58-
default n
59-
help
60-
If you have a LCD controlled by one or more KS0108
61-
controllers, say Y. You will need also another more specific
62-
driver for your LCD.
63-
64-
Depends on Parallel Port support. If you say Y at
65-
parport, you will be able to compile this as a module (M)
66-
and built-in as well (Y).
67-
68-
To compile this as a module, choose M here:
69-
the module will be called ks0108.
70-
71-
If unsure, say N.
72-
73-
config KS0108_PORT
74-
hex "Parallel port where the LCD is connected"
75-
depends on KS0108
76-
default 0x378
77-
help
78-
The address of the parallel port where the LCD is connected.
79-
80-
The first standard parallel port address is 0x378.
81-
The second standard parallel port address is 0x278.
82-
The third standard parallel port address is 0x3BC.
83-
84-
You can specify a different address if you need.
85-
86-
If you don't know what I'm talking about, load the parport module,
87-
and execute "dmesg" or "cat /proc/ioports". You can see there how
88-
many parallel ports are present and which address each one has.
89-
90-
Usually you only need to use 0x378.
91-
92-
If you compile this as a module, you can still override this
93-
using the module parameters.
94-
95-
config KS0108_DELAY
96-
int "Delay between each control writing (microseconds)"
97-
depends on KS0108
98-
default "2"
99-
help
100-
Amount of time the ks0108 should wait between each control write
101-
to the parallel port.
102-
103-
If your LCD seems to miss random writings, increment this.
104-
105-
If you don't know what I'm talking about, ignore it.
106-
107-
If you compile this as a module, you can still override this
108-
value using the module parameters.
109-
110-
config CFAG12864B
111-
tristate "CFAG12864B LCD"
112-
depends on X86
113-
depends on FB
114-
depends on KS0108
115-
select FB_SYSMEM_HELPERS
116-
default n
117-
help
118-
If you have a Crystalfontz 128x64 2-color LCD, cfag12864b Series,
119-
say Y. You also need the ks0108 LCD Controller driver.
120-
121-
For help about how to wire your LCD to the parallel port,
122-
check Documentation/admin-guide/auxdisplay/cfag12864b.rst
123-
124-
Depends on the x86 arch and the framebuffer support.
125-
126-
The LCD framebuffer driver can be attached to a console.
127-
It will work fine. However, you can't attach it to the fbdev driver
128-
of the xorg server.
129-
130-
To compile this as a module, choose M here:
131-
the modules will be called cfag12864b and cfag12864bfb.
132-
133-
If unsure, say N.
134-
135-
config CFAG12864B_RATE
136-
int "Refresh rate (hertz)"
137-
depends on CFAG12864B
138-
default "20"
139-
help
140-
Refresh rate of the LCD.
141-
142-
As the LCD is not memory mapped, the driver has to make the work by
143-
software. This means you should be careful setting this value higher.
144-
If your CPUs are really slow or you feel the system is slowed down,
145-
decrease the value.
146-
147-
Be careful modifying this value to a very high value:
148-
You can freeze the computer, or the LCD maybe can't draw as fast as you
149-
are requesting.
150-
151-
If you don't know what I'm talking about, ignore it.
152-
153-
If you compile this as a module, you can still override this
154-
value using the module parameters.
155-
156-
config IMG_ASCII_LCD
157-
tristate "Imagination Technologies ASCII LCD Display"
158-
depends on HAS_IOMEM
159-
default y if MIPS_MALTA
160-
select MFD_SYSCON
161-
select LINEDISP
162-
help
163-
Enable this to support the simple ASCII LCD displays found on
164-
development boards such as the MIPS Boston, MIPS Malta & MIPS SEAD3
165-
from Imagination Technologies.
166-
167-
config HT16K33
168-
tristate "Holtek Ht16K33 LED controller with keyscan"
169-
depends on FB && I2C && INPUT
170-
select FB_SYSMEM_HELPERS
171-
select INPUT_MATRIXKMAP
172-
select FB_BACKLIGHT
173-
select NEW_LEDS
174-
select LEDS_CLASS
175-
select LINEDISP
176-
help
177-
Say yes here to add support for Holtek HT16K33, RAM mapping 16*8
178-
LED controller driver with keyscan.
179-
180-
config MAX6959
181-
tristate "Maxim MAX6958/6959 7-segment LED controller"
182-
depends on I2C
183-
select REGMAP_I2C
184-
select LINEDISP
185-
help
186-
If you say yes here you get support for the following Maxim chips
187-
(I2C 7-segment LED display controller):
188-
- MAX6958
189-
- MAX6959 (input support)
190-
191-
This driver can also be built as a module. If so, the module
192-
will be called max6959.
193-
19452
config LCD2S
19553
tristate "lcd2s 20x4 character display over I2C console"
19654
depends on I2C
@@ -201,27 +59,6 @@ config LCD2S
20159
is a simple single color character display. You have to connect it
20260
to an I2C bus.
20361

204-
config ARM_CHARLCD
205-
bool "ARM Ltd. Character LCD Driver"
206-
depends on PLAT_VERSATILE
207-
help
208-
This is a driver for the character LCD found on the ARM Ltd.
209-
Versatile and RealView Platform Baseboards. It doesn't do
210-
very much more than display the text "ARM Linux" on the first
211-
line and the Linux version on the second line, but that's
212-
still useful.
213-
214-
config SEG_LED_GPIO
215-
tristate "Generic 7-segment LED display"
216-
depends on GPIOLIB || COMPILE_TEST
217-
select LINEDISP
218-
help
219-
This driver supports a generic 7-segment LED display made up
220-
of GPIO pins connected to the individual segments.
221-
222-
This driver can also be built as a module. If so, the module
223-
will be called seg-led-gpio.
224-
22562
menuconfig PARPORT_PANEL
22663
tristate "Parallel port LCD/Keypad Panel support"
22764
depends on PARPORT
@@ -480,7 +317,6 @@ endif # PARPORT_PANEL
480317
config PANEL_CHANGE_MESSAGE
481318
bool "Change LCD initialization message ?"
482319
depends on CHARLCD
483-
default "n"
484320
help
485321
This allows you to replace the boot message indicating the kernel version
486322
and the driver version with a custom message. This is useful on appliances
@@ -529,8 +365,184 @@ choice
529365

530366
endchoice
531367

368+
#
369+
# Samsung KS0108 LCD controller section
370+
#
371+
config KS0108
372+
tristate "KS0108 LCD Controller"
373+
depends on PARPORT_PC
374+
help
375+
If you have a LCD controlled by one or more KS0108
376+
controllers, say Y. You will need also another more specific
377+
driver for your LCD.
378+
379+
Depends on Parallel Port support. If you say Y at
380+
parport, you will be able to compile this as a module (M)
381+
and built-in as well (Y).
382+
383+
To compile this as a module, choose M here:
384+
the module will be called ks0108.
385+
386+
If unsure, say N.
387+
388+
config KS0108_PORT
389+
hex "Parallel port where the LCD is connected"
390+
depends on KS0108
391+
default 0x378
392+
help
393+
The address of the parallel port where the LCD is connected.
394+
395+
The first standard parallel port address is 0x378.
396+
The second standard parallel port address is 0x278.
397+
The third standard parallel port address is 0x3BC.
398+
399+
You can specify a different address if you need.
400+
401+
If you don't know what I'm talking about, load the parport module,
402+
and execute "dmesg" or "cat /proc/ioports". You can see there how
403+
many parallel ports are present and which address each one has.
404+
405+
Usually you only need to use 0x378.
406+
407+
If you compile this as a module, you can still override this
408+
using the module parameters.
409+
410+
config KS0108_DELAY
411+
int "Delay between each control writing (microseconds)"
412+
depends on KS0108
413+
default "2"
414+
help
415+
Amount of time the ks0108 should wait between each control write
416+
to the parallel port.
417+
418+
If your LCD seems to miss random writings, increment this.
419+
420+
If you don't know what I'm talking about, ignore it.
421+
422+
If you compile this as a module, you can still override this
423+
value using the module parameters.
424+
425+
config CFAG12864B
426+
tristate "CFAG12864B LCD"
427+
depends on X86
428+
depends on FB
429+
depends on KS0108
430+
select FB_SYSMEM_HELPERS
431+
help
432+
If you have a Crystalfontz 128x64 2-color LCD, cfag12864b Series,
433+
say Y. You also need the ks0108 LCD Controller driver.
434+
435+
For help about how to wire your LCD to the parallel port,
436+
check Documentation/admin-guide/auxdisplay/cfag12864b.rst
437+
438+
Depends on the x86 arch and the framebuffer support.
439+
440+
The LCD framebuffer driver can be attached to a console.
441+
It will work fine. However, you can't attach it to the fbdev driver
442+
of the xorg server.
443+
444+
To compile this as a module, choose M here:
445+
the modules will be called cfag12864b and cfag12864bfb.
446+
447+
If unsure, say N.
448+
449+
config CFAG12864B_RATE
450+
int "Refresh rate (hertz)"
451+
depends on CFAG12864B
452+
default "20"
453+
help
454+
Refresh rate of the LCD.
455+
456+
As the LCD is not memory mapped, the driver has to make the work by
457+
software. This means you should be careful setting this value higher.
458+
If your CPUs are really slow or you feel the system is slowed down,
459+
decrease the value.
460+
461+
Be careful modifying this value to a very high value:
462+
You can freeze the computer, or the LCD maybe can't draw as fast as you
463+
are requesting.
464+
465+
If you don't know what I'm talking about, ignore it.
466+
467+
If you compile this as a module, you can still override this
468+
value using the module parameters.
469+
470+
#
471+
# Single character line display section
472+
#
473+
config LINEDISP
474+
tristate "Character line display core support" if COMPILE_TEST
475+
help
476+
This is the core support for single-line character displays, to be
477+
selected by drivers that use it.
478+
479+
config IMG_ASCII_LCD
480+
tristate "Imagination Technologies ASCII LCD Display"
481+
depends on HAS_IOMEM
482+
default y if MIPS_MALTA
483+
select MFD_SYSCON
484+
select LINEDISP
485+
help
486+
Enable this to support the simple ASCII LCD displays found on
487+
development boards such as the MIPS Boston, MIPS Malta & MIPS SEAD3
488+
from Imagination Technologies.
489+
490+
config HT16K33
491+
tristate "Holtek Ht16K33 LED controller with keyscan"
492+
depends on FB && I2C && INPUT
493+
select FB_SYSMEM_HELPERS
494+
select INPUT_MATRIXKMAP
495+
select FB_BACKLIGHT
496+
select NEW_LEDS
497+
select LEDS_CLASS
498+
select LINEDISP
499+
help
500+
Say yes here to add support for Holtek HT16K33, RAM mapping 16*8
501+
LED controller driver with keyscan.
502+
503+
config MAX6959
504+
tristate "Maxim MAX6958/6959 7-segment LED controller"
505+
depends on I2C
506+
select REGMAP_I2C
507+
select LINEDISP
508+
help
509+
If you say yes here you get support for the following Maxim chips
510+
(I2C 7-segment LED display controller):
511+
- MAX6958
512+
- MAX6959 (input support)
513+
514+
This driver can also be built as a module. If so, the module
515+
will be called max6959.
516+
517+
config SEG_LED_GPIO
518+
tristate "Generic 7-segment LED display"
519+
depends on GPIOLIB || COMPILE_TEST
520+
select LINEDISP
521+
help
522+
This driver supports a generic 7-segment LED display made up
523+
of GPIO pins connected to the individual segments.
524+
525+
This driver can also be built as a module. If so, the module
526+
will be called seg-led-gpio.
527+
528+
#
529+
# Character LCD with non-conforming interface section
530+
#
531+
config ARM_CHARLCD
532+
bool "ARM Ltd. Character LCD Driver"
533+
depends on PLAT_VERSATILE
534+
help
535+
This is a driver for the character LCD found on the ARM Ltd.
536+
Versatile and RealView Platform Baseboards. It doesn't do
537+
very much more than display the text "ARM Linux" on the first
538+
line and the Linux version on the second line, but that's
539+
still useful.
540+
532541
endif # AUXDISPLAY
533542

543+
#
544+
# Deprecated options
545+
#
534546
config PANEL
535547
tristate "Parallel port LCD/Keypad Panel support (OLD OPTION)"
536548
depends on PARPORT

0 commit comments

Comments
 (0)