summaryrefslogtreecommitdiffstats
path: root/rules.d
diff options
context:
space:
mode:
authorAlper Nebi Yasak <alpernebiyasak@gmail.com>2022-08-18 18:56:13 +0200
committerAlper Nebi Yasak <alpernebiyasak@gmail.com>2022-08-18 20:17:19 +0200
commitac3c031e3862e3d74e64b108e0bafcaefa71c792 (patch)
treed74b0da2c7b1d2b98029cde3be87a76840938d05 /rules.d
parenthwdb: Add Chromebook accel orientation quirks based on sysfs label (diff)
downloadsystemd-ac3c031e3862e3d74e64b108e0bafcaefa71c792.tar.xz
systemd-ac3c031e3862e3d74e64b108e0bafcaefa71c792.zip
udev: hwdb: Add rules to match cros-ec-accel by 'location' sysfs file
The cros-ec-accel devices report their mounting location by the 'label' sysfs file only since Linux v6.0. With earlier kernels, a nonstandard 'location' file reports this, but slightly differently (lid instead of display) [1]. Add udev rules to import the correct hwdb entries based on this 'location' file for cros-ec-accel devices, so that the base-mounted accel matrix has the correct value for older kernels as well. [1] https://kernel.org/doc/Documentation/ABI/testing/sysfs-bus-iio-cros-ec
Diffstat (limited to 'rules.d')
-rw-r--r--rules.d/60-sensor.rules11
1 files changed, 11 insertions, 0 deletions
diff --git a/rules.d/60-sensor.rules b/rules.d/60-sensor.rules
index 99b8f5fc7a..09180b4b2c 100644
--- a/rules.d/60-sensor.rules
+++ b/rules.d/60-sensor.rules
@@ -7,6 +7,17 @@ SUBSYSTEM=="iio", KERNEL=="iio*", SUBSYSTEMS=="usb|i2c|platform", ATTR{label}!="
IMPORT{builtin}="hwdb 'sensor:$attr{label}:modalias:$attr{modalias}:$attr{[dmi/id]modalias}'", \
GOTO="sensor_end"
+# Before Linux v6.0, cros-ec-accel used a non-standard 'location' sysfs file
+SUBSYSTEM=="iio", KERNEL=="iio*", SUBSYSTEMS=="platform", \
+ ATTR{name}=="cros-ec-accel|cros-ec-accel-legacy", ATTR{location}=="base", \
+ IMPORT{builtin}="hwdb 'sensor:accel-base:modalias:$attr{modalias}:$attr{[dmi/id]modalias}'", \
+ GOTO="sensor_end"
+
+SUBSYSTEM=="iio", KERNEL=="iio*", SUBSYSTEMS=="platform", \
+ ATTR{name}=="cros-ec-accel|cros-ec-accel-legacy", ATTR{location}=="lid", \
+ IMPORT{builtin}="hwdb 'sensor:accel-display:modalias:$attr{modalias}:$attr{[dmi/id]modalias}'", \
+ GOTO="sensor_end"
+
# device matching the sensor's name and the machine's DMI data for IIO devices
SUBSYSTEM=="iio", KERNEL=="iio*", SUBSYSTEMS=="usb|i2c|platform", \
IMPORT{builtin}="hwdb 'sensor:modalias:$attr{modalias}:$attr{[dmi/id]modalias}'", \