summaryrefslogtreecommitdiff
path: root/drivers/platform/x86/Kconfig
blob: 8d1eec20885425be70746f4447ea201c5bdf7819 (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
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
# SPDX-License-Identifier: GPL-2.0-only
#
# X86 Platform Specific Drivers
#

menuconfig X86_PLATFORM_DEVICES
	bool "X86 Platform Specific Device Drivers"
	default y
	depends on X86
	help
	  Say Y here to get to see options for device drivers for various
	  x86 platforms, including vendor-specific laptop extension drivers.
	  This option alone does not add any kernel code.

	  If you say N, all options in this submenu will be skipped and disabled.

if X86_PLATFORM_DEVICES

config ACPI_WMI
	tristate "WMI"
	depends on ACPI
	help
	  This driver adds support for the ACPI-WMI (Windows Management
	  Instrumentation) mapper device (PNP0C14) found on some systems.

	  ACPI-WMI is a proprietary extension to ACPI to expose parts of the
	  ACPI firmware to userspace - this is done through various vendor
	  defined methods and data blocks in a PNP0C14 device, which are then
	  made available for userspace to call.

	  The implementation of this in Linux currently only exposes this to
	  other kernel space drivers.

	  This driver is a required dependency to build the firmware specific
	  drivers needed on many machines, including Acer and HP laptops.

	  It is safe to enable this driver even if your DSDT doesn't define
	  any ACPI-WMI devices.

config WMI_BMOF
	tristate "WMI embedded Binary MOF driver"
	depends on ACPI_WMI
	default ACPI_WMI
	help
	  Say Y here if you want to be able to read a firmware-embedded
	  WMI Binary MOF data. Using this requires userspace tools and may be
	  rather tedious.

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

config HUAWEI_WMI
	tristate "Huawei WMI laptop extras driver"
	depends on ACPI_BATTERY
	depends on ACPI_WMI
	depends on INPUT
	select INPUT_SPARSEKMAP
	select LEDS_CLASS
	select LEDS_TRIGGERS
	select LEDS_TRIGGER_AUDIO
	select NEW_LEDS
	help
	  This driver provides support for Huawei WMI hotkeys, battery charge
	  control, fn-lock, mic-mute LED, and other extra features.

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

config UV_SYSFS
	tristate "Sysfs structure for UV systems"
	depends on X86_UV
	depends on SYSFS
	help
	  This driver supports a sysfs tree describing information about
	  UV systems at /sys/firmware/sgi_uv/.

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

config MXM_WMI
       tristate "WMI support for MXM Laptop Graphics"
       depends on ACPI_WMI
	help
          MXM is a standard for laptop graphics cards, the WMI interface
	  is required for switchable nvidia graphics machines

config PEAQ_WMI
	tristate "PEAQ 2-in-1 WMI hotkey driver"
	depends on ACPI_WMI
	depends on INPUT
	help
	 Say Y here if you want to support WMI-based hotkeys on PEAQ 2-in-1s.

config NVIDIA_WMI_EC_BACKLIGHT
	tristate "EC Backlight Driver for Hybrid Graphics Notebook Systems"
	depends on ACPI_WMI
	depends on BACKLIGHT_CLASS_DEVICE
	help
	  This driver provides a sysfs backlight interface for notebook systems
	  which are equipped with NVIDIA hybrid graphics and drive LCD backlight
	  levels through the Embedded Controller (EC).

	  Say Y or M here if you want to control the backlight on a notebook
	  system with an EC-driven backlight.

	  If you choose to compile this driver as a module the module will be
	  called nvidia-wmi-ec-backlight.

config XIAOMI_WMI
	tristate "Xiaomi WMI key driver"
	depends on ACPI_WMI
	depends on INPUT
	help
	  Say Y here if you want to support WMI-based keys on Xiaomi notebooks.

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

config GIGABYTE_WMI
	tristate "Gigabyte WMI temperature driver"
	depends on ACPI_WMI
	depends on HWMON
	help
	  Say Y here if you want to support WMI-based temperature reporting on
	  Gigabyte mainboards.

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

config YOGABOOK_WMI
	tristate "Lenovo Yoga Book tablet WMI key driver"
	depends on ACPI_WMI
	depends on INPUT
	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-wmi.

config ACERHDF
	tristate "Acer Aspire One temperature and fan driver"
	depends on ACPI && THERMAL
	select THERMAL_GOV_BANG_BANG
	help
	  This is a driver for Acer Aspire One netbooks. It allows to access
	  the temperature sensor and to control the fan.

	  After loading this driver the BIOS is still in control of the fan.
	  To let the kernel handle the fan, do:
	  echo -n enabled > /sys/class/thermal/thermal_zoneN/mode
	  where N=0,1,2... depending on the number of thermal nodes and the
	  detection order of your particular system.  The "type" parameter
	  in the same node directory will tell you if it is "acerhdf".

	  For more information about this driver see
	  <https://piie.net/files/acerhdf_README.txt>

	  If you have an Acer Aspire One netbook, say Y or M
	  here.

config ACER_WIRELESS
        tristate "Acer Wireless Radio Control Driver"
        depends on ACPI
        depends on INPUT
	help
          The Acer Wireless Radio Control handles the airplane mode hotkey
          present on new Acer laptops.

          Say Y or M here if you have an Acer notebook with an airplane mode
          hotkey.

          If you choose to compile this driver as a module the module will be
          called acer-wireless.

config ACER_WMI
	tristate "Acer WMI Laptop Extras"
	depends on ACPI
	select LEDS_CLASS
	select NEW_LEDS
	depends on BACKLIGHT_CLASS_DEVICE
	depends on SERIO_I8042
	depends on INPUT
	depends on RFKILL || RFKILL = n
	depends on ACPI_WMI
	select INPUT_SPARSEKMAP
	# Acer WMI depends on ACPI_VIDEO when ACPI is enabled
        select ACPI_VIDEO if ACPI
	help
	  This is a driver for newer Acer (and Wistron) laptops. It adds
	  wireless radio and bluetooth control, and on some laptops,
	  exposes the mail LED and LCD backlight.

	  If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M
	  here.

config AMD_PMC
	tristate "AMD SoC PMC driver"
	depends on ACPI && PCI && RTC_CLASS
	help
	  The driver provides support for AMD Power Management Controller
	  primarily responsible for S2Idle transactions that are driven from
	  a platform firmware running on SMU. This driver also provides a debug
	  mechanism to investigate the S2Idle transactions and failures.

	  Say Y or M here if you have a notebook powered by AMD RYZEN CPU/APU.

	  If you choose to compile this driver as a module the module will be
	  called amd-pmc.

config ADV_SWBUTTON
	tristate "Advantech ACPI Software Button Driver"
	depends on ACPI && INPUT
	help
	  Say Y here to enable support for Advantech software defined
	  button feature. More information can be found at
	  <http://www.advantech.com.tw/products/>

	  To compile this driver as a module, choose M here. The module will
	  be called adv_swbutton.

config APPLE_GMUX
	tristate "Apple Gmux Driver"
	depends on ACPI && PCI
	depends on PNP
	depends on BACKLIGHT_CLASS_DEVICE
	depends on BACKLIGHT_APPLE=n || BACKLIGHT_APPLE
	depends on ACPI_VIDEO=n || ACPI_VIDEO
	help
	  This driver provides support for the gmux device found on many
	  Apple laptops, which controls the display mux for the hybrid
	  graphics as well as the backlight. Currently only backlight
	  control is supported by the driver.

config ASUS_LAPTOP
	tristate "Asus Laptop Extras"
	depends on ACPI
	select LEDS_CLASS
	select NEW_LEDS
	depends on BACKLIGHT_CLASS_DEVICE
	depends on INPUT
	depends on RFKILL || RFKILL = n
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	select INPUT_SPARSEKMAP
	help
	  This is a driver for Asus laptops, Lenovo SL and the Pegatron
	  Lucid tablet. It may also support some MEDION, JVC or VICTOR
	  laptops. It makes all the extra buttons generate standard
	  ACPI events and input events, and on the Lucid the built-in
	  accelerometer appears as an input device.  It also adds
	  support for video output switching, LCD backlight control,
	  Bluetooth and Wlan control, and most importantly, allows you
	  to blink those fancy LEDs.

	  For more information see <http://acpi4asus.sf.net>.

	  If you have an ACPI-compatible ASUS laptop, say Y or M here.

config ASUS_WIRELESS
	tristate "Asus Wireless Radio Control Driver"
	depends on ACPI
	depends on INPUT
	select NEW_LEDS
	select LEDS_CLASS
	help
	  The Asus Wireless Radio Control handles the airplane mode hotkey
	  present on some Asus laptops.

	  Say Y or M here if you have an ASUS notebook with an airplane mode
	  hotkey.

	  If you choose to compile this driver as a module the module will be
	  called asus-wireless.

config ASUS_WMI
	tristate "ASUS WMI Driver"
	depends on ACPI_WMI
	depends on ACPI_BATTERY
	depends on INPUT
	depends on HWMON
	depends on BACKLIGHT_CLASS_DEVICE
	depends on RFKILL || RFKILL = n
	depends on HOTPLUG_PCI
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	select INPUT_SPARSEKMAP
	select LEDS_CLASS
	select NEW_LEDS
	select ACPI_PLATFORM_PROFILE
	help
	  Say Y here if you have a WMI aware Asus laptop (like Eee PCs or new
	  Asus Notebooks).

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

config ASUS_NB_WMI
	tristate "Asus Notebook WMI Driver"
	depends on ASUS_WMI
	depends on SERIO_I8042 || SERIO_I8042 = n
	help
	  This is a driver for newer Asus notebooks. It adds extra features
	  like wireless radio and bluetooth control, leds, hotkeys, backlight...

	  For more information, see
	  <file:Documentation/ABI/testing/sysfs-platform-asus-wmi>

	  If you have an ACPI-WMI compatible Asus Notebook, say Y or M
	  here.

config ASUS_TF103C_DOCK
	tristate "Asus TF103C 2-in-1 keyboard dock"
	depends on ACPI
	depends on I2C
	depends on INPUT
	depends on HID
	depends on GPIOLIB
	help
	  This is a driver for the keyboard, touchpad and USB port of the
	  keyboard dock for the Asus TF103C 2-in-1 tablet.

	  This keyboard dock has its own I2C attached embedded controller
	  and the keyboard and touchpad are also connected over I2C,
	  instead of using the usual USB connection. This means that the
	  keyboard dock requires this special driver to function.

	  If you have an Asus TF103C tablet say Y or M here, for a generic x86
	  distro config say M here.

config MERAKI_MX100
	tristate "Cisco Meraki MX100 Platform Driver"
	depends on GPIOLIB
	depends on GPIO_ICH
	depends on LEDS_CLASS
	select LEDS_GPIO
	help
	  This driver provides support for the front button and LEDs on
	  the Cisco Meraki MX100 (Tinkerbell) 1U appliance.

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

config EEEPC_LAPTOP
	tristate "Eee PC Hotkey Driver"
	depends on ACPI
	depends on INPUT
	depends on RFKILL || RFKILL = n
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	depends on HOTPLUG_PCI
	depends on BACKLIGHT_CLASS_DEVICE
	select HWMON
	select LEDS_CLASS
	select NEW_LEDS
	select INPUT_SPARSEKMAP
	help
	  This driver supports the Fn-Fx keys on Eee PC laptops.

	  It  also gives access to some extra laptop functionalities like
	  Bluetooth, backlight and allows powering on/off some other
	  devices.

	  If you have an Eee PC laptop, say Y or M here. If this driver
	  doesn't work on your Eee PC, try eeepc-wmi instead.

config EEEPC_WMI
	tristate "Eee PC WMI Driver"
	depends on ASUS_WMI
	help
	  This is a driver for newer Eee PC laptops. It adds extra features
	  like wireless radio and bluetooth control, leds, hotkeys, backlight...

	  For more information, see
	  <file:Documentation/ABI/testing/sysfs-platform-asus-wmi>

	  If you have an ACPI-WMI compatible Eee PC laptop (>= 1000), say Y or M
	  here.

source "drivers/platform/x86/dell/Kconfig"

config AMILO_RFKILL
	tristate "Fujitsu-Siemens Amilo rfkill support"
	depends on RFKILL
	depends on SERIO_I8042
	help
	  This is a driver for enabling wifi on some Fujitsu-Siemens Amilo
	  laptops.

config FUJITSU_LAPTOP
	tristate "Fujitsu Laptop Extras"
	depends on ACPI
	depends on INPUT
	depends on BACKLIGHT_CLASS_DEVICE
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	select INPUT_SPARSEKMAP
	select NEW_LEDS
	select LEDS_CLASS
	help
	  This is a driver for laptops built by Fujitsu:

	    * P2xxx/P5xxx/S6xxx/S7xxx series Lifebooks
	    * Possibly other Fujitsu laptop models
	    * Tested with S6410 and S7020

	  It adds support for LCD brightness control and some hotkeys.

	  If you have a Fujitsu laptop, say Y or M here.

config FUJITSU_TABLET
       tristate "Fujitsu Tablet Extras"
       depends on ACPI
       depends on INPUT
	help
         This is a driver for tablets built by Fujitsu:

           * Lifebook P1510/P1610/P1620/Txxxx
           * Stylistic ST5xxx
           * Possibly other Fujitsu tablet models

         It adds support for the panel buttons, docking station detection,
         tablet/notebook mode detection for convertible and
         orientation detection for docked slates.

         If you have a Fujitsu convertible or slate, say Y or M here.

config GPD_POCKET_FAN
	tristate "GPD Pocket Fan Controller support"
	depends on ACPI
	depends on THERMAL
	help
	  Driver for the GPD Pocket vendor specific FAN02501 ACPI device
	  which controls the fan speed on the GPD Pocket.

	  Without this driver the fan on the Pocket will stay off independent
	  of the CPU temperature. Say Y or M if the kernel may be used on a
	  GPD pocket.

config HP_ACCEL
	tristate "HP laptop accelerometer"
	depends on INPUT && ACPI
	depends on SERIO_I8042
	select SENSORS_LIS3LV02D
	select NEW_LEDS
	select LEDS_CLASS
	help
	  This driver provides support for the "Mobile Data Protection System 3D"
	  or "3D DriveGuard" feature of HP laptops. On such systems the driver
	  should load automatically (via ACPI alias).

	  Support for a led indicating disk protection will be provided as
	  hp::hddprotect. For more information on the feature, refer to
	  Documentation/misc-devices/lis3lv02d.rst.

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

config WIRELESS_HOTKEY
	tristate "Wireless hotkey button"
	depends on ACPI
	depends on INPUT
	help
	 This driver provides supports for the wireless buttons found on some AMD,
	 HP, & Xioami laptops.
	 On such systems the driver should load automatically (via ACPI alias).

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

config HP_WMI
	tristate "HP WMI extras"
	depends on ACPI_WMI
	depends on INPUT
	depends on RFKILL || RFKILL = n
	select INPUT_SPARSEKMAP
	select ACPI_PLATFORM_PROFILE
	select HWMON
	help
	 Say Y here if you want to support WMI-based hotkeys on HP laptops and
	 to read data from WMI such as docking or ambient light sensor state.

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

config TC1100_WMI
	tristate "HP Compaq TC1100 Tablet WMI Extras"
	depends on !X86_64
	depends on ACPI
	depends on ACPI_WMI
	help
	  This is a driver for the WMI extensions (wireless and bluetooth power
	  control) of the HP Compaq TC1100 tablet.

config IBM_RTL
	tristate "Device driver to enable PRTL support"
	depends on PCI
	help
	 Enable support for IBM Premium Real Time Mode (PRTM).
	 This module will allow you the enter and exit PRTM in the BIOS via
	 sysfs on platforms that support this feature.  System in PRTM will
	 not receive CPU-generated SMIs for recoverable errors.  Use of this
	 feature without proper support may void your hardware warranty.

	 If the proper BIOS support is found the driver will load and create
	 /sys/devices/system/ibm_rtl/.  The "state" variable will indicate
	 whether or not the BIOS is in PRTM.
	 state = 0 (BIOS SMIs on)
	 state = 1 (BIOS SMIs off)

config IDEAPAD_LAPTOP
	tristate "Lenovo IdeaPad Laptop Extras"
	depends on ACPI
	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 SENSORS_HDAPS
	tristate "Thinkpad Hard Drive Active Protection System (hdaps)"
	depends on INPUT
	help
	  This driver provides support for the IBM Hard Drive Active Protection
	  System (hdaps), which provides an accelerometer and other misc. data.
	  ThinkPads starting with the R50, T41, and X40 are supported.  The
	  accelerometer data is readable via sysfs.

	  This driver also provides an absolute input class device, allowing
	  the laptop to act as a pinball machine-esque joystick.

	  If your ThinkPad is not recognized by the driver, please update to latest
	  BIOS. This is especially the case for some R52 ThinkPads.

	  Say Y here if you have an applicable laptop and want to experience
	  the awesome power of hdaps.

config THINKPAD_ACPI
	tristate "ThinkPad ACPI Laptop Extras"
	depends on ACPI
	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 LEDS_TRIGGERS
	select LEDS_TRIGGER_AUDIO
	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
	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.

source "drivers/platform/x86/intel/Kconfig"

config MSI_LAPTOP
	tristate "MSI Laptop Extras"
	depends on ACPI
	depends on BACKLIGHT_CLASS_DEVICE
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	depends on RFKILL
	depends on INPUT && SERIO_I8042
	select INPUT_SPARSEKMAP
	help
	  This is a driver for laptops built by MSI (MICRO-STAR
	  INTERNATIONAL):

	  MSI MegaBook S270 (MS-1013)
	  Cytron/TCM/Medion/Tchibo MD96100/SAM2000

	  It adds support for Bluetooth, WLAN and LCD brightness control.

	  More information about this driver is available at
	  <http://0pointer.de/lennart/tchibo.html>.

	  If you have an MSI S270 laptop, say Y or M here.

config MSI_WMI
	tristate "MSI WMI extras"
	depends on ACPI_WMI
	depends on INPUT
	depends on BACKLIGHT_CLASS_DEVICE
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	select INPUT_SPARSEKMAP
	help
	 Say Y here if you want to support WMI-based hotkeys on MSI laptops.

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

config XO15_EBOOK
	tristate "OLPC XO-1.5 ebook switch"
	depends on OLPC || COMPILE_TEST
	depends on ACPI && INPUT
	help
	  Support for the ebook switch on the OLPC XO-1.5 laptop.

	  This switch is triggered as the screen is rotated and folded down to
	  convert the device into ebook form.

config XO1_RFKILL
	tristate "OLPC XO-1 software RF kill switch"
	depends on OLPC || COMPILE_TEST
	depends on RFKILL
	help
	  Support for enabling/disabling the WLAN interface on the OLPC XO-1
	  laptop.

config PCENGINES_APU2
	tristate "PC Engines APUv2/3 front button and LEDs driver"
	depends on INPUT && INPUT_KEYBOARD && GPIOLIB
	depends on LEDS_CLASS
	select GPIO_AMD_FCH
	select KEYBOARD_GPIO_POLLED
	select LEDS_GPIO
	help
	  This driver provides support for the front button and LEDs on
	  PC Engines APUv2/APUv3 board.

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

config BARCO_P50_GPIO
	tristate "Barco P50 GPIO driver for identify LED/button"
	depends on GPIOLIB
	help
	  This driver provides access to the GPIOs for the identify button
	  and led present on Barco P50 board.

	  To compile this driver as a module, choose M here: the module
	  will be called barco-p50-gpio.

config SAMSUNG_LAPTOP
	tristate "Samsung Laptop driver"
	depends on RFKILL || RFKILL = n
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	depends on BACKLIGHT_CLASS_DEVICE
	select LEDS_CLASS
	select NEW_LEDS
	help
	  This module implements a driver for a wide range of different
	  Samsung laptops.  It offers control over the different
	  function keys, wireless LED, LCD backlight level.

	  It may also provide some sysfs files described in
	  <file:Documentation/ABI/testing/sysfs-driver-samsung-laptop>

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

config SAMSUNG_Q10
	tristate "Samsung Q10 Extras"
	depends on ACPI
	select BACKLIGHT_CLASS_DEVICE
	help
	  This driver provides support for backlight control on Samsung Q10
	  and related laptops, including Dell Latitude X200.

config ACPI_TOSHIBA
	tristate "Toshiba Laptop Extras"
	depends on ACPI
	depends on ACPI_WMI
	select LEDS_CLASS
	select NEW_LEDS
	depends on BACKLIGHT_CLASS_DEVICE
	depends on INPUT
	depends on SERIO_I8042 || SERIO_I8042 = n
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	depends on RFKILL || RFKILL = n
	depends on IIO
	select INPUT_SPARSEKMAP
	help
	  This driver adds support for access to certain system settings
	  on "legacy free" Toshiba laptops.  These laptops can be recognized by
	  their lack of a BIOS setup menu and APM support.

	  On these machines, all system configuration is handled through the
	  ACPI.  This driver is required for access to controls not covered
	  by the general ACPI drivers, such as LCD brightness, video output,
	  etc.

	  This driver differs from the non-ACPI Toshiba laptop driver (located
	  under "Processor type and features") in several aspects.
	  Configuration is accessed by reading and writing text files in the
	  /proc tree instead of by program interface to /dev.  Furthermore, no
	  power management functions are exposed, as those are handled by the
	  general ACPI drivers.

	  More information about this driver is available at
	  <http://memebeam.org/toys/ToshibaAcpiDriver>.

	  If you have a legacy free Toshiba laptop (such as the Libretto L1
	  series), say Y.

config TOSHIBA_BT_RFKILL
	tristate "Toshiba Bluetooth RFKill switch support"
	depends on ACPI
	depends on RFKILL || RFKILL = n
	help
	  This driver adds support for Bluetooth events for the RFKill
	  switch on modern Toshiba laptops with full ACPI support and
	  an RFKill switch.

	  This driver handles RFKill events for the TOS6205 Bluetooth,
	  and re-enables it when the switch is set back to the 'on'
	  position.

	  If you have a modern Toshiba laptop with a Bluetooth and an
	  RFKill switch (such as the Portege R500), say Y.

config TOSHIBA_HAPS
	tristate "Toshiba HDD Active Protection Sensor"
	depends on ACPI
	help
	  This driver adds support for the built-in accelerometer
	  found on recent Toshiba laptops equipped with HID TOS620A
	  device.

	  This driver receives ACPI notify events 0x80 when the sensor
	  detects a sudden move or a harsh vibration, as well as an
	  ACPI notify event 0x81 whenever the movement or vibration has
	  been stabilized.

	  Also provides sysfs entries to get/set the desired protection
	  level and resetting the HDD protection interface.

	  If you have a recent Toshiba laptop with a built-in accelerometer
	  device, say Y.

config TOSHIBA_WMI
	tristate "Toshiba WMI Hotkeys Driver (EXPERIMENTAL)"
	depends on ACPI_WMI
	depends on INPUT
	select INPUT_SPARSEKMAP
	help
	  This driver adds hotkey monitoring support to some Toshiba models
	  that manage the hotkeys via WMI events.

	  WARNING: This driver is incomplete as it lacks a proper keymap and the
	  *notify function only prints the ACPI event type value. Be warned that
	  you will need to provide some information if you have a Toshiba model
	  with WMI event hotkeys and want to help with the development of this
	  driver.

	  If you have a WMI-based hotkeys Toshiba laptop, say Y or M here.

config ACPI_CMPC
	tristate "CMPC Laptop Extras"
	depends on ACPI && INPUT
	depends on RFKILL || RFKILL=n
	select BACKLIGHT_CLASS_DEVICE
	help
	  Support for Intel Classmate PC ACPI devices, including some
	  keys as input device, backlight device, tablet and accelerometer
	  devices.

config COMPAL_LAPTOP
	tristate "Compal (and others) Laptop Extras"
	depends on ACPI
	depends on BACKLIGHT_CLASS_DEVICE
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	depends on RFKILL
	depends on HWMON
	depends on POWER_SUPPLY
	help
	  This is a driver for laptops built by Compal, and some models by
	  other brands (e.g. Dell, Toshiba).

	  It adds support for rfkill, Bluetooth, WLAN, LCD brightness, hwmon
	  and battery charging level control.

config LG_LAPTOP
	tristate "LG Laptop Extras"
	depends on ACPI
	depends on ACPI_WMI
	depends on INPUT
	select INPUT_SPARSEKMAP
	select NEW_LEDS
	select LEDS_CLASS
	help
	 This driver adds support for hotkeys as well as control of keyboard
	 backlight, battery maximum charge level and various other ACPI
	 features.

	 If you have an LG Gram laptop, say Y or M here.

config PANASONIC_LAPTOP
	tristate "Panasonic Laptop Extras"
	depends on INPUT && ACPI
	depends on BACKLIGHT_CLASS_DEVICE
	select INPUT_SPARSEKMAP
	help
	  This driver adds support for access to backlight control and hotkeys
	  on Panasonic Let's Note laptops.

	  If you have a Panasonic Let's note laptop (such as the R1(N variant),
	  R2, R3, R5, T2, W2 and Y2 series), say Y.

config SONY_LAPTOP
	tristate "Sony Laptop Extras"
	depends on ACPI
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	depends on BACKLIGHT_CLASS_DEVICE
	depends on INPUT
	depends on RFKILL
	help
	  This mini-driver drives the SNC and SPIC devices present in the ACPI
	  BIOS of the Sony Vaio laptops.

	  It gives access to some extra laptop functionalities like Bluetooth,
	  screen brightness control, Fn keys and allows powering on/off some
	  devices.

	  Read <file:Documentation/admin-guide/laptops/sony-laptop.rst> for more information.

config SONYPI_COMPAT
	bool "Sonypi compatibility"
	depends on SONY_LAPTOP
	help
	  Build the sonypi driver compatibility code into the sony-laptop driver.

config SYSTEM76_ACPI
	tristate "System76 ACPI Driver"
	depends on ACPI
	depends on ACPI_BATTERY
	depends on HWMON
	depends on INPUT
	select NEW_LEDS
	select LEDS_CLASS
	select LEDS_TRIGGERS
	help
	  This is a driver for System76 laptops running open firmware. It adds
	  support for Fn-Fx key combinations, keyboard backlight, and airplane mode
	  LEDs.

	  If you have a System76 laptop running open firmware, say Y or M here.

config TOPSTAR_LAPTOP
	tristate "Topstar Laptop Extras"
	depends on ACPI
	depends on INPUT
	select INPUT_SPARSEKMAP
	select LEDS_CLASS
	select NEW_LEDS
	help
	  This driver adds support for hotkeys found on Topstar laptops.

	  If you have a Topstar laptop, say Y or M here.

config SERIAL_MULTI_INSTANTIATE
	tristate "Serial bus multi instantiate pseudo device driver"
	depends on I2C && SPI && ACPI
	help
	  Some ACPI-based systems list multiple devices in a single ACPI
	  firmware-node. This driver will instantiate separate clients
	  for each device in the firmware-node.

	  To compile this driver as a module, choose M here: the module
	  will be called serial-multi-instantiate.

config MLX_PLATFORM
	tristate "Mellanox Technologies platform support"
	depends on I2C && REGMAP
	help
	  This option enables system support for the Mellanox Technologies
	  platform. The Mellanox systems provide data center networking
	  solutions based on Virtual Protocol Interconnect (VPI) technology
	  enable seamless connectivity to 56/100Gb/s InfiniBand or 10/40/56GbE
	  connection.

	  If you have a Mellanox system, say Y or M here.

config TOUCHSCREEN_DMI
	bool "DMI based touchscreen configuration info"
	depends on ACPI && DMI && I2C=y && TOUCHSCREEN_SILEAD
	select EFI_EMBEDDED_FIRMWARE if EFI
	help
	  Certain ACPI based tablets with e.g. Silead or Chipone touchscreens
	  do not have enough data in ACPI tables for the touchscreen driver to
	  handle the touchscreen properly, as OEMs expect the data to be baked
	  into the tablet model specific version of the driver shipped with the
	  the OS-image for the device. This option supplies the missing info.
	  Enable this for x86 tablets with Silead or Chipone touchscreens.

config X86_ANDROID_TABLETS
	tristate "X86 Android tablet support"
	depends on I2C && SERIAL_DEV_BUS && ACPI && GPIOLIB
	help
	  X86 tablets which ship with Android as (part of) the factory image
	  typically have various problems with their DSDTs. The factory kernels
	  shipped on these devices typically have device addresses and GPIOs
	  hardcoded in the kernel, rather than specified in their DSDT.

	  With the DSDT containing a random collection of devices which may or
	  may not actually be present. This driver contains various fixes for
	  such tablets, including instantiating kernel devices for devices which
	  are missing from the DSDT.

	  If you have a x86 Android tablet say Y or M here, for a generic x86
	  distro config say M here.

config FW_ATTR_CLASS
	tristate

config INTEL_IMR
	bool "Intel Isolated Memory Region support"
	depends on X86_INTEL_QUARK && IOSF_MBI
	help
	  This option provides a means to manipulate Isolated Memory Regions.
	  IMRs are a set of registers that define read and write access masks
	  to prohibit certain system agents from accessing memory with 1 KiB
	  granularity.

	  IMRs make it possible to control read/write access to an address
	  by hardware agents inside the SoC. Read and write masks can be
	  defined for:
		- eSRAM flush
		- Dirty CPU snoop (write only)
		- RMU access
		- PCI Virtual Channel 0/Virtual Channel 1
		- SMM mode
		- Non SMM mode

	  Quark contains a set of eight IMR registers and makes use of those
	  registers during its bootup process.

	  If you are running on a Galileo/Quark say Y here.

config INTEL_IPS
	tristate "Intel Intelligent Power Sharing"
	depends on ACPI && PCI
	help
	  Intel Calpella platforms support dynamic power sharing between the
	  CPU and GPU, maximizing performance in a given TDP.  This driver,
	  along with the CPU frequency and i915 drivers, provides that
	  functionality.  If in doubt, say Y here; it will only load on
	  supported platforms.

config INTEL_SCU_IPC
	bool

config INTEL_SCU
	bool
	select INTEL_SCU_IPC

config INTEL_SCU_PCI
	bool "Intel SCU PCI driver"
	depends on PCI
	select INTEL_SCU
	help
	  This driver is used to bridge the communications between kernel
	  and SCU on some embedded Intel x86 platforms. It also creates
	  devices that are connected to the SoC through the SCU.
	  Platforms supported:
	    Medfield
	    Clovertrail
	    Merrifield
	    Broxton
	    Apollo Lake

config INTEL_SCU_PLATFORM
	tristate "Intel SCU platform driver"
	depends on ACPI
	select INTEL_SCU
	help
	  This driver is used to bridge the communications between kernel
	  and SCU (sometimes called PMC as well). The driver currently
	  supports Intel Elkhart Lake and compatible platforms.

config INTEL_SCU_WDT
	bool
	default INTEL_SCU_PCI
	depends on INTEL_MID_WATCHDOG
	help
	  This is a specific platform code to instantiate watchdog device
	  on ACPI-based Intel MID platforms.

config INTEL_SCU_IPC_UTIL
	tristate "Intel SCU IPC utility driver"
	depends on INTEL_SCU
	help
	  The IPC Util driver provides an interface with the SCU enabling
	  low level access for debug work and updating the firmware. Say
	  N unless you will be doing this on an Intel MID platform.

config SIEMENS_SIMATIC_IPC
	tristate "Siemens Simatic IPC Class driver"
	depends on PCI
	help
	  This Simatic IPC class driver is the central of several drivers. It
	  is mainly used for system identification, after which drivers in other
	  classes will take care of driving specifics of those machines.
	  i.e. LEDs and watchdog.

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

endif # X86_PLATFORM_DEVICES

config PMC_ATOM
       def_bool y
       depends on PCI
       select COMMON_CLK