OpenCloudOS-Kernel/drivers/platform/x86
Perry Yuan 8af9fa37b8 platform/x86: dell-privacy: Add support for Dell hardware privacy
add support for Dell privacy driver for the Dell units equipped
hardware privacy design, which protect users privacy of audio and
camera from hardware level. Once the audio or camera privacy mode
activated, any applications will not get any audio or video stream
when user pressed ctrl+F4 hotkey, audio privacy mode will be
enabled, micmute led will be also changed accordingly
The micmute led is fully controlled by hardware & EC(embedded controller)
and camera mute hotkey is Ctrl+F9. Currently design only emits
SW_CAMERA_LENS_COVER event while the camera lens shutter will be
changed by EC & HW(hardware) control

*The flow is like this:
1) User presses key. HW does stuff with this key (timeout timer is started)
2) WMI event is emitted from BIOS to kernel
3) WMI event is received by dell-privacy
4) KEY_MICMUTE emitted from dell-privacy
5) Userland picks up key and modifies kcontrol for SW mute
6) Codec kernel driver catches and calls ledtrig_audio_set
7) dell-privacy notifies EC, the timeout is cancelled and the HW mute
   is activated. If the EC is not notified then the HW mic mute will
   activate when the timeout triggers, just a bit later than with the
   active ack.

Signed-off-by: Perry Yuan <perry_yuan@dell.com>
Link: https://lore.kernel.org/r/20210506115605.1504-1-Perry_Yuan@Dell.com
[hdegoede@redhat.com: Rework Kconfig/Makefile bits + other small fixups]
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2021-06-16 17:47:51 +02:00
..
dell platform/x86: dell-privacy: Add support for Dell hardware privacy 2021-06-16 17:47:51 +02:00
intel_speed_select_if platform/x86: ISST: Account for increased timeout in some cases 2021-04-07 19:47:22 +02:00
Kconfig platform/x86: Rename hp-wireless to wireless-hotkey 2021-06-16 17:47:49 +02:00
Makefile platform/x86: Rename hp-wireless to wireless-hotkey 2021-06-16 17:47:49 +02:00
acer-wireless.c acer-wireless: send an EV_SYN/SYN_REPORT between state changes 2020-12-07 16:10:11 +01:00
acer-wmi.c platform/x86: acer-wmi: Don't use ACPI_EXCEPTION() 2021-02-04 15:15:19 +01:00
acerhdf.c thermal/core: Remove ms based delay fields 2021-01-19 22:23:49 +01:00
adv_swbutton.c platform/x86: add support for Advantech software defined button 2021-04-07 19:46:56 +02:00
amd-pmc.c platform/x86: amd-pmc: put device on error paths 2021-02-02 19:33:44 +01:00
amilo-rfkill.c
apple-gmux.c platform/x86: apple-gmux: Replace HTTP links with HTTPS ones 2020-07-15 13:01:20 +03:00
asus-laptop.c platform/x86: asus-laptop: fix kobj_to_dev.cocci warnings 2021-03-23 21:06:10 +01:00
asus-nb-wmi.c platform/x86: asus-nb-wmi: Revert "add support for ASUS ROG Zephyrus G14 and G15" 2021-06-16 17:47:50 +02:00
asus-wireless.c
asus-wmi.c platform/x86: asus-wmi: Add param to turn fn-lock mode on by default 2021-04-07 19:47:08 +02:00
asus-wmi.h platform/x86: asus-wmi: Add support for SW_TABLET_MODE on UX360 2020-10-28 12:47:37 +01:00
classmate-laptop.c platform/x86: Typo fix in the file classmate-laptop.c 2021-03-23 21:05:58 +01:00
compal-laptop.c
eeepc-laptop.c platform/x86: eeepc-laptop: Drop duplicate check for led_classdev_unregister() 2020-05-07 19:39:32 +03:00
eeepc-wmi.c
fujitsu-laptop.c
fujitsu-tablet.c
gigabyte-wmi.c platform/x86: gigabyte-wmi: add support for B550 Aorus Elite 2021-05-19 15:59:47 +02:00
gpd-pocket-fan.c platform/x86: gpd pocket fan: Clean-up by using managed work init 2021-03-23 15:22:40 +01:00
hdaps.c treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
hp-wmi.c platform/x86: hp-wmi: add platform profile support 2021-03-08 11:33:39 +01:00
hp_accel.c platform/x86: hp_accel: Avoid invoking _INI to speed up resume 2021-05-11 13:44:18 +02:00
huawei-wmi.c platform/x86: huawei-wmi: Remove unnecessary battery mutex 2019-10-21 12:17:30 +03:00
i2c-multi-instantiate.c platform/x86: i2c-multi-instantiate: Don't create platform device for INT3515 ACPI nodes 2021-01-04 15:54:45 +01:00
ibm_rtl.c
ideapad-laptop.c platform/x86: ideapad-laptop: Ignore VPC event bit 10 2021-06-16 17:47:50 +02:00
intel-hid.c platform/x86: intel-hid: Fix spurious wakeups caused by tablet-mode events during suspend 2021-04-06 22:10:21 +02:00
intel-rst.c
intel-smartconnect.c
intel-uncore-frequency.c platform/x86/intel-uncore-freq: Add Sapphire Rapids server support 2021-02-03 13:10:34 +01:00
intel-vbtn.c platform/x86: intel-vbtn: Remove unused KEYMAP_LEN define 2021-04-07 19:47:13 +02:00
intel-wmi-sbl-fw-update.c platform/x86: wmi: Make remove callback return void 2021-03-08 11:33:39 +01:00
intel-wmi-thunderbolt.c platform/x86: wmi: Make remove callback return void 2021-03-08 11:33:39 +01:00
intel_atomisp2_led.c platform/x86: Add new intel_atomisp2_led driver 2020-07-09 22:47:27 +03:00
intel_atomisp2_pm.c platform/x86: intel_atomisp2_pm: Spelling fixes 2020-01-10 11:57:22 +02:00
intel_bxtwc_tmu.c
intel_cht_int33fe_common.c platform/x86: intel_cht_int33fe: Drop double check for ACPI companion device 2020-07-09 22:40:36 +03:00
intel_cht_int33fe_common.h
intel_cht_int33fe_microb.c platform/x86: intel_cht_int33fe_microb: Constify the software node 2021-04-10 21:43:01 +02:00
intel_cht_int33fe_typec.c platform/x86: intel_cht_int33fe: Correct "displayport" fwnode reference 2021-06-16 17:47:49 +02:00
intel_chtdc_ti_pwrbtn.c platform/x86: intel_chtdc_ti_pwrbtn: Fix missing IRQF_ONESHOT as only threaded handler 2021-04-15 13:46:23 +02:00
intel_int0002_vgpio.c platform/x86: intel_int0002_vgpio: Only call enable_irq_wake() when using s2idle 2021-05-19 15:59:47 +02:00
intel_ips.c
intel_ips.h platform/x86: intel-ips: Use the correct style for SPDX License Identifier 2020-01-10 11:57:21 +02:00
intel_menlow.c platform/x86: intel_menlow: switch to use <linux/units.h> helpers 2020-01-31 10:30:40 -08:00
intel_mrfld_pwrbtn.c
intel_oaktrail.c
intel_pmc_core.c platform/x86: intel_pmc_core: Uninitialized data in pmc_core_lpm_latch_mode_write() 2021-04-21 21:32:31 +02:00
intel_pmc_core.h platform/x86: intel_pmc_core: Add LTR registers for Tiger Lake 2021-04-19 10:44:28 +02:00
intel_pmc_core_pltdrv.c platform/x86: intel_pmc_core: do not create a static struct device 2020-09-24 14:05:21 +03:00
intel_pmt_class.c platform/x86: intel_pmt_class: Initial resource to 0 2021-03-23 21:49:56 +01:00
intel_pmt_class.h mfd: intel_pmt: Add support for DG1 2021-03-10 10:48:48 +00:00
intel_pmt_crashlog.c platform/x86: intel_pmt_crashlog: Fix incorrect macros 2021-03-23 21:50:02 +01:00
intel_pmt_telemetry.c mfd: intel_pmt: Add support for DG1 2021-03-10 10:48:48 +00:00
intel_punit_ipc.c platform/x86: intel_punit_ipc: Append MODULE_DEVICE_TABLE for ACPI 2021-05-19 15:59:47 +02:00
intel_scu_ipc.c platform/x86: intel_scu_ipc: Increase virtual timeout from 3 to 5 seconds 2021-02-11 16:49:10 +01:00
intel_scu_ipcutil.c platform/x86: intel_scu_ipcutil: Convert to use new SCU IPC API 2020-04-24 11:17:41 +01:00
intel_scu_pcidrv.c sfi: Remove framework for deprecated firmware 2021-02-15 20:09:46 +01:00
intel_scu_pltdrv.c platform/x86: Add Elkhart Lake SCU/PMC support 2020-05-05 20:26:16 +03:00
intel_scu_wdt.c platform/x86: intel_scu_wdt: Drop mistakenly added const 2021-02-05 12:54:27 +02:00
intel_telemetry_core.c platform/x86: intel_telemetry: Add telemetry_get_pltdata() 2020-04-24 11:18:30 +01:00
intel_telemetry_debugfs.c platform/x86: intel_pmc_ipc: Convert to MFD 2020-04-24 11:18:44 +01:00
intel_telemetry_pltdrv.c platform/x86: intel_pmc_ipc: Convert to MFD 2020-04-24 11:18:44 +01:00
intel_turbo_max_3.c platform/x86: Convert to new CPU match macros 2020-03-24 21:33:00 +01:00
lg-laptop.c platform: x86: ACPI: Get rid of ACPICA message printing 2021-03-08 11:33:39 +01:00
mlx-platform.c platform/x86: mlx-platform: Fix item counter assignment for MSN2700/ComEx system 2020-12-08 11:14:49 +01:00
msi-laptop.c
msi-wmi.c platform/x86: msi-wmi: Fix variable 'status' set but not used compiler warning 2021-02-04 13:35:20 +01:00
mxm-wmi.c
panasonic-laptop.c platform/x86: panasonic-laptop: remove redundant assignment of variable result 2021-04-07 19:47:22 +02:00
pcengines-apuv2.c platform/x86: pcengines-apuv2: Fix typo on define of AMD_FCH_GPIO_REG_GPIO55_DEVSLP0 2020-09-24 14:04:53 +03:00
peaq-wmi.c
pmc_atom.c platform/x86: pmc_atom: Match all Beckhoff Automation baytrail boards with critclk_systems DMI table 2021-04-14 15:52:37 +02:00
samsung-laptop.c platform/x86: samsung-laptop: set debugfs blobs to read only 2021-06-16 17:47:49 +02:00
samsung-q10.c
sony-laptop.c platform/x86: remove unneeded break 2020-10-28 12:32:06 +01:00
system76_acpi.c platform/x86: system76-acpi: Fix brightness_set schedule while atomic 2020-07-09 22:40:36 +03:00
tc1100-wmi.c
thinkpad_acpi.c platform/x86: thinkpad_acpi: Add X1 Carbon Gen 9 second fan support 2021-06-16 17:47:51 +02:00
topstar-laptop.c
toshiba-wmi.c
toshiba_acpi.c platform/x86: toshiba_acpi: Fix the wrong variable assignment 2020-11-26 15:48:46 +01:00
toshiba_bluetooth.c
toshiba_haps.c platform/x86: toshiba_haps: Fix missing newline in pr_debug call in toshiba_haps_notify 2021-06-16 17:47:49 +02:00
touchscreen_dmi.c platform/x86: touchscreen_dmi: Add info for the Chuwi Hi10 Pro (CWI529) tablet 2021-05-20 14:11:03 +02:00
uv_sysfs.c x86/platform/uv: Add sysfs hubless leaves 2020-12-07 19:51:05 +01:00
wireless-hotkey.c platform/x86: Rename hp-wireless to wireless-hotkey 2021-06-16 17:47:49 +02:00
wmi-bmof.c platform/x86: wmi: Make remove callback return void 2021-03-08 11:33:39 +01:00
wmi.c platform/x86: wmi: Make remove callback return void 2021-03-08 11:33:39 +01:00
xiaomi-wmi.c platform/x86: wmi: Make two functions static 2020-04-17 16:47:26 +03:00
xo1-rfkill.c
xo15-ebook.c platform: x86: ACPI: Get rid of ACPICA message printing 2021-03-08 11:33:39 +01:00