Merge pull request #24353 from alpernebbi/hwdb-cros-ec-accel-base
udev: hwdb: Add orientation quirk for base-mounted accelerometers on Chromebooks Reviewed-by: Alexandru Stan <amstan@chromium.org> Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
This commit is contained in:
+11
-2
@@ -4,10 +4,13 @@
|
||||
# 60-sensor.rules
|
||||
#
|
||||
# Match string formats:
|
||||
# sensor:<label>:modalias:<parent modalias pattern>:dmi:<dmi pattern>
|
||||
# sensor:modalias:<parent modalias pattern>:dmi:<dmi pattern>
|
||||
#
|
||||
# The device modalias can be seen in the `modalias` file of the sensor parent,
|
||||
# and the device label can be seen in the `label` file of the sensor,
|
||||
# for example:
|
||||
# cat /sys/`udevadm info -q path -n /dev/iio:device0`/label
|
||||
# cat /sys/`udevadm info -q path -n /dev/iio:device0`/../modalias
|
||||
#
|
||||
# The full DMI string of the running machine can be read from
|
||||
@@ -410,10 +413,16 @@ sensor:modalias:acpi:KXCJ9000*:dmi:*:bvrZY-8-BI-PX4S70VTR400-X423B-005-D:*:rvnAM
|
||||
# CrOS EC & kernel drivers internally correct for per-board sensor orientations,
|
||||
# but they return values in the inverse direction (Android & W3C specs vs HID).
|
||||
sensor:modalias:platform:cros-ec-accel:*
|
||||
sensor:modalias:platform:cros-ec-accel-legacy:*
|
||||
sensor:accel-display:modalias:platform:cros-ec-accel:*
|
||||
sensor:accel-display:modalias:platform:cros-ec-accel-legacy:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, -1
|
||||
|
||||
sensor:modalias:platform:cros-ec-accel-legacy:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, -1
|
||||
# Base accel reports the same as display when lid angle is 180 degrees (vs 0),
|
||||
# so it needs an additional 180 degree rotation around the X axis.
|
||||
sensor:accel-base:modalias:platform:cros-ec-accel:*
|
||||
sensor:accel-base:modalias:platform:cros-ec-accel-legacy:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# GP-electronic
|
||||
|
||||
+14
-1
@@ -72,7 +72,20 @@ TYPES = {'mouse': ('usb', 'bluetooth', 'ps2', '*'),
|
||||
'touchpad': ('i8042', 'rmi', 'bluetooth', 'usb'),
|
||||
'joystick': ('i8042', 'rmi', 'bluetooth', 'usb'),
|
||||
'keyboard': ('name', ),
|
||||
'sensor': ('modalias', ),
|
||||
'sensor': ('modalias',
|
||||
'accel-base',
|
||||
'accel-display',
|
||||
'accel-camera',
|
||||
'proximity-palmrest',
|
||||
'proximity-palmrest-left',
|
||||
'proximity-palmrest-right',
|
||||
'proximity-lap',
|
||||
'proximity-wifi',
|
||||
'proximity-lte',
|
||||
'proximity-wifi-lte',
|
||||
'proximity-wifi-left',
|
||||
'proximity-wifi-right',
|
||||
),
|
||||
'ieee1394-unit-function' : ('node', ),
|
||||
'camera': ('usb'),
|
||||
}
|
||||
|
||||
@@ -2,6 +2,22 @@
|
||||
|
||||
ACTION=="remove", GOTO="sensor_end"
|
||||
|
||||
# device matching the sensor's label, name and the machine's DMI data for IIO devices
|
||||
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}'", \
|
||||
|
||||
Reference in New Issue
Block a user