summaryrefslogtreecommitdiff
path: root/drivers/platform/x86/lenovo/Kconfig
blob: d22b774e0236f430bcee0aa5fdf3ddc50e767653 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
# SPDX-License-Identifier: GPL-2.0-only
#
# Lenovo X86 Platform Specific Drivers
#

config IDEAPAD_LAPTOP
	tristate "Lenovo IdeaPad Laptop Extras"
	depends on ACPI
	depends on ACPI_BATTERY
	depends on RFKILL && INPUT
	depends on SERIO_I8042
	depends on BACKLIGHT_CLASS_DEVICE
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	depends on ACPI_WMI || ACPI_WMI = n
	select ACPI_PLATFORM_PROFILE
	select INPUT_SPARSEKMAP
	select NEW_LEDS
	select LEDS_CLASS
	help
	  This is a driver for Lenovo IdeaPad netbooks contains drivers for
	  rfkill switch, hotkey, fan control and backlight control.

config LENOVO_WMI_HOTKEY_UTILITIES
	tristate "Lenovo Hotkey Utility WMI extras driver"
	depends on ACPI_WMI
	select NEW_LEDS
	select LEDS_CLASS
	imply IDEAPAD_LAPTOP
	help
	  This driver provides WMI support for Lenovo customized hotkeys function,
	  such as LED control for audio/mic mute event for Ideapad, YOGA, XiaoXin,
	  Gaming, ThinkBook and so on.

config LENOVO_WMI_CAMERA
	tristate "Lenovo WMI Camera Button driver"
	depends on ACPI_WMI
	depends on INPUT
	help
	  This driver provides support for Lenovo camera button. The Camera
	  button is a GPIO device. This driver receives ACPI notifications when
	  the camera button is switched on/off.

	  To compile this driver as a module, choose M here: the module
	  will be called lenovo-wmi-camera.

config LENOVO_YMC
	tristate "Lenovo Yoga Tablet Mode Control"
	depends on ACPI_WMI
	depends on INPUT
	depends on IDEAPAD_LAPTOP
	select INPUT_SPARSEKMAP
	help
	  This driver maps the Tablet Mode Control switch to SW_TABLET_MODE input
	  events for Lenovo Yoga notebooks.

config THINKPAD_ACPI
	tristate "ThinkPad ACPI Laptop Extras"
	depends on ACPI_EC
	depends on ACPI_BATTERY
	depends on INPUT
	depends on RFKILL || RFKILL = n
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	depends on BACKLIGHT_CLASS_DEVICE
	depends on I2C
	depends on DRM
	select ACPI_PLATFORM_PROFILE
	select DRM_PRIVACY_SCREEN
	select HWMON
	select NVRAM
	select NEW_LEDS
	select LEDS_CLASS
	select INPUT_SPARSEKMAP
	help
	  This is a driver for the IBM and Lenovo ThinkPad laptops. It adds
	  support for Fn-Fx key combinations, Bluetooth control, video
	  output switching, ThinkLight control, UltraBay eject and more.
	  For more information about this driver see
	  <file:Documentation/admin-guide/laptops/thinkpad-acpi.rst> and
	  <http://ibm-acpi.sf.net/> .

	  This driver was formerly known as ibm-acpi.

	  Extra functionality will be available if the rfkill (CONFIG_RFKILL)
	  and/or ALSA (CONFIG_SND) subsystems are available in the kernel.
	  Note that if you want ThinkPad-ACPI to be built-in instead of
	  modular, ALSA and rfkill will also have to be built-in.

	  If you have an IBM or Lenovo ThinkPad laptop, say Y or M here.

config THINKPAD_ACPI_ALSA_SUPPORT
	bool "Console audio control ALSA interface"
	depends on THINKPAD_ACPI
	depends on SND
	depends on SND = y || THINKPAD_ACPI = SND
	default y
	help
	  Enables monitoring of the built-in console audio output control
	  (headphone and speakers), which is operated by the mute and (in
	  some ThinkPad models) volume hotkeys.

	  If this option is enabled, ThinkPad-ACPI will export an ALSA card
	  with a single read-only mixer control, which should be used for
	  on-screen-display feedback purposes by the Desktop Environment.

	  Optionally, the driver will also allow software control (the
	  ALSA mixer will be made read-write).  Please refer to the driver
	  documentation for details.

	  All IBM models have both volume and mute control.  Newer Lenovo
	  models only have mute control (the volume hotkeys are just normal
	  keys and volume control is done through the main HDA mixer).

config THINKPAD_ACPI_DEBUGFACILITIES
	bool "Maintainer debug facilities"
	depends on THINKPAD_ACPI
	help
	  Enables extra stuff in the thinkpad-acpi which is completely useless
	  for normal use.  Read the driver source to find out what it does.

	  Say N here, unless you were told by a kernel maintainer to do
	  otherwise.

config THINKPAD_ACPI_DEBUG
	bool "Verbose debug mode"
	depends on THINKPAD_ACPI
	help
	  Enables extra debugging information, at the expense of a slightly
	  increase in driver size.

	  If you are not sure, say N here.

config THINKPAD_ACPI_UNSAFE_LEDS
	bool "Allow control of important LEDs (unsafe)"
	depends on THINKPAD_ACPI
	help
	  Overriding LED state on ThinkPads can mask important
	  firmware alerts (like critical battery condition), or misled
	  the user into damaging the hardware (undocking or ejecting
	  the bay while buses are still active), etc.

	  LED control on the ThinkPad is write-only (with very few
	  exceptions on very ancient models), which makes it
	  impossible to know beforehand if important information will
	  be lost when one changes LED state.

	  Users that know what they are doing can enable this option
	  and the driver will allow control of every LED, including
	  the ones on the dock stations.

	  Never enable this option on a distribution kernel.

	  Say N here, unless you are building a kernel for your own
	  use, and need to control the important firmware LEDs.

config THINKPAD_ACPI_VIDEO
	bool "Video output control support"
	depends on THINKPAD_ACPI
	default y
	help
	  Allows the thinkpad_acpi driver to provide an interface to control
	  the various video output ports.

	  This feature often won't work well, depending on ThinkPad model,
	  display state, video output devices in use, whether there is a X
	  server running, phase of the moon, and the current mood of
	  Schroedinger's cat.  If you can use X.org's RandR to control
	  your ThinkPad's video output ports instead of this feature,
	  don't think twice: do it and say N here to save memory and avoid
	  bad interactions with X.org.

	  NOTE: access to this feature is limited to processes with the
	  CAP_SYS_ADMIN capability, to avoid local DoS issues in platforms
	  where it interacts badly with X.org.

	  If you are not sure, say Y here but do try to check if you could
	  be using X.org RandR instead.

config THINKPAD_ACPI_HOTKEY_POLL
	bool "Support NVRAM polling for hot keys"
	depends on THINKPAD_ACPI
	default y
	help
	  Some thinkpad models benefit from NVRAM polling to detect a few of
	  the hot key press events.  If you know your ThinkPad model does not
	  need to do NVRAM polling to support any of the hot keys you use,
	  unselecting this option will save about 1kB of memory.

	  ThinkPads T40 and newer, R52 and newer, and X31 and newer are
	  unlikely to need NVRAM polling in their latest BIOS versions.

	  NVRAM polling can detect at most the following keys: ThinkPad/Access
	  IBM, Zoom, Switch Display (fn+F7), ThinkLight, Volume up/down/mute,
	  Brightness up/down, Display Expand (fn+F8), Hibernate (fn+F12).

	  If you are not sure, say Y here.  The driver enables polling only if
	  it is strictly necessary to do so.

config THINKPAD_LMI
	tristate "Lenovo WMI-based systems management driver"
	depends on ACPI_WMI
	depends on DMI
	select FW_ATTR_CLASS
	help
	  This driver allows changing BIOS settings on Lenovo machines whose
	  BIOS support the WMI interface.

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

config YOGABOOK
	tristate "Lenovo Yoga Book tablet key driver"
	depends on ACPI_WMI
	depends on INPUT
	depends on I2C
	select LEDS_CLASS
	select NEW_LEDS
	help
	  Say Y here if you want to support the 'Pen' key and keyboard backlight
	  control on the Lenovo Yoga Book tablets.

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

config YT2_1380
	tristate "Lenovo Yoga Tablet 2 1380 fast charge driver"
	depends on SERIAL_DEV_BUS
	depends on EXTCON
	depends on ACPI
	help
	  Say Y here to enable support for the custom fast charging protocol
	  found on the Lenovo Yoga Tablet 2 1380F / 1380L models.

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

config LENOVO_WMI_DATA01
	tristate
	depends on ACPI_WMI

config LENOVO_WMI_EVENTS
	tristate
	depends on ACPI_WMI

config LENOVO_WMI_HELPERS
	tristate
	depends on ACPI_WMI

config LENOVO_WMI_GAMEZONE
	tristate "Lenovo GameZone WMI Driver"
	depends on ACPI_WMI
	depends on DMI
	select ACPI_PLATFORM_PROFILE
	select LENOVO_WMI_EVENTS
	select LENOVO_WMI_HELPERS
	select LENOVO_WMI_TUNING
	help
	  Say Y here if you have a WMI aware Lenovo Legion device and would like to use the
	  platform-profile firmware interface to manage power usage.

	  To compile this driver as a module, choose M here: the module will
	  be called lenovo-wmi-gamezone.

config LENOVO_WMI_TUNING
	tristate "Lenovo Other Mode WMI Driver"
	depends on ACPI_WMI
	select FW_ATTR_CLASS
	select LENOVO_WMI_DATA01
	select LENOVO_WMI_EVENTS
	select LENOVO_WMI_HELPERS
	help
	  Say Y here if you have a WMI aware Lenovo Legion device and would like to use the
	  firmware_attributes API to control various tunable settings typically exposed by
	  Lenovo software in Windows.

	  To compile this driver as a module, choose M here: the module will
	  be called lenovo-wmi-other.