From: Mario Limonciello Date: Tue, 10 May 2022 01:16:22 +0000 (-0500) Subject: Add support to set autosuspend delay via hwdb X-Git-Tag: v251-rc3~24^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fa9a43a6905187195c9e86a61a906647726c3e55;p=thirdparty%2Fsystemd.git Add support to set autosuspend delay via hwdb --- diff --git a/hwdb.d/60-autosuspend.hwdb b/hwdb.d/60-autosuspend.hwdb index 1b6c1e1c8fc..323611d0003 100644 --- a/hwdb.d/60-autosuspend.hwdb +++ b/hwdb.d/60-autosuspend.hwdb @@ -24,8 +24,12 @@ # # Allowed properties are: # ID_AUTOSUSPEND=1 +# ID_AUTOSUSPEND_DELAY_MS=#### # ID_PERSIST=0 # +# ID_AUTOSUSPEND_DELAY_MS adjusts the delay for autosuspend to something +# different than the kernel default of 2000ms. +# # 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 diff --git a/hwdb.d/parse_hwdb.py b/hwdb.d/parse_hwdb.py index 93179b675c9..7bad559699b 100755 --- a/hwdb.d/parse_hwdb.py +++ b/hwdb.d/parse_hwdb.py @@ -135,6 +135,7 @@ def property_grammar(): ('MOUSE_WHEEL_CLICK_COUNT', INTEGER), ('MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL', INTEGER), ('ID_AUTOSUSPEND', Or((Literal('0'), Literal('1')))), + ('ID_AUTOSUSPEND_DELAY_MS', INTEGER), ('ID_AV_PRODUCTION_CONTROLLER', Or((Literal('0'), Literal('1')))), ('ID_PERSIST', Or((Literal('0'), Literal('1')))), ('ID_PDA', Or((Literal('0'), Literal('1')))), diff --git a/rules.d/60-autosuspend.rules b/rules.d/60-autosuspend.rules index 332d052caa3..ce31a920edb 100644 --- a/rules.d/60-autosuspend.rules +++ b/rules.d/60-autosuspend.rules @@ -15,4 +15,8 @@ ENV{ID_AUTOSUSPEND}=="1", TEST=="power/control", \ ENV{ID_PERSIST}=="0", TEST=="power/persist", \ ATTR{power/persist}="0" +# Set up an autosuspend delay if hwdb say so +ENV{ID_AUTOSUSPEND_DELAY_MS}!="", TEST=="power/control", \ + ATTR{power/autosuspend_delay_ms}="$env{ID_AUTOSUSPEND_DELAY_MS}" + LABEL="autosuspend_end"