1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Dell X86 Platform Specific Drivers
4#
5
6menuconfig X86_PLATFORM_DRIVERS_DELL
7	bool "Dell X86 Platform Specific Device Drivers"
8	depends on X86_PLATFORM_DEVICES
9	help
10	  Say Y here to get to see options for device drivers for various
11	  Dell x86 platforms, including vendor-specific laptop extension drivers.
12	  This option alone does not add any kernel code.
13
14	  If you say N, all options in this submenu will be skipped and disabled.
15
16if X86_PLATFORM_DRIVERS_DELL
17
18config ALIENWARE_WMI
19	tristate "Alienware Special feature control"
20	default m
21	depends on ACPI
22	depends on LEDS_CLASS
23	depends on NEW_LEDS
24	depends on ACPI_WMI
25	help
26	 This is a driver for controlling Alienware BIOS driven
27	 features.  It exposes an interface for controlling the AlienFX
28	 zones on Alienware machines that don't contain a dedicated AlienFX
29	 USB MCU such as the X51 and X51-R2.
30
31config DCDBAS
32	tristate "Dell Systems Management Base Driver"
33	default m
34	depends on X86
35	help
36	  The Dell Systems Management Base Driver provides a sysfs interface
37	  for systems management software to perform System Management
38	  Interrupts (SMIs) and Host Control Actions (system power cycle or
39	  power off after OS shutdown) on certain Dell systems.
40
41	  See <file:Documentation/driver-api/dcdbas.rst> for more details on the driver
42	  and the Dell systems on which Dell systems management software makes
43	  use of this driver.
44
45	  Say Y or M here to enable the driver for use by Dell systems
46	  management software such as Dell OpenManage.
47
48config DELL_LAPTOP
49	tristate "Dell Laptop Extras"
50	default m
51	depends on DMI
52	depends on BACKLIGHT_CLASS_DEVICE
53	depends on ACPI_VIDEO || ACPI_VIDEO = n
54	depends on RFKILL || RFKILL = n
55	depends on DELL_WMI || DELL_WMI = n
56	depends on SERIO_I8042
57	depends on DELL_SMBIOS
58	select POWER_SUPPLY
59	select LEDS_CLASS
60	select NEW_LEDS
61	select LEDS_TRIGGERS
62	select LEDS_TRIGGER_AUDIO
63	help
64	This driver adds support for rfkill and backlight control to Dell
65	laptops (except for some models covered by the Compal driver).
66
67config DELL_RBU
68	tristate "BIOS update support for DELL systems via sysfs"
69	default m
70	depends on X86
71	select FW_LOADER
72	select FW_LOADER_USER_HELPER
73	help
74	 Say m if you want to have the option of updating the BIOS for your
75	 DELL system. Note you need a Dell OpenManage or Dell Update package (DUP)
76	 supporting application to communicate with the BIOS regarding the new
77	 image for the image update to take effect.
78	 See <file:Documentation/admin-guide/dell_rbu.rst> for more details on the driver.
79
80config DELL_RBTN
81	tristate "Dell Airplane Mode Switch driver"
82	default m
83	depends on ACPI
84	depends on INPUT
85	depends on RFKILL
86	help
87	  Say Y here if you want to support Dell Airplane Mode Switch ACPI
88	  device on Dell laptops. Sometimes it has names: DELLABCE or DELRBTN.
89	  This driver register rfkill device or input hotkey device depending
90	  on hardware type (hw switch slider or keyboard toggle button). For
91	  rfkill devices it receive HW switch events and set correct hard
92	  rfkill state.
93
94	  To compile this driver as a module, choose M here: the module will
95	  be called dell-rbtn.
96
97#
98# The DELL_SMBIOS driver depends on ACPI_WMI and/or DCDBAS if those
99# backends are selected. The "depends" line prevents a configuration
100# where DELL_SMBIOS=y while either of those dependencies =m.
101#
102config DELL_SMBIOS
103	tristate "Dell SMBIOS driver"
104	default m
105	depends on DCDBAS || DCDBAS=n
106	depends on ACPI_WMI || ACPI_WMI=n
107	help
108	This provides support for the Dell SMBIOS calling interface.
109	If you have a Dell computer you should enable this option.
110
111	Be sure to select at least one backend for it to work properly.
112
113config DELL_SMBIOS_WMI
114	bool "Dell SMBIOS driver WMI backend"
115	default y
116	depends on ACPI_WMI
117	select DELL_WMI_DESCRIPTOR
118	depends on DELL_SMBIOS
119	help
120	This provides an implementation for the Dell SMBIOS calling interface
121	communicated over ACPI-WMI.
122
123	If you have a Dell computer from >2007 you should say Y here.
124	If you aren't sure and this module doesn't work for your computer
125	it just won't load.
126
127config DELL_SMBIOS_SMM
128	bool "Dell SMBIOS driver SMM backend"
129	default y
130	depends on DCDBAS
131	depends on DELL_SMBIOS
132	help
133	This provides an implementation for the Dell SMBIOS calling interface
134	communicated over SMI/SMM.
135
136	If you have a Dell computer from <=2017 you should say Y here.
137	If you aren't sure and this module doesn't work for your computer
138	it just won't load.
139
140config DELL_SMO8800
141	tristate "Dell Latitude freefall driver (ACPI SMO88XX)"
142	default m
143	depends on ACPI || COMPILE_TEST
144	help
145	  Say Y here if you want to support SMO88XX freefall devices
146	  on Dell Latitude laptops.
147
148	  To compile this driver as a module, choose M here: the module will
149	  be called dell-smo8800.
150
151config DELL_WMI
152	tristate "Dell WMI notifications"
153	default m
154	depends on ACPI_WMI
155	depends on DMI
156	depends on INPUT
157	depends on ACPI_VIDEO || ACPI_VIDEO = n
158	depends on DELL_SMBIOS
159	select DELL_WMI_DESCRIPTOR
160	select INPUT_SPARSEKMAP
161	help
162	  Say Y here if you want to support WMI-based hotkeys on Dell laptops.
163
164	  To compile this driver as a module, choose M here: the module will
165	  be called dell-wmi.
166
167config DELL_WMI_PRIVACY
168	bool "Dell WMI Hardware Privacy Support"
169	depends on LEDS_TRIGGER_AUDIO = y || DELL_WMI = LEDS_TRIGGER_AUDIO
170	depends on DELL_WMI
171	help
172	  This option adds integration with the "Dell Hardware Privacy"
173	  feature of Dell laptops to the dell-wmi driver.
174
175config DELL_WMI_AIO
176	tristate "WMI Hotkeys for Dell All-In-One series"
177	default m
178	depends on ACPI_WMI
179	depends on INPUT
180	select INPUT_SPARSEKMAP
181	help
182	  Say Y here if you want to support WMI-based hotkeys on Dell
183	  All-In-One machines.
184
185	  To compile this driver as a module, choose M here: the module will
186	  be called dell-wmi-aio.
187
188config DELL_WMI_DESCRIPTOR
189	tristate
190	default n
191	depends on ACPI_WMI
192
193config DELL_WMI_LED
194	tristate "External LED on Dell Business Netbooks"
195	default m
196	depends on LEDS_CLASS
197	depends on ACPI_WMI
198	help
199	  This adds support for the Latitude 2100 and similar
200	  notebooks that have an external LED.
201
202config DELL_WMI_SYSMAN
203	tristate "Dell WMI-based Systems management driver"
204	default m
205	depends on ACPI_WMI
206	depends on DMI
207	select NLS
208	select FW_ATTR_CLASS
209	help
210	  This driver allows changing BIOS settings on many Dell machines from
211	  2018 and newer without the use of any additional software.
212
213	  To compile this driver as a module, choose M here: the module will
214	  be called dell-wmi-sysman.
215
216endif # X86_PLATFORM_DRIVERS_DELL
217