systemd/systemd-services: hexagonrpc-*: run services conditionally (MR 6147)

- hexagonrpcd-adsp-rootpd should only be started if valid config exists
for it, e.g. provided by device pkgs

- For devices with a CDSP: only the -adsp-rootpd and -sdsp services should
be started.

- For devices with only an ADSP: only -adsp-rootpd and -adsp-sensorspd
should be started.

This also stops the hexagonrpcd-adsp-sensorspd on suspend, attempting
to work around some issue wrt sargo that is implemented in openrc (see
fe00027849)

[ci:skip-build]: build tested locally since alsa-ucm conflicts prevent
build testing in CI
This commit is contained in:
Clayton Craft 2025-02-04 05:35:06 -08:00
parent 89bb82e942
commit 5f792c1936
No known key found for this signature in database
GPG key ID: 4A4CED6D7EDF950A
4 changed files with 14 additions and 4 deletions

View file

@ -6,7 +6,7 @@
# How to add a new service file (5 steps):
pkgname=systemd-services
# 1. bump pkgver
pkgver=42
pkgver=43
pkgrel=0
pkgdesc="Systemd service files"
url="https://postmarketos.org"
@ -336,9 +336,9 @@ f3463b85ac47055b400dfd2e24694c5e1dc6ab039efac0fe54496fc027c0732cda5e52a362a497b3
bc7987a001d2076788d904f1ea6d3e97a2ab905ee55302ffb90402133c2b9fb760d7ad94e06971d811b9d905048e164cb78355f8cd087219b5b8ff6dab2fbd9c user-gnome-clocks.service
ccf803ac6a764570a98845f0b0ddcde0529943472ce4cc3dc904501883a51fda482d7aef3b84fac89590e869fecdcec9142a6eac3db8ae73782a5e29f32eaae1 user-gnome-terminal-server.service
e0c5baf8030bae74c1ddb0f6f9bc4fdf2a1febaa344de1957d9a69a01eb7e1dc143b9d324ef15214289934b3a7fd4725df26b032f9225102d9cf5633145320bc user-goimapnotify@.service
70daf294cf11ff3fd2016e2d6bfdfd66fa5a899df55d557a502698d3099b3ec4120bce747f6d417b1a381a8ad2520b3879d62af7e7edff40662225f853d9a094 system-hexagonrpcd-adsp-rootpd.service
ec30d8788a55de2147cdc1d232459ec197c0234e460b983f02ff3da7e9219925eaacdefd19ff2235045eb6d512929a060b4a8f8618761e42f2d7920853d7393e system-hexagonrpcd-adsp-sensorspd.service
3963bb93185d6f5be332dfcb9259ce884087a9715436264acf3bc8160930f083286b9efdcbc2e0d9a74bcd0ed2d9d620a30df0319dcee83058805bb54e525795 system-hexagonrpcd-sdsp.service
41476015b700642b4451c572012fc5ad248abe76ff16fd9bad35e7710b0073b76370c6ce23a183fb54fdaf1ac3be8888323fa04f6f15d3b9ce9eaadeccaa64ad system-hexagonrpcd-adsp-rootpd.service
03a948f31ca756af7bff4ebff1d1b447532586d290981e99802488962c530d58352a04ee59436436212a5ae3fb496e837f23b3f24c43016cd36af108569cb58a system-hexagonrpcd-adsp-sensorspd.service
c7eee76a471f0fd62fc78e645bcabbabb2f7a61117303fb582f502548f5849e931adf9ac11251bc765506960408c3a2f41b9eb1a5563582177b2c7517c671bfb system-hexagonrpcd-sdsp.service
af0e416f78ab317fe09813de58b446e5178457992ea4a2da2eb128811045201087d847e1b7ac0447a59c20129a736135e5d76b113262aa1f76b994e77b9c6b42 system-iio-sensor-proxy.service.d-hexagonrpcd.conf
d12ebe6e7db2a8e34baab640dd4e2ea9cd01bc19054adf32d55528a6b27f71c2006ac2d65a58c98e21ed598e9cc66bfe79e197d20ed9d13f866a5a6cd3e247d5 system-iio-sensor-proxy.service
df3388cb7b9d035e54b34d8f8a6594be89c3015f979fe3bdc199fb7db1ab0bef821d6b306eecdf978eb227454d5e50aab29ac02d9722b1b075ec0ce4705e3518 system-iwd.service

View file

@ -1,5 +1,7 @@
[Unit]
Description=Daemon to support Qualcomm Hexagon ADSP virtual filesystem for RootPD
ConditionPathExists=/etc/conf.d/hexagonrpcd-adsp-rootpd
ConditionPathExists=/dev/fastrpc-adsp
[Service]
EnvironmentFile=/etc/conf.d/hexagonrpcd-adsp-rootpd

View file

@ -1,5 +1,11 @@
[Unit]
Description=Daemon to support Qualcomm Hexagon ADSP virtual filesystem for SensorPD
Conflicts=suspend.target
Before=suspend.target
ConditionPathExists=/etc/conf.d/hexagonrpcd-adsp-sensorspd
# This service shouldn't be run on devices with an SDSP
ConditionPathExists=!/dev/fastrpc-sdsp
ConditionPathExists=/dev/fastrpc-adsp
[Service]
EnvironmentFile=/etc/conf.d/hexagonrpcd-adsp-sensorspd

View file

@ -1,5 +1,7 @@
[Unit]
Description=Daemon to support Qualcomm Hexagon SDSP virtual filesystem
ConditionPathExists=/etc/conf.d/hexagonrpcd-sdsp
ConditionPathExists=/dev/fastrpc-sdsp
[Service]
EnvironmentFile=/etc/conf.d/hexagonrpcd-sdsp