mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-12-22 13:33:56 +03:00
hwdb: Permit unsetting power/persist for USB devices
The USB persist feature allows devices that can retain their state when powered down to work across suspend/resume. This is in particular useful for USB drives. However, the persist feature can get in the way for devices that are unable to retain their state when power is lost. An example of such stateful devices are fingerprint readers where USB persist should be disabled to ensure userspace can detect whether the USB device had a power loss during system suspend. This will initially be used by the libfprint autosuspend hwdb. Closes: #20754
This commit is contained in:
parent
7e99216c1d
commit
bd37360a21
@ -24,6 +24,13 @@
|
||||
#
|
||||
# Allowed properties are:
|
||||
# ID_AUTOSUSPEND=1
|
||||
# ID_PERSIST=0
|
||||
#
|
||||
# ID_PERSIST=0 allows disabling the kernels USB "persist" feature, which allows
|
||||
# the continued use of devices after a power loss (due to suspend). Disable it
|
||||
# if the device will loose state without a USB power session and the driver
|
||||
# is unable to recover the state when resuming. See
|
||||
# https://www.kernel.org/doc/html/latest/driver-api/usb/persist.html
|
||||
|
||||
# Sort by brand, model
|
||||
|
||||
|
@ -134,6 +134,7 @@ def property_grammar():
|
||||
('MOUSE_WHEEL_CLICK_COUNT', INTEGER),
|
||||
('MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL', INTEGER),
|
||||
('ID_AUTOSUSPEND', Or((Literal('0'), Literal('1')))),
|
||||
('ID_PERSIST', Or((Literal('0'), Literal('1')))),
|
||||
('ID_INPUT', Or((Literal('0'), Literal('1')))),
|
||||
('ID_INPUT_ACCELEROMETER', Or((Literal('0'), Literal('1')))),
|
||||
('ID_INPUT_JOYSTICK', Or((Literal('0'), Literal('1')))),
|
||||
|
@ -11,4 +11,8 @@ SUBSYSTEM=="i2c", ATTR{name}=="cyapa", \
|
||||
ENV{ID_AUTOSUSPEND}=="1", TEST=="power/control", \
|
||||
ATTR{power/control}="auto"
|
||||
|
||||
# Disable USB persist if hwdb says so.
|
||||
ENV{ID_PERSIST}=="0", TEST=="power/persist", \
|
||||
ATTR{power/persist}="0"
|
||||
|
||||
LABEL="autosuspend_end"
|
||||
|
Loading…
Reference in New Issue
Block a user