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