From 6a8c37f8f180ed3d0589948d28b1d9322a0cae3c Mon Sep 17 00:00:00 2001 From: Dylan Van Assche Date: Wed, 26 Apr 2023 18:54:07 +0200 Subject: [PATCH 7/7] data: add libssc udev rules --- data/80-iio-sensor-proxy-libssc.rules | 11 +++++++++++ data/80-iio-sensor-proxy.rules | 2 -- data/meson.build | 10 +++++++++- 3 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 data/80-iio-sensor-proxy-libssc.rules diff --git a/data/80-iio-sensor-proxy-libssc.rules b/data/80-iio-sensor-proxy-libssc.rules new file mode 100644 index 0000000..c4fad16 --- /dev/null +++ b/data/80-iio-sensor-proxy-libssc.rules @@ -0,0 +1,11 @@ +# iio-sensor-proxy: libssc +# IIO sensor to D-Bus proxy with libssc support + +ACTION=="remove", GOTO="iio_sensor_proxy_libssc_end" + +# Set the sensor type for all the types we recognise for SDSP/ADSP. +# Some devices expose the sensors via a separate SDSP while others re-use ADSP. +# These DSPs expose itself as /dev/fastrpc-* in the misc subsystem. +SUBSYSTEM=="misc", KERNEL=="fastrpc-*", ENV{IIO_SENSOR_PROXY_TYPE}+="ssc-accel ssc-light ssc-proximity ssc-compass" + +LABEL="iio_sensor_proxy_libssc_end" diff --git a/data/80-iio-sensor-proxy.rules b/data/80-iio-sensor-proxy.rules index bd917b2..85d93f9 100644 --- a/data/80-iio-sensor-proxy.rules +++ b/data/80-iio-sensor-proxy.rules @@ -16,8 +16,6 @@ SUBSYSTEM=="iio", TEST=="scan_elements/in_intensity_both_en", ENV{IIO_SENSOR_PRO SUBSYSTEM=="iio", TEST=="in_proximity_raw", ENV{IIO_SENSOR_PROXY_TYPE}+="iio-poll-proximity" SUBSYSTEM=="input", ENV{ID_INPUT_ACCELEROMETER}=="1", ENV{IIO_SENSOR_PROXY_TYPE}+="input-accel" -SUBSYSTEM=="misc", KERNEL=="fastrpc-sdsp", ENV{IIO_SENSOR_PROXY_TYPE}+="ssc-accel" - ENV{IIO_SENSOR_PROXY_TYPE}=="", GOTO="iio_sensor_proxy_end" # We got here because we have a sensor type, which means we need the service diff --git a/data/meson.build b/data/meson.build index 97dbc07..8b78125 100644 --- a/data/meson.build +++ b/data/meson.build @@ -1,5 +1,13 @@ +rules = files( + '80-iio-sensor-proxy.rules' +) + +if get_option('ssc-support') + rules += files('80-iio-sensor-proxy-libssc.rules') +endif + install_data( - '80-iio-sensor-proxy.rules', + rules, install_dir: udev_rules_dir ) -- 2.40.0