linux-yocto/drivers/input/Kconfig
Stephen Boyd 45ceaf14d5 Input: extract ChromeOS vivaldi physmap show function
Let's introduce a common library file for the physmap show function
duplicated between three different keyboard drivers. This largely copies
the code from cros_ec_keyb.c which has the most recent version of the
show function, while using the vivaldi_data struct from the hid-vivaldi
driver. This saves a small amount of space in an allyesconfig build.

$ ./scripts/bloat-o-meter vmlinux.before vmlinux.after

add/remove: 3/0 grow/shrink: 2/3 up/down: 412/-720 (-308)
Function                                     old     new   delta
vivaldi_function_row_physmap_show              -     292    +292
_sub_I_65535_1                           1057564 1057616     +52
_sub_D_65535_0                           1057564 1057616     +52
e843419@49f2_00062737_9b04                     -       8      +8
e843419@20f6_0002a34d_35bc                     -       8      +8
atkbd_parse_fwnode_data                      480     472      -8
atkbd_do_show_function_row_physmap           316      76    -240
function_row_physmap_show                    620     148    -472
Total: Before=285581925, After=285581617, chg -0.00%

Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Tested-by: Stephen Boyd <swboyd@chromium.org> # coachz, wormdingler
Link: https://lore.kernel.org/r/20220228075446.466016-3-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-03-14 21:11:09 -07:00

5.8 KiB

SPDX-License-Identifier: GPL-2.0-only

Input device configuration

menu "Input device support"

config INPUT tristate "Generic input layer (needed for keyboard, mouse, ...)" if EXPERT default y help Say Y here if you have any input device (mouse, keyboard, tablet, joystick, steering wheel ...) connected to your system and want it to be available to applications. This includes standard PS/2 keyboard and mouse.

  Say N here if you have a headless (no monitor, no keyboard) system.

  More information is available: <file:Documentation/input/input.rst>

  If unsure, say Y.

  To compile this driver as a module, choose M here: the
  module will be called input.

if INPUT

config INPUT_LEDS tristate "Export input device LEDs in sysfs" depends on LEDS_CLASS default INPUT help Say Y here if you would like to export LEDs on input devices as standard LED class devices in sysfs.

  If unsure, say Y.

  To compile this driver as a module, choose M here: the
  module will be called input-leds.

config INPUT_FF_MEMLESS tristate "Support for memoryless force-feedback devices" help Say Y here if you have memoryless force-feedback input device such as Logitech WingMan Force 3D, ThrustMaster FireStorm Dual Power 2, or similar. You will also need to enable hardware-specific driver.

  If unsure, say N.

  To compile this driver as a module, choose M here: the
  module will be called ff-memless.

config INPUT_SPARSEKMAP tristate "Sparse keymap support library" help Say Y here if you are using a driver for an input device that uses sparse keymap. This option is only useful for out-of-tree drivers since in-tree drivers select it automatically.

  If unsure, say N.

  To compile this driver as a module, choose M here: the
  module will be called sparse-keymap.

config INPUT_MATRIXKMAP tristate "Matrix keymap support library" help Say Y here if you are using a driver for an input device that uses matrix keymap. This option is only useful for out-of-tree drivers since in-tree drivers select it automatically.

  If unsure, say N.

  To compile this driver as a module, choose M here: the
  module will be called matrix-keymap.

config INPUT_VIVALDIFMAP tristate help ChromeOS Vivaldi keymap support library. This is a hidden option so that drivers can use common code to parse and expose the vivaldi function row keymap.

comment "Userland interfaces"

config INPUT_MOUSEDEV tristate "Mouse interface" help Say Y here if you want your mouse to be accessible as char devices 13:32+ - /dev/input/mouseX and 13:63 - /dev/input/mice as an emulated IntelliMouse Explorer PS/2 mouse. That way, all user space programs (including SVGAlib, GPM and X) will be able to use your mouse.

  If unsure, say Y.

  To compile this driver as a module, choose M here: the
  module will be called mousedev.

config INPUT_MOUSEDEV_PSAUX bool "Provide legacy /dev/psaux device" depends on INPUT_MOUSEDEV help Say Y here if you want your mouse also be accessible as char device 10:1 - /dev/psaux. The data available through /dev/psaux is exactly the same as the data from /dev/input/mice.

  If unsure, say Y.

config INPUT_MOUSEDEV_SCREEN_X int "Horizontal screen resolution" depends on INPUT_MOUSEDEV default "1024" help If you're using a digitizer, or a graphic tablet, and want to use it as a mouse then the mousedev driver needs to know the X window screen resolution you are using to correctly scale the data. If you're not using a digitizer, this value is ignored.

config INPUT_MOUSEDEV_SCREEN_Y int "Vertical screen resolution" depends on INPUT_MOUSEDEV default "768" help If you're using a digitizer, or a graphic tablet, and want to use it as a mouse then the mousedev driver needs to know the X window screen resolution you are using to correctly scale the data. If you're not using a digitizer, this value is ignored.

config INPUT_JOYDEV tristate "Joystick interface" help Say Y here if you want your joystick or gamepad to be accessible as char device 13:0+ - /dev/input/jsX device.

  If unsure, say Y.

  More information is available: <file:Documentation/input/joydev/joystick.rst>

  To compile this driver as a module, choose M here: the
  module will be called joydev.

config INPUT_EVDEV tristate "Event interface" help Say Y here if you want your input device events be accessible under char device 13:64+ - /dev/input/eventX in a generic way.

  To compile this driver as a module, choose M here: the
  module will be called evdev.

config INPUT_EVBUG tristate "Event debugging" help Say Y here if you have a problem with the input subsystem and want all events (keypresses, mouse movements), to be output to the system log. While this is useful for debugging, it's also a security threat - your keypresses include your passwords, of course.

  If unsure, say N.

  To compile this driver as a module, choose M here: the
  module will be called evbug.

config INPUT_APMPOWER tristate "Input Power Event -> APM Bridge" if EXPERT depends on INPUT && APM_EMULATION help Say Y here if you want suspend key events to trigger a user requested suspend through APM. This is useful on embedded systems where such behaviour is desired without userspace interaction. If unsure, say N.

  To compile this driver as a module, choose M here: the
  module will be called apm-power.

comment "Input Device Drivers"

source "drivers/input/keyboard/Kconfig"

source "drivers/input/mouse/Kconfig"

source "drivers/input/joystick/Kconfig"

source "drivers/input/tablet/Kconfig"

source "drivers/input/touchscreen/Kconfig"

source "drivers/input/misc/Kconfig"

source "drivers/input/rmi4/Kconfig"

endif

menu "Hardware I/O ports"

source "drivers/input/serio/Kconfig"

source "drivers/input/gameport/Kconfig"

endmenu

endmenu