]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
auxdisplay: linedisp: Group display drivers together
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 26 Mar 2024 19:02:27 +0000 (21:02 +0200)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 2 Apr 2024 16:09:14 +0000 (19:09 +0300)
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>
drivers/auxdisplay/Kconfig
drivers/auxdisplay/Makefile

index 151d95f96b116c477889b016243ad23c338e709f..69d2138d7efb59d49ddd8414581615f2378fc914 100644 (file)
@@ -16,6 +16,9 @@ menuconfig AUXDISPLAY
 
 if AUXDISPLAY
 
+#
+# Character LCD section
+#
 config CHARLCD
        tristate "Character LCD core support" if COMPILE_TEST
        help
@@ -25,12 +28,6 @@ config CHARLCD
          This is some character LCD core interface that multiple drivers can
          use.
 
-config LINEDISP
-       tristate "Character line display core support" if COMPILE_TEST
-       help
-         This is the core support for single-line character displays, to be
-         selected by drivers that use it.
-
 config HD44780_COMMON
        tristate "Common functions for HD44780 (and compatibles) LCD displays" if COMPILE_TEST
        select CHARLCD
@@ -52,145 +49,6 @@ config HD44780
          kernel and started at boot.
          If you don't understand what all this is about, say N.
 
-config KS0108
-       tristate "KS0108 LCD Controller"
-       depends on PARPORT_PC
-       default n
-       help
-         If you have a LCD controlled by one or more KS0108
-         controllers, say Y. You will need also another more specific
-         driver for your LCD.
-
-         Depends on Parallel Port support. If you say Y at
-         parport, you will be able to compile this as a module (M)
-         and built-in as well (Y).
-
-         To compile this as a module, choose M here:
-         the module will be called ks0108.
-
-         If unsure, say N.
-
-config KS0108_PORT
-       hex "Parallel port where the LCD is connected"
-       depends on KS0108
-       default 0x378
-       help
-         The address of the parallel port where the LCD is connected.
-
-         The first  standard parallel port address is 0x378.
-         The second standard parallel port address is 0x278.
-         The third  standard parallel port address is 0x3BC.
-
-         You can specify a different address if you need.
-
-         If you don't know what I'm talking about, load the parport module,
-         and execute "dmesg" or "cat /proc/ioports". You can see there how
-         many parallel ports are present and which address each one has.
-
-         Usually you only need to use 0x378.
-
-         If you compile this as a module, you can still override this
-         using the module parameters.
-
-config KS0108_DELAY
-       int "Delay between each control writing (microseconds)"
-       depends on KS0108
-       default "2"
-       help
-         Amount of time the ks0108 should wait between each control write
-         to the parallel port.
-
-         If your LCD seems to miss random writings, increment this.
-
-         If you don't know what I'm talking about, ignore it.
-
-         If you compile this as a module, you can still override this
-         value using the module parameters.
-
-config CFAG12864B
-       tristate "CFAG12864B LCD"
-       depends on X86
-       depends on FB
-       depends on KS0108
-       select FB_SYSMEM_HELPERS
-       default n
-       help
-         If you have a Crystalfontz 128x64 2-color LCD, cfag12864b Series,
-         say Y. You also need the ks0108 LCD Controller driver.
-
-         For help about how to wire your LCD to the parallel port,
-         check Documentation/admin-guide/auxdisplay/cfag12864b.rst
-
-         Depends on the x86 arch and the framebuffer support.
-
-         The LCD framebuffer driver can be attached to a console.
-         It will work fine. However, you can't attach it to the fbdev driver
-         of the xorg server.
-
-         To compile this as a module, choose M here:
-         the modules will be called cfag12864b and cfag12864bfb.
-
-         If unsure, say N.
-
-config CFAG12864B_RATE
-       int "Refresh rate (hertz)"
-       depends on CFAG12864B
-       default "20"
-       help
-         Refresh rate of the LCD.
-
-         As the LCD is not memory mapped, the driver has to make the work by
-         software. This means you should be careful setting this value higher.
-         If your CPUs are really slow or you feel the system is slowed down,
-         decrease the value.
-
-         Be careful modifying this value to a very high value:
-         You can freeze the computer, or the LCD maybe can't draw as fast as you
-         are requesting.
-
-         If you don't know what I'm talking about, ignore it.
-
-         If you compile this as a module, you can still override this
-         value using the module parameters.
-
-config IMG_ASCII_LCD
-       tristate "Imagination Technologies ASCII LCD Display"
-       depends on HAS_IOMEM
-       default y if MIPS_MALTA
-       select MFD_SYSCON
-       select LINEDISP
-       help
-         Enable this to support the simple ASCII LCD displays found on
-         development boards such as the MIPS Boston, MIPS Malta & MIPS SEAD3
-         from Imagination Technologies.
-
-config HT16K33
-       tristate "Holtek Ht16K33 LED controller with keyscan"
-       depends on FB && I2C && INPUT
-       select FB_SYSMEM_HELPERS
-       select INPUT_MATRIXKMAP
-       select FB_BACKLIGHT
-       select NEW_LEDS
-       select LEDS_CLASS
-       select LINEDISP
-       help
-         Say yes here to add support for Holtek HT16K33, RAM mapping 16*8
-         LED controller driver with keyscan.
-
-config MAX6959
-       tristate "Maxim MAX6958/6959 7-segment LED controller"
-       depends on I2C
-       select REGMAP_I2C
-       select LINEDISP
-       help
-         If you say yes here you get support for the following Maxim chips
-         (I2C 7-segment LED display controller):
-         - MAX6958
-         - MAX6959 (input support)
-
-         This driver can also be built as a module. If so, the module
-         will be called max6959.
-
 config LCD2S
        tristate "lcd2s 20x4 character display over I2C console"
        depends on I2C
@@ -201,27 +59,6 @@ config LCD2S
          is a simple single color character display. You have to connect it
          to an I2C bus.
 
-config ARM_CHARLCD
-       bool "ARM Ltd. Character LCD Driver"
-       depends on PLAT_VERSATILE
-       help
-         This is a driver for the character LCD found on the ARM Ltd.
-         Versatile and RealView Platform Baseboards. It doesn't do
-         very much more than display the text "ARM Linux" on the first
-         line and the Linux version on the second line, but that's
-         still useful.
-
-config SEG_LED_GPIO
-       tristate "Generic 7-segment LED display"
-       depends on GPIOLIB || COMPILE_TEST
-       select LINEDISP
-       help
-         This driver supports a generic 7-segment LED display made up
-         of GPIO pins connected to the individual segments.
-
-         This driver can also be built as a module. If so, the module
-         will be called seg-led-gpio.
-
 menuconfig PARPORT_PANEL
        tristate "Parallel port LCD/Keypad Panel support"
        depends on PARPORT
@@ -480,7 +317,6 @@ endif # PARPORT_PANEL
 config PANEL_CHANGE_MESSAGE
        bool "Change LCD initialization message ?"
        depends on CHARLCD
-       default "n"
        help
          This allows you to replace the boot message indicating the kernel version
          and the driver version with a custom message. This is useful on appliances
@@ -529,8 +365,184 @@ choice
 
 endchoice
 
+#
+# Samsung KS0108 LCD controller section
+#
+config KS0108
+       tristate "KS0108 LCD Controller"
+       depends on PARPORT_PC
+       help
+         If you have a LCD controlled by one or more KS0108
+         controllers, say Y. You will need also another more specific
+         driver for your LCD.
+
+         Depends on Parallel Port support. If you say Y at
+         parport, you will be able to compile this as a module (M)
+         and built-in as well (Y).
+
+         To compile this as a module, choose M here:
+         the module will be called ks0108.
+
+         If unsure, say N.
+
+config KS0108_PORT
+       hex "Parallel port where the LCD is connected"
+       depends on KS0108
+       default 0x378
+       help
+         The address of the parallel port where the LCD is connected.
+
+         The first  standard parallel port address is 0x378.
+         The second standard parallel port address is 0x278.
+         The third  standard parallel port address is 0x3BC.
+
+         You can specify a different address if you need.
+
+         If you don't know what I'm talking about, load the parport module,
+         and execute "dmesg" or "cat /proc/ioports". You can see there how
+         many parallel ports are present and which address each one has.
+
+         Usually you only need to use 0x378.
+
+         If you compile this as a module, you can still override this
+         using the module parameters.
+
+config KS0108_DELAY
+       int "Delay between each control writing (microseconds)"
+       depends on KS0108
+       default "2"
+       help
+         Amount of time the ks0108 should wait between each control write
+         to the parallel port.
+
+         If your LCD seems to miss random writings, increment this.
+
+         If you don't know what I'm talking about, ignore it.
+
+         If you compile this as a module, you can still override this
+         value using the module parameters.
+
+config CFAG12864B
+       tristate "CFAG12864B LCD"
+       depends on X86
+       depends on FB
+       depends on KS0108
+       select FB_SYSMEM_HELPERS
+       help
+         If you have a Crystalfontz 128x64 2-color LCD, cfag12864b Series,
+         say Y. You also need the ks0108 LCD Controller driver.
+
+         For help about how to wire your LCD to the parallel port,
+         check Documentation/admin-guide/auxdisplay/cfag12864b.rst
+
+         Depends on the x86 arch and the framebuffer support.
+
+         The LCD framebuffer driver can be attached to a console.
+         It will work fine. However, you can't attach it to the fbdev driver
+         of the xorg server.
+
+         To compile this as a module, choose M here:
+         the modules will be called cfag12864b and cfag12864bfb.
+
+         If unsure, say N.
+
+config CFAG12864B_RATE
+       int "Refresh rate (hertz)"
+       depends on CFAG12864B
+       default "20"
+       help
+         Refresh rate of the LCD.
+
+         As the LCD is not memory mapped, the driver has to make the work by
+         software. This means you should be careful setting this value higher.
+         If your CPUs are really slow or you feel the system is slowed down,
+         decrease the value.
+
+         Be careful modifying this value to a very high value:
+         You can freeze the computer, or the LCD maybe can't draw as fast as you
+         are requesting.
+
+         If you don't know what I'm talking about, ignore it.
+
+         If you compile this as a module, you can still override this
+         value using the module parameters.
+
+#
+# Single character line display section
+#
+config LINEDISP
+       tristate "Character line display core support" if COMPILE_TEST
+       help
+         This is the core support for single-line character displays, to be
+         selected by drivers that use it.
+
+config IMG_ASCII_LCD
+       tristate "Imagination Technologies ASCII LCD Display"
+       depends on HAS_IOMEM
+       default y if MIPS_MALTA
+       select MFD_SYSCON
+       select LINEDISP
+       help
+         Enable this to support the simple ASCII LCD displays found on
+         development boards such as the MIPS Boston, MIPS Malta & MIPS SEAD3
+         from Imagination Technologies.
+
+config HT16K33
+       tristate "Holtek Ht16K33 LED controller with keyscan"
+       depends on FB && I2C && INPUT
+       select FB_SYSMEM_HELPERS
+       select INPUT_MATRIXKMAP
+       select FB_BACKLIGHT
+       select NEW_LEDS
+       select LEDS_CLASS
+       select LINEDISP
+       help
+         Say yes here to add support for Holtek HT16K33, RAM mapping 16*8
+         LED controller driver with keyscan.
+
+config MAX6959
+       tristate "Maxim MAX6958/6959 7-segment LED controller"
+       depends on I2C
+       select REGMAP_I2C
+       select LINEDISP
+       help
+         If you say yes here you get support for the following Maxim chips
+         (I2C 7-segment LED display controller):
+         - MAX6958
+         - MAX6959 (input support)
+
+         This driver can also be built as a module. If so, the module
+         will be called max6959.
+
+config SEG_LED_GPIO
+       tristate "Generic 7-segment LED display"
+       depends on GPIOLIB || COMPILE_TEST
+       select LINEDISP
+       help
+         This driver supports a generic 7-segment LED display made up
+         of GPIO pins connected to the individual segments.
+
+         This driver can also be built as a module. If so, the module
+         will be called seg-led-gpio.
+
+#
+# Character LCD with non-conforming interface section
+#
+config ARM_CHARLCD
+       bool "ARM Ltd. Character LCD Driver"
+       depends on PLAT_VERSATILE
+       help
+         This is a driver for the character LCD found on the ARM Ltd.
+         Versatile and RealView Platform Baseboards. It doesn't do
+         very much more than display the text "ARM Linux" on the first
+         line and the Linux version on the second line, but that's
+         still useful.
+
 endif # AUXDISPLAY
 
+#
+# Deprecated options
+#
 config PANEL
        tristate "Parallel port LCD/Keypad Panel support (OLD OPTION)"
        depends on PARPORT
index 4a8ea41b0550151e5312f0567034337286ef4019..f5c13ed1cd4f57311417fc0f5001d3fac16ec29e 100644 (file)
@@ -3,16 +3,16 @@
 # Makefile for the kernel auxiliary displays device drivers.
 #
 
-obj-$(CONFIG_CHARLCD)          += charlcd.o
-obj-$(CONFIG_HD44780_COMMON)   += hd44780_common.o
 obj-$(CONFIG_ARM_CHARLCD)      += arm-charlcd.o
-obj-$(CONFIG_KS0108)           += ks0108.o
 obj-$(CONFIG_CFAG12864B)       += cfag12864b.o cfag12864bfb.o
-obj-$(CONFIG_IMG_ASCII_LCD)    += img-ascii-lcd.o
+obj-$(CONFIG_CHARLCD)          += charlcd.o
+obj-$(CONFIG_HD44780_COMMON)   += hd44780_common.o
 obj-$(CONFIG_HD44780)          += hd44780.o
 obj-$(CONFIG_HT16K33)          += ht16k33.o
-obj-$(CONFIG_PARPORT_PANEL)    += panel.o
+obj-$(CONFIG_IMG_ASCII_LCD)    += img-ascii-lcd.o
+obj-$(CONFIG_KS0108)           += ks0108.o
 obj-$(CONFIG_LCD2S)            += lcd2s.o
 obj-$(CONFIG_LINEDISP)         += line-display.o
 obj-$(CONFIG_MAX6959)          += max6959.o
+obj-$(CONFIG_PARPORT_PANEL)    += panel.o
 obj-$(CONFIG_SEG_LED_GPIO)     += seg-led-gpio.o