device_google_gs201/conf
Vaibhav Devmurari 0f9dcda519 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)

Similar CL: ag/20102346

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: I17031179b7c1e56b0e841d4047859006d005fd21
2022-11-22 15:14:57 +00:00
..
Android.bp [LSC] Add LOCAL_LICENSE_KINDS 2021-11-11 17:36:28 -08:00
egl.cfg Create gs201 device folder baseline 2021-05-19 13:35:26 +08:00
fstab.gs201.in conf: create dedicated init rc for modem 2022-07-06 16:04:13 +08:00
fstab.modem conf: create dedicated init rc for modem 2022-07-06 16:04:13 +08:00
fstab.persist Use EXT4 for /persist 2022-08-01 18:00:49 +00:00
fstab.postinstall Revert "use erofs for RO partitions" 2022-05-23 21:00:19 +00:00
init.debug.rc pkvm: Prefix metrics when running on A0 chip 2022-09-26 09:59:08 +00:00
init.exynos.nanohub.rc Create gs201 device folder baseline 2021-05-19 13:35:26 +08:00
init.factory.rc sched: move sysfs to procfs 2022-03-24 17:44:37 +00:00
init.gs201.rc Revert "gs201:conf Add memlat CPU idle awareness settings" 2022-11-15 21:20:52 +00:00
init.gs201.usb.rc Disable USB contaminant detection when the disable flag is true 2022-09-30 08:56:59 +00:00
init.modem.rc conf: create dedicated init rc for modem 2022-07-06 16:04:13 +08:00
init.recovery.device.rc recovery: add wait for dwc3 device to probe 2022-02-22 02:32:17 +00:00
recovery.wipe Create gs201 device folder baseline 2021-05-19 13:35:26 +08:00
soundtrigger_conf.h Create gs201 device folder baseline 2021-05-19 13:35:26 +08:00
ueventd.gs201.rc Allow system server to access sysfs node of led lights. 2022-11-22 15:14:57 +00:00