mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-12-22 13:33:56 +03:00
udev: Allow quirks for ACPI input accelerometers
The existing accelerometer rules only support IIO devices, however iio-sensor-proxy can also work with accelerometers made available through the input (evdev) subsystem. In this case I am working with an accelerometer input device backed by an ACPI driver for which the hierarchy is: - ACCE0001 (ACPI device) -> input8 -> event7 We want the mount matrix (from hwdb) to be applied to both input8 and event7. However, to match in 60-sensor.hwdb, we need to be working with the modalias of the parent device (ACCE0001), and it is tricky to access that when processing the input8 device which has it's own modalias. Instead of working directly with modalias, this ACPI-specific rule uses the "hid" attribute to reconstruct the ACPI modalias. Since input and event devices do not provide a hid attribute we will always get this from the ACPI parent. The modalias is constructed according to the definition in the kernel's Documentation/acpi/namespace.txt and create_pnp_modalias(). We will only use the first _CID/_HID value available, i.e. in some cases we will only reconstruct the first part of the modalias, but that should be enough granularity for our needs.
This commit is contained in:
parent
268b6e1932
commit
906d8a2ac5
@ -7,4 +7,8 @@ SUBSYSTEM=="iio", KERNEL=="iio*", SUBSYSTEMS=="usb|i2c", \
|
||||
IMPORT{builtin}="hwdb 'sensor:modalias:$attr{modalias}:$attr{[dmi/id]modalias}'", \
|
||||
GOTO="sensor_end"
|
||||
|
||||
SUBSYSTEM=="input", ENV{ID_INPUT_ACCELEROMETER}=="1", SUBSYSTEMS=="acpi", \
|
||||
IMPORT{builtin}="hwdb 'sensor:modalias:acpi:$attr{hid}:$attr{[dmi/id]modalias}'", \
|
||||
GOTO="sensor_end"
|
||||
|
||||
LABEL="sensor_end"
|
||||
|
Loading…
Reference in New Issue
Block a user