device_google_gs101/conf
Vaibhav Devmurari a690698afa Allow system server to access sysfs node of led lights.
To support input device lights manager feature in frameworks, provide
sysfs node access to system server process.
DD: go/pk_backlight_control (For keyboard backlight control for external
keyboards)

Kernel provides a standardized LED interface to expose LED controls
over sysfs: https://docs.kernel.org/leds/leds-class.html
The feature will be provided for devices with kernel sysfs class led
support and vendor kernel driver for input controllers that do have
lights. The kernel sysfs class led support is a kernel config option
(LEDS_CLASS), and an input device driver will create the sysfs class
node interface.
By giving system_server the access to these sysfs nodes, the feature
will work on devices with the kernel option and kernel input/hid driver
support. We do use CTS tests to enforce the kernel options and the
input device drivers.

What's already supported:
- We already expose paths for UHID based LED nodes which covers all
bluetooth based peripherals that have custom vendor drivers to expose
LED sysfs nodes. (see CL aosp/1546377)

What's included in this CL:
- Exposing paths for sysfs nodes for external USB based devices that
expose LED nodes using vendor specific drivers using standard LED
interface provided by Kernel
- We are using specific paths for USB devices instead of
/sys/class/leds to avoid giving access to system LED nodes that would
also appear under /sys/class/leds (see discussion in aosp/1546377)

NOTE: Light HAL should never touch the HID device sysfs light, as the
light HAL only defines a number of lights supported
(https://android.googlesource.com/platform/hardware/interfaces/+/master/light/2.0/types.hal)
but not include input device lights, so we shouldn't have conflict
for managing these lights.

NOTE: External keyboard backlight is different for HAL light type
KEYBOARD which is for devices with attached keyboards.

Test: manual
Bug: 245506418
Change-Id: I2e9f3cbce55f3f894ca346bafa5ded280086a3ca
2022-10-04 09:22:33 +00:00
..
nomodem gs101: new Android.bp for non-modem projects 2021-12-28 10:12:44 +00:00
Android.bp gs101: new Android.bp for non-modem projects 2021-12-28 10:12:44 +00:00
egl.cfg Move slider into gs101 and <device> 2021-03-06 16:31:12 +08:00
fstab.gs101.in fstab: disable auto compression for apk,apex and so 2022-06-21 21:14:26 +00:00
fstab.persist Move slider into gs101 and <device> 2021-03-06 16:31:12 +08:00
fstab.postinstall Move slider into gs101 and <device> 2021-03-06 16:31:12 +08:00
init.aoc.daemon.rc Move slider into gs101 and <device> 2021-03-06 16:31:12 +08:00
init.aoc.nodaemon.rc Move slider into gs101 and <device> 2021-03-06 16:31:12 +08:00
init.debug.rc do not mount the debugfs on userdebug builds 2021-06-04 04:00:00 +00:00
init.exynos.nanohub.rc Move slider into gs101 and <device> 2021-03-06 16:31:12 +08:00
init.factory.rc do not mount the debugfs on user builds 2021-04-30 00:56:07 +00:00
init.gs101.rc init: add permission to adjust wlc fan alarm level am: 926cb2a319 am: 52fcfba09b 2022-09-20 17:25:36 +00:00
init.gs101.usb.rc usb: remove set_usb_irq script for irq change 2022-05-05 07:08:19 +00:00
init.recovery.device.rc gs101: recovery: add wait for dwc3 device to probe 2021-11-04 14:36:37 -07:00
recovery.wipe Move slider into gs101 and <device> 2021-03-06 16:31:12 +08:00
soundtrigger_conf.h Move slider into gs101 and <device> 2021-03-06 16:31:12 +08:00
ueventd.gs101.rc Allow system server to access sysfs node of led lights. 2022-10-04 09:22:33 +00:00