Mario Limonciello | b61d777 | 2019-09-09 22:49:35 +0100 | [diff] [blame] | 1 | #!/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 Teichmann | 0490b44 | 2019-10-06 17:59:53 +0200 | [diff] [blame] | 5 | # by the Chromium OS team. Please keep this script in sync with: |
Mario Limonciello | b61d777 | 2019-09-09 22:49:35 +0100 | [diff] [blame] | 6 | # https://chromium.googlesource.com/chromiumos/platform2/+/master/power_manager/udev/gen_autosuspend_rules.py |
| 7 | |
| 8 | import sys |
Tim Teichmann | 0490b44 | 2019-10-06 17:59:53 +0200 | [diff] [blame] | 9 | import chromiumos.gen_autosuspend_rules |
Mario Limonciello | b61d777 | 2019-09-09 22:49:35 +0100 | [diff] [blame] | 10 | |
Lennart Poettering | b456464 | 2020-06-09 17:00:56 +0200 | [diff] [blame] | 11 | HWDB_FILE = """\ |
| 12 | %(usb_entries)s\ |
| 13 | %(pci_entries)s\ |
| 14 | """ |
| 15 | |
Mario Limonciello | b61d777 | 2019-09-09 22:49:35 +0100 | [diff] [blame] | 16 | if __name__ == '__main__': |
| 17 | if len(sys.argv) > 1: |
| 18 | sys.stdout = open(sys.argv[1], 'w') |
Lennart Poettering | b456464 | 2020-06-09 17:00:56 +0200 | [diff] [blame] | 19 | |
| 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}) |