Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

auxdisplay: linedisp: Group display drivers together

For better usability group the display drivers together in Kconfig.
With this we will have the following sections:
- Character LCD
- Samsung KS0108 LCD controller
- Single character line display
- Character LCD with non-conforming interface

Keep Makefile entries sorted alphabetically.

While at it, drop redundant 'default n' entries.

Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

+184 -172
+179 -167
drivers/auxdisplay/Kconfig
··· 16 16 17 17 if AUXDISPLAY 18 18 19 + # 20 + # Character LCD section 21 + # 19 22 config CHARLCD 20 23 tristate "Character LCD core support" if COMPILE_TEST 21 24 help ··· 27 24 and if it needs the charlcd core, it will select it automatically. 28 25 This is some character LCD core interface that multiple drivers can 29 26 use. 30 - 31 - config LINEDISP 32 - tristate "Character line display core support" if COMPILE_TEST 33 - help 34 - This is the core support for single-line character displays, to be 35 - selected by drivers that use it. 36 27 37 28 config HD44780_COMMON 38 29 tristate "Common functions for HD44780 (and compatibles) LCD displays" if COMPILE_TEST ··· 49 52 kernel and started at boot. 50 53 If you don't understand what all this is about, say N. 51 54 52 - config KS0108 53 - tristate "KS0108 LCD Controller" 54 - depends on PARPORT_PC 55 - default n 56 - help 57 - If you have a LCD controlled by one or more KS0108 58 - controllers, say Y. You will need also another more specific 59 - driver for your LCD. 60 - 61 - Depends on Parallel Port support. If you say Y at 62 - parport, you will be able to compile this as a module (M) 63 - and built-in as well (Y). 64 - 65 - To compile this as a module, choose M here: 66 - the module will be called ks0108. 67 - 68 - If unsure, say N. 69 - 70 - config KS0108_PORT 71 - hex "Parallel port where the LCD is connected" 72 - depends on KS0108 73 - default 0x378 74 - help 75 - The address of the parallel port where the LCD is connected. 76 - 77 - The first standard parallel port address is 0x378. 78 - The second standard parallel port address is 0x278. 79 - The third standard parallel port address is 0x3BC. 80 - 81 - You can specify a different address if you need. 82 - 83 - If you don't know what I'm talking about, load the parport module, 84 - and execute "dmesg" or "cat /proc/ioports". You can see there how 85 - many parallel ports are present and which address each one has. 86 - 87 - Usually you only need to use 0x378. 88 - 89 - If you compile this as a module, you can still override this 90 - using the module parameters. 91 - 92 - config KS0108_DELAY 93 - int "Delay between each control writing (microseconds)" 94 - depends on KS0108 95 - default "2" 96 - help 97 - Amount of time the ks0108 should wait between each control write 98 - to the parallel port. 99 - 100 - If your LCD seems to miss random writings, increment this. 101 - 102 - If you don't know what I'm talking about, ignore it. 103 - 104 - If you compile this as a module, you can still override this 105 - value using the module parameters. 106 - 107 - config CFAG12864B 108 - tristate "CFAG12864B LCD" 109 - depends on X86 110 - depends on FB 111 - depends on KS0108 112 - select FB_SYSMEM_HELPERS 113 - default n 114 - help 115 - If you have a Crystalfontz 128x64 2-color LCD, cfag12864b Series, 116 - say Y. You also need the ks0108 LCD Controller driver. 117 - 118 - For help about how to wire your LCD to the parallel port, 119 - check Documentation/admin-guide/auxdisplay/cfag12864b.rst 120 - 121 - Depends on the x86 arch and the framebuffer support. 122 - 123 - The LCD framebuffer driver can be attached to a console. 124 - It will work fine. However, you can't attach it to the fbdev driver 125 - of the xorg server. 126 - 127 - To compile this as a module, choose M here: 128 - the modules will be called cfag12864b and cfag12864bfb. 129 - 130 - If unsure, say N. 131 - 132 - config CFAG12864B_RATE 133 - int "Refresh rate (hertz)" 134 - depends on CFAG12864B 135 - default "20" 136 - help 137 - Refresh rate of the LCD. 138 - 139 - As the LCD is not memory mapped, the driver has to make the work by 140 - software. This means you should be careful setting this value higher. 141 - If your CPUs are really slow or you feel the system is slowed down, 142 - decrease the value. 143 - 144 - Be careful modifying this value to a very high value: 145 - You can freeze the computer, or the LCD maybe can't draw as fast as you 146 - are requesting. 147 - 148 - If you don't know what I'm talking about, ignore it. 149 - 150 - If you compile this as a module, you can still override this 151 - value using the module parameters. 152 - 153 - config IMG_ASCII_LCD 154 - tristate "Imagination Technologies ASCII LCD Display" 155 - depends on HAS_IOMEM 156 - default y if MIPS_MALTA 157 - select MFD_SYSCON 158 - select LINEDISP 159 - help 160 - Enable this to support the simple ASCII LCD displays found on 161 - development boards such as the MIPS Boston, MIPS Malta & MIPS SEAD3 162 - from Imagination Technologies. 163 - 164 - config HT16K33 165 - tristate "Holtek Ht16K33 LED controller with keyscan" 166 - depends on FB && I2C && INPUT 167 - select FB_SYSMEM_HELPERS 168 - select INPUT_MATRIXKMAP 169 - select FB_BACKLIGHT 170 - select NEW_LEDS 171 - select LEDS_CLASS 172 - select LINEDISP 173 - help 174 - Say yes here to add support for Holtek HT16K33, RAM mapping 16*8 175 - LED controller driver with keyscan. 176 - 177 - config MAX6959 178 - tristate "Maxim MAX6958/6959 7-segment LED controller" 179 - depends on I2C 180 - select REGMAP_I2C 181 - select LINEDISP 182 - help 183 - If you say yes here you get support for the following Maxim chips 184 - (I2C 7-segment LED display controller): 185 - - MAX6958 186 - - MAX6959 (input support) 187 - 188 - This driver can also be built as a module. If so, the module 189 - will be called max6959. 190 - 191 55 config LCD2S 192 56 tristate "lcd2s 20x4 character display over I2C console" 193 57 depends on I2C ··· 58 200 from Modtronix engineering as a console output device. The display 59 201 is a simple single color character display. You have to connect it 60 202 to an I2C bus. 61 - 62 - config ARM_CHARLCD 63 - bool "ARM Ltd. Character LCD Driver" 64 - depends on PLAT_VERSATILE 65 - help 66 - This is a driver for the character LCD found on the ARM Ltd. 67 - Versatile and RealView Platform Baseboards. It doesn't do 68 - very much more than display the text "ARM Linux" on the first 69 - line and the Linux version on the second line, but that's 70 - still useful. 71 - 72 - config SEG_LED_GPIO 73 - tristate "Generic 7-segment LED display" 74 - depends on GPIOLIB || COMPILE_TEST 75 - select LINEDISP 76 - help 77 - This driver supports a generic 7-segment LED display made up 78 - of GPIO pins connected to the individual segments. 79 - 80 - This driver can also be built as a module. If so, the module 81 - will be called seg-led-gpio. 82 203 83 204 menuconfig PARPORT_PANEL 84 205 tristate "Parallel port LCD/Keypad Panel support" ··· 317 480 config PANEL_CHANGE_MESSAGE 318 481 bool "Change LCD initialization message ?" 319 482 depends on CHARLCD 320 - default "n" 321 483 help 322 484 This allows you to replace the boot message indicating the kernel version 323 485 and the driver version with a custom message. This is useful on appliances ··· 365 529 366 530 endchoice 367 531 532 + # 533 + # Samsung KS0108 LCD controller section 534 + # 535 + config KS0108 536 + tristate "KS0108 LCD Controller" 537 + depends on PARPORT_PC 538 + help 539 + If you have a LCD controlled by one or more KS0108 540 + controllers, say Y. You will need also another more specific 541 + driver for your LCD. 542 + 543 + Depends on Parallel Port support. If you say Y at 544 + parport, you will be able to compile this as a module (M) 545 + and built-in as well (Y). 546 + 547 + To compile this as a module, choose M here: 548 + the module will be called ks0108. 549 + 550 + If unsure, say N. 551 + 552 + config KS0108_PORT 553 + hex "Parallel port where the LCD is connected" 554 + depends on KS0108 555 + default 0x378 556 + help 557 + The address of the parallel port where the LCD is connected. 558 + 559 + The first standard parallel port address is 0x378. 560 + The second standard parallel port address is 0x278. 561 + The third standard parallel port address is 0x3BC. 562 + 563 + You can specify a different address if you need. 564 + 565 + If you don't know what I'm talking about, load the parport module, 566 + and execute "dmesg" or "cat /proc/ioports". You can see there how 567 + many parallel ports are present and which address each one has. 568 + 569 + Usually you only need to use 0x378. 570 + 571 + If you compile this as a module, you can still override this 572 + using the module parameters. 573 + 574 + config KS0108_DELAY 575 + int "Delay between each control writing (microseconds)" 576 + depends on KS0108 577 + default "2" 578 + help 579 + Amount of time the ks0108 should wait between each control write 580 + to the parallel port. 581 + 582 + If your LCD seems to miss random writings, increment this. 583 + 584 + If you don't know what I'm talking about, ignore it. 585 + 586 + If you compile this as a module, you can still override this 587 + value using the module parameters. 588 + 589 + config CFAG12864B 590 + tristate "CFAG12864B LCD" 591 + depends on X86 592 + depends on FB 593 + depends on KS0108 594 + select FB_SYSMEM_HELPERS 595 + help 596 + If you have a Crystalfontz 128x64 2-color LCD, cfag12864b Series, 597 + say Y. You also need the ks0108 LCD Controller driver. 598 + 599 + For help about how to wire your LCD to the parallel port, 600 + check Documentation/admin-guide/auxdisplay/cfag12864b.rst 601 + 602 + Depends on the x86 arch and the framebuffer support. 603 + 604 + The LCD framebuffer driver can be attached to a console. 605 + It will work fine. However, you can't attach it to the fbdev driver 606 + of the xorg server. 607 + 608 + To compile this as a module, choose M here: 609 + the modules will be called cfag12864b and cfag12864bfb. 610 + 611 + If unsure, say N. 612 + 613 + config CFAG12864B_RATE 614 + int "Refresh rate (hertz)" 615 + depends on CFAG12864B 616 + default "20" 617 + help 618 + Refresh rate of the LCD. 619 + 620 + As the LCD is not memory mapped, the driver has to make the work by 621 + software. This means you should be careful setting this value higher. 622 + If your CPUs are really slow or you feel the system is slowed down, 623 + decrease the value. 624 + 625 + Be careful modifying this value to a very high value: 626 + You can freeze the computer, or the LCD maybe can't draw as fast as you 627 + are requesting. 628 + 629 + If you don't know what I'm talking about, ignore it. 630 + 631 + If you compile this as a module, you can still override this 632 + value using the module parameters. 633 + 634 + # 635 + # Single character line display section 636 + # 637 + config LINEDISP 638 + tristate "Character line display core support" if COMPILE_TEST 639 + help 640 + This is the core support for single-line character displays, to be 641 + selected by drivers that use it. 642 + 643 + config IMG_ASCII_LCD 644 + tristate "Imagination Technologies ASCII LCD Display" 645 + depends on HAS_IOMEM 646 + default y if MIPS_MALTA 647 + select MFD_SYSCON 648 + select LINEDISP 649 + help 650 + Enable this to support the simple ASCII LCD displays found on 651 + development boards such as the MIPS Boston, MIPS Malta & MIPS SEAD3 652 + from Imagination Technologies. 653 + 654 + config HT16K33 655 + tristate "Holtek Ht16K33 LED controller with keyscan" 656 + depends on FB && I2C && INPUT 657 + select FB_SYSMEM_HELPERS 658 + select INPUT_MATRIXKMAP 659 + select FB_BACKLIGHT 660 + select NEW_LEDS 661 + select LEDS_CLASS 662 + select LINEDISP 663 + help 664 + Say yes here to add support for Holtek HT16K33, RAM mapping 16*8 665 + LED controller driver with keyscan. 666 + 667 + config MAX6959 668 + tristate "Maxim MAX6958/6959 7-segment LED controller" 669 + depends on I2C 670 + select REGMAP_I2C 671 + select LINEDISP 672 + help 673 + If you say yes here you get support for the following Maxim chips 674 + (I2C 7-segment LED display controller): 675 + - MAX6958 676 + - MAX6959 (input support) 677 + 678 + This driver can also be built as a module. If so, the module 679 + will be called max6959. 680 + 681 + config SEG_LED_GPIO 682 + tristate "Generic 7-segment LED display" 683 + depends on GPIOLIB || COMPILE_TEST 684 + select LINEDISP 685 + help 686 + This driver supports a generic 7-segment LED display made up 687 + of GPIO pins connected to the individual segments. 688 + 689 + This driver can also be built as a module. If so, the module 690 + will be called seg-led-gpio. 691 + 692 + # 693 + # Character LCD with non-conforming interface section 694 + # 695 + config ARM_CHARLCD 696 + bool "ARM Ltd. Character LCD Driver" 697 + depends on PLAT_VERSATILE 698 + help 699 + This is a driver for the character LCD found on the ARM Ltd. 700 + Versatile and RealView Platform Baseboards. It doesn't do 701 + very much more than display the text "ARM Linux" on the first 702 + line and the Linux version on the second line, but that's 703 + still useful. 704 + 368 705 endif # AUXDISPLAY 369 706 707 + # 708 + # Deprecated options 709 + # 370 710 config PANEL 371 711 tristate "Parallel port LCD/Keypad Panel support (OLD OPTION)" 372 712 depends on PARPORT
+5 -5
drivers/auxdisplay/Makefile
··· 3 3 # Makefile for the kernel auxiliary displays device drivers. 4 4 # 5 5 6 + obj-$(CONFIG_ARM_CHARLCD) += arm-charlcd.o 7 + obj-$(CONFIG_CFAG12864B) += cfag12864b.o cfag12864bfb.o 6 8 obj-$(CONFIG_CHARLCD) += charlcd.o 7 9 obj-$(CONFIG_HD44780_COMMON) += hd44780_common.o 8 - obj-$(CONFIG_ARM_CHARLCD) += arm-charlcd.o 9 - obj-$(CONFIG_KS0108) += ks0108.o 10 - obj-$(CONFIG_CFAG12864B) += cfag12864b.o cfag12864bfb.o 11 - obj-$(CONFIG_IMG_ASCII_LCD) += img-ascii-lcd.o 12 10 obj-$(CONFIG_HD44780) += hd44780.o 13 11 obj-$(CONFIG_HT16K33) += ht16k33.o 14 - obj-$(CONFIG_PARPORT_PANEL) += panel.o 12 + obj-$(CONFIG_IMG_ASCII_LCD) += img-ascii-lcd.o 13 + obj-$(CONFIG_KS0108) += ks0108.o 15 14 obj-$(CONFIG_LCD2S) += lcd2s.o 16 15 obj-$(CONFIG_LINEDISP) += line-display.o 17 16 obj-$(CONFIG_MAX6959) += max6959.o 17 + obj-$(CONFIG_PARPORT_PANEL) += panel.o 18 18 obj-$(CONFIG_SEG_LED_GPIO) += seg-led-gpio.o