aboutsummaryrefslogtreecommitdiffstats
path: root/roles/udev
diff options
context:
space:
mode:
authorStonewall Jackson <stonewall@sacredheartsc.com>2023-02-04 01:23:43 -0500
committerStonewall Jackson <stonewall@sacredheartsc.com>2023-02-04 01:52:13 -0500
commit0261e875679f1bf63c8d689da7fc7e014597885d (patch)
tree3f19cd74a0c1070944f75437f30b098d6ef2ffcb /roles/udev
downloadselfhosted-0261e875679f1bf63c8d689da7fc7e014597885d.tar.gz
selfhosted-0261e875679f1bf63c8d689da7fc7e014597885d.zip
initial commit
Diffstat (limited to 'roles/udev')
-rw-r--r--roles/udev/defaults/main.yml2
-rw-r--r--roles/udev/handlers/main.yml9
-rw-r--r--roles/udev/tasks/main.yml13
-rw-r--r--roles/udev/templates/etc/udev/rules.d/pci_pm.rules.j25
4 files changed, 29 insertions, 0 deletions
diff --git a/roles/udev/defaults/main.yml b/roles/udev/defaults/main.yml
new file mode 100644
index 0000000..263aac9
--- /dev/null
+++ b/roles/udev/defaults/main.yml
@@ -0,0 +1,2 @@
+udev_rules: []
+udev_pci_powersave_blacklist: []
diff --git a/roles/udev/handlers/main.yml b/roles/udev/handlers/main.yml
new file mode 100644
index 0000000..e272cfb
--- /dev/null
+++ b/roles/udev/handlers/main.yml
@@ -0,0 +1,9 @@
+- name: restart systemd-udevd
+ systemd:
+ name: systemd-udevd
+ state: restarted
+ listen: reload udev rules
+
+- name: run udev triggers
+ command: udevadm trigger
+ listen: reload udev rules
diff --git a/roles/udev/tasks/main.yml b/roles/udev/tasks/main.yml
new file mode 100644
index 0000000..3049b0a
--- /dev/null
+++ b/roles/udev/tasks/main.yml
@@ -0,0 +1,13 @@
+- name: generate udev rules
+ copy:
+ content: |
+ {{ item.rule }}
+ dest: "/etc/udev/rules.d/{{ item.name | replace(' ', '_') }}.rules"
+ loop: '{{ udev_rules }}'
+ notify: reload udev rules
+
+- name: generate powersave blacklist
+ template:
+ src: etc/udev/rules.d/pci_pm.rules.j2
+ dest: /etc/udev/rules.d/pci_pm.rules
+ notify: reload udev rules
diff --git a/roles/udev/templates/etc/udev/rules.d/pci_pm.rules.j2 b/roles/udev/templates/etc/udev/rules.d/pci_pm.rules.j2
new file mode 100644
index 0000000..5400241
--- /dev/null
+++ b/roles/udev/templates/etc/udev/rules.d/pci_pm.rules.j2
@@ -0,0 +1,5 @@
+{% for vendordevice in udev_pci_powersave_blacklist %}
+SUBSYSTEM=="pci", ATTR{vendor}=="0x{{ vendordevice | split(':') | first }}", ATTR{device}=="0x{{ vendordevice | split(':') | last }}", ATTR{power/control}="on", GOTO="pci_pm_end"
+{% endfor %}
+SUBSYSTEM=="pci", ATTR{power/control}="auto"
+LABEL="pci_pm_end"