[PATCH v2 0/7] Add camera access keys, IdeaPad driver improvements

From: Eray Orçunus
Date: Sat Oct 29 2022 - 08:04:25 EST


Nowadays many laptops have camera access keys, yet there is no usage codes
mapped to them, even though it's introduced in HUTRR72. Start point of
this patch series was adding it and making IdeaPads send it to userspace.
But later I discovered that camera_power attribute of ideapad-laptop
driver on my IdeaPad 520-15IKB doesn't work, so I can't toggle it with
that. I managed to find a way to check whether an IdeaPad supports
camera_power attribute (which sends VPCCMD_W_CAMERA to EC), don't expose
it to sysfs so userspace will know that it can't toggle camera access via
camera_power, in my case, after receiving KEY_CAMERA_ACCESS_TOGGLE.

Along the way I discovered that old IdeaPads, like S10-3, may not be able
to toggle their touchpad as a regression of a commit aimed for newer
IdeaPads, so I reverted it.

Also I noticed that I can get/set the state of my keyboard light,
so one of the patches also adds supports for this kind of keyboard lights,
which I call "partially supported keyboard lights". I expect that commit
to add keyboard light support for 520-15IKB, 330-17ICH, 5 (15) and more.
Currently only tested on 520-15IKB.
---
Changes in v2:
- Added Dmitry Torokhov's Acked-By to patch 2
- Applied Barnabás Pőcze's recommendations to patch 5:
- strncmp -> strstarts
- static global "CAM" string -> inlined "CAM" string
- move new variables to the scope they're used, and order them
- Added patch 7, which removes "touchpad" attr for SYNA2B33

Eray Orçunus (7):
Revert "platform/x86: ideapad-laptop: check for touchpad support in
_CFG"
HID: add mapping for camera access keys
platform/x86: ideapad-laptop: Report KEY_CAMERA_ACCESS_TOGGLE instead
of KEY_CAMERA
platform/x86: ideapad-laptop: Add new _CFG bit numbers for future use
platform/x86: ideapad-laptop: Expose camera_power only if supported
platform/x86: ideapad-laptop: Keyboard backlight support for more
IdeaPads
platform/x86: ideapad-laptop: Don't expose touchpad attr on IdeaPads
with SYNA2B33

drivers/hid/hid-debug.c | 3 +
drivers/hid/hid-input.c | 3 +
drivers/platform/x86/ideapad-laptop.c | 170 ++++++++++++++++++++++---
include/uapi/linux/input-event-codes.h | 3 +
4 files changed, 162 insertions(+), 17 deletions(-)


base-commit: d9db04c1dec6189413701c52b9498a7a56c96445
--
2.34.1