aboutsummaryrefslogtreecommitdiffstats
path: root/community/iio-sensor-proxy/292.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/iio-sensor-proxy/292.patch')
-rw-r--r--community/iio-sensor-proxy/292.patch68
1 files changed, 0 insertions, 68 deletions
diff --git a/community/iio-sensor-proxy/292.patch b/community/iio-sensor-proxy/292.patch
deleted file mode 100644
index d5c7b0d487..0000000000
--- a/community/iio-sensor-proxy/292.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From eba0aca224c18624b7e398171fb8688728baf398 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
-Date: Sat, 21 Dec 2019 14:31:51 +0100
-Subject: [PATCH] light: Support sensors using raw values as well
-
-E.g. the vcnl4000 class devices reports a raw value and a scale
-to calculate lux.
----
- data/80-iio-sensor-proxy.rules | 1 +
- src/drv-iio-poll-light.c | 16 ++++++++++++++--
- 2 files changed, 15 insertions(+), 2 deletions(-)
-
-diff --git a/data/80-iio-sensor-proxy.rules b/data/80-iio-sensor-proxy.rules
-index 06040dc..5bcb207 100644
---- a/data/80-iio-sensor-proxy.rules
-+++ b/data/80-iio-sensor-proxy.rules
-@@ -9,6 +9,7 @@ SUBSYSTEM=="iio", TEST=="in_accel_x_raw", TEST=="in_accel_y_raw", TEST=="in_acce
- SUBSYSTEM=="iio", TEST=="scan_elements/in_accel_x_en", TEST=="scan_elements/in_accel_y_en", TEST=="scan_elements/in_accel_z_en", ENV{IIO_SENSOR_PROXY_TYPE}="iio-buffer-accel"
- SUBSYSTEM=="iio", TEST=="scan_elements/in_rot_from_north_magnetic_tilt_comp_en", ENV{IIO_SENSOR_PROXY_TYPE}="iio-buffer-compass"
- SUBSYSTEM=="iio", TEST=="in_illuminance_input", ENV{IIO_SENSOR_PROXY_TYPE}="iio-poll-als"
-+SUBSYSTEM=="iio", TEST=="in_illuminance_raw", ENV{IIO_SENSOR_PROXY_TYPE}="iio-poll-als"
- SUBSYSTEM=="iio", TEST=="scan_elements/in_intensity_both_en", ENV{IIO_SENSOR_PROXY_TYPE}="iio-buffer-als"
- SUBSYSTEM=="input", ENV{ID_INPUT_ACCELEROMETER}=="1", ENV{IIO_SENSOR_PROXY_TYPE}="input-accel"
-
-diff --git a/src/drv-iio-poll-light.c b/src/drv-iio-poll-light.c
-index d0da7df..a7423c6 100644
---- a/src/drv-iio-poll-light.c
-+++ b/src/drv-iio-poll-light.c
-@@ -24,6 +24,8 @@ typedef struct DrvData {
- char *input_path;
- guint interval;
- guint timeout_id;
-+
-+ double scale;
- } DrvData;
-
- static DrvData *drv_data = NULL;
-@@ -55,8 +57,8 @@ light_changed (gpointer user_data)
- g_error_free (error);
- return G_SOURCE_CONTINUE;
- }
--
-- readings.level = level;
-+ readings.level = level * drv_data->scale;
-+ g_debug ("Light read from IIO: %lf, (scale %lf)", level, drv_data->scale);
-
- /* Even though the IIO kernel API declares in_intensity* values as unitless,
- * we use Microsoft's hid-sensors-usages.docx which mentions that Windows 8
-@@ -125,6 +127,16 @@ iio_poll_light_open (GUdevDevice *device,
- drv_data->input_path = g_build_filename (g_udev_device_get_sysfs_path (device),
- "in_illuminance_input",
- NULL);
-+ if (!g_file_test (drv_data->input_path, G_FILE_TEST_EXISTS)) {
-+ g_free (drv_data->input_path);
-+ drv_data->input_path = g_build_filename (g_udev_device_get_sysfs_path (device),
-+ "in_illuminance_raw",
-+ NULL);
-+ }
-+
-+ drv_data->scale = g_udev_device_get_sysfs_attr_as_double (device, "in_illuminance_scale");
-+ if (drv_data->scale == 0.0)
-+ drv_data->scale = 1.0;
-
- return TRUE;
- }
---
-2.24.1
-