# This file is part of systemd.
#
# The lookup keys are $MODALIAS strings, see udev's hwdb builtin.
#
# Match string formats:
# <subsystem>:<modalias>
#
# pci:v<vendor>d<device>
# usb:v<vendor>p<product>
#
# To add local entries, create a new file
#   /etc/udev/hwdb.d/61-autosuspend-local.hwdb
# and add your rules there. To load the new rules execute (as root):
#   systemd-hwdb update
#   udevadm trigger /dev/…
#
# If your changes are generally applicable, preferably send them as a pull
# request to
#   https://github.com/systemd/systemd
# or create a bug report on https://github.com/systemd/systemd/issues and
# include your new rules, a description of the device, and the output of
#   udevadm info
# the device.
#
# 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

#########################################
# Alcor
#########################################

# AU9540 Smartcard Reader
usb:v058Fp9540*
 ID_AUTOSUSPEND=1

#########################################
# Lenovo
#########################################

# X1C8 Touchscreen
usb:v04F3p2B7C*
# T14 Gen 1 Touchscreen
usb:v04F3p2ACC*
 ID_AUTOSUSPEND=1

#########################################
# QEMU
#########################################

# Emulated USB HID devices
usb:v0627p0001:*QEMU USB Keyboard*
usb:v0627p0001:*QEMU USB Mouse*
usb:v0627p0001:*QEMU USB Tablet*
 ID_AUTOSUSPEND=1

#########################################
# Sierra Wireless
#########################################

# Sierra Wireless EM7345 4G LTE modem
usb:v1199pA001*
 ID_AUTOSUSPEND=1

#########################################
# Wacom
#########################################

usb:v056Ap51A0*
 ID_AUTOSUSPEND=1
