blob: 3faf5f4d711a81f963b8b34ea84905aa071b0bb9 [file] [log] [blame]
Mario Limonciellob61d7772019-09-09 22:49:35 +01001#!/usr/bin/env python3
2# SPDX-License-Identifier: LGPL-2.1+
3
4# Generate autosuspend rules for devices that have been whitelisted (IE tested)
Tim Teichmann0490b442019-10-06 17:59:53 +02005# by the Chromium OS team. Please keep this script in sync with:
Mario Limonciellob61d7772019-09-09 22:49:35 +01006# https://chromium.googlesource.com/chromiumos/platform2/+/master/power_manager/udev/gen_autosuspend_rules.py
7
8import sys
Tim Teichmann0490b442019-10-06 17:59:53 +02009import chromiumos.gen_autosuspend_rules
Mario Limonciellob61d7772019-09-09 22:49:35 +010010
Lennart Poetteringb4564642020-06-09 17:00:56 +020011HWDB_FILE = """\
12%(usb_entries)s\
13%(pci_entries)s\
14"""
15
Mario Limonciellob61d7772019-09-09 22:49:35 +010016if __name__ == '__main__':
17 if len(sys.argv) > 1:
18 sys.stdout = open(sys.argv[1], 'w')
Lennart Poetteringb4564642020-06-09 17:00:56 +020019
20 pci_entries = ''
21 for dev_ids in chromiumos.gen_autosuspend_rules.PCI_IDS:
22 vendor, device = dev_ids.split(':')
23
24 pci_entries += ('usb:v%sp%s*\n'
25 ' ID_AUTOSUSPEND=1\n' % (vendor, device))
26 usb_entries = ''
27 for dev_ids in chromiumos.gen_autosuspend_rules.USB_IDS:
28 vendor, device = dev_ids.split(':')
29
30 usb_entries += ('pci:v%sp%s*\n'
31 ' ID_AUTOSUSPEND=1\n' % (vendor, device))
32
33 print(HWDB_FILE % {'pci_entries' : pci_entries, 'usb_entries': usb_entries})