modem/rmtfs: fix downstream (MR 1640)

The -s switch to automatically start/stop the modem remoteproc only
works on mainline, on downstream it fails with "Failed to get rprocfd".

Let's abuse /usr/lib/preload/libqipcrtr4msmipc.so to check if we are
(probably) running on a downstream installation, and omit the -s
argument in this case. The modem remoteproc needs to be started
differently on downstream.
This commit is contained in:
Minecrell 2020-10-07 13:15:24 +02:00 committed by Bart Ribbers
parent 58a8f32e2f
commit 799821e163
No known key found for this signature in database
GPG key ID: 699D16185DAFAE61
2 changed files with 11 additions and 6 deletions

View file

@ -29,5 +29,5 @@ package() {
}
sha512sums="23545e5ee6dd77c252eb99230fff532c6f43a7502e5637280e9e6ca77830b37c0198e4ad75cc30e1f1c6358c9387b95d883bced314f0ffd3136f5235b1fa34ab rmtfs-0d00985e5eda7b5fb5c2d49e1c41cdb5118ffe2c.tar.gz
088b49aa8c251302f01e2233974333d7b66c8f64388e8da1811d0c4a375c1d58722c549ddc03b22d8eb68ea70edcb2cf40f7e50434415eb3e35b9674fed73ab9 rmtfs.initd
e7cff3fb61a377924b1e526bea87a9d0bccae05f341d456a50885123c68c0f185752c057c689a20b1a05605a4111feb9de59fb6ce1505cbc6b38ed395248ccf4 rmtfs.initd
cb2435c159d81d3a40d30e1355c82a3d560dc2df7d05fee95085bc80e492ac93a728258f2f1b463c04a964979760990c8c9176b22cb585cbec19ab285cd45440 udev.rules"

View file

@ -4,18 +4,23 @@ supervisor=supervise-daemon
name="RMTFS"
description="Qualcomm remote file system service"
# libqipcrtr4msmipc.so may not be present, on devices that don't need it
export LD_PRELOAD=/usr/lib/preload/libqipcrtr4msmipc.so
# -P: find and use raw EFS partitions
# -r: avoid writing to storage
# -s: enable sync for the mss rproc instance
command="/usr/sbin/rmtfs"
command_args="-P -r -s"
command_args="-P -r"
# https://github.com/andersson/rmtfs/commit/dfb8f3ed1c8fbde621cd08aaf9e7724a4c55cbd1
respawn_delay=1
# Downstream hacks: use libqipcrtr4msmipc.so
if [ -f /usr/lib/preload/libqipcrtr4msmipc.so ]; then
export LD_PRELOAD=/usr/lib/preload/libqipcrtr4msmipc.so
else
# -s: enable sync for the mss rproc instance (works only on mainline)
# Basically: start/stop modem remoteproc together with rmtfs
command_args="$command_args -s"
fi
depend() {
after udev-settle
use qrtr-ns