File: buffer_drv_data_new-rework-trigger_name-handling.patch

package info (click to toggle)
iio-sensor-proxy 3.7-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 804 kB
  • sloc: ansic: 5,256; python: 719; xml: 105; makefile: 4
file content (128 lines) | stat: -rw-r--r-- 4,633 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
From: "Sicelo A. Mhlongo" <absicsz@gmail.com>
Date: Sun, 25 May 2025 19:17:51 +0200
Subject: buffer_drv_data_new: rework trigger_name handling

In each buffer driver, the get_trigger_name() call is always immediately
followed by a call to buffer_drv_data_new(). To simplify the code,
buffer_drv_data_new() now calls get_trigger_name().  Incidentally,
iio-sensor-proxy does not actually use the buffer sensor's trigger for
anything.
---
 src/drv-iio-buffer-accel.c   |  6 +-----
 src/drv-iio-buffer-compass.c | 10 +---------
 src/drv-iio-buffer-light.c   |  9 +--------
 src/iio-buffer-utils.c       |  9 ++++-----
 src/iio-buffer-utils.h       |  3 +--
 5 files changed, 8 insertions(+), 29 deletions(-)

diff --git a/src/drv-iio-buffer-accel.c b/src/drv-iio-buffer-accel.c
index 931d5cb..06db1aa 100644
--- a/src/drv-iio-buffer-accel.c
+++ b/src/drv-iio-buffer-accel.c
@@ -151,13 +151,9 @@ iio_buffer_accel_open (GUdevDevice *device)
 {
 	SensorDevice *sensor_device;
 	DrvData *drv_data;
-	g_autofree char *trigger_name = NULL;
 	BufferDrvData *buffer_data;
 
-	/* Get the trigger name, and build the channels from that */
-	trigger_name = get_trigger_name (device);
-
-	buffer_data = buffer_drv_data_new (device, trigger_name);
+	buffer_data = buffer_drv_data_new (device);
 	if (!buffer_data)
 		return NULL;
 
diff --git a/src/drv-iio-buffer-compass.c b/src/drv-iio-buffer-compass.c
index cfe8f4f..2ae0ccd 100644
--- a/src/drv-iio-buffer-compass.c
+++ b/src/drv-iio-buffer-compass.c
@@ -108,17 +108,9 @@ iio_buffer_compass_open (GUdevDevice *device)
 {
 	SensorDevice *sensor_device;
 	DrvData *drv_data;
-	g_autofree char *trigger_name = NULL;
 	BufferDrvData *buffer_data;
 
-	/* Get the trigger name, and build the channels from that */
-	trigger_name = get_trigger_name (device);
-	if (!trigger_name) {
-		g_debug ("Could not find trigger for %s", g_udev_device_get_sysfs_path (device));
-		return NULL;
-	}
-
-	buffer_data = buffer_drv_data_new (device, trigger_name);
+	buffer_data = buffer_drv_data_new (device);
 	if (!buffer_data)
 		return NULL;
 
diff --git a/src/drv-iio-buffer-light.c b/src/drv-iio-buffer-light.c
index 6046dc3..2a524c6 100644
--- a/src/drv-iio-buffer-light.c
+++ b/src/drv-iio-buffer-light.c
@@ -139,16 +139,9 @@ iio_buffer_light_open (GUdevDevice *device)
 {
 	SensorDevice *sensor_device;
 	DrvData *drv_data;
-	g_autofree char *trigger_name = NULL;
 	BufferDrvData *buffer_data;
 
-	/* Get the trigger name, and build the channels from that */
-	trigger_name = get_trigger_name (device);
-	if (!trigger_name) {
-		g_debug ("Could not find trigger for %s", g_udev_device_get_sysfs_path (device));
-		return NULL;
-	}
-	buffer_data = buffer_drv_data_new (device, trigger_name);
+	buffer_data = buffer_drv_data_new (device);
 	if (!buffer_data)
 		return NULL;
 
diff --git a/src/iio-buffer-utils.c b/src/iio-buffer-utils.c
index 7a627d3..bc74e4c 100644
--- a/src/iio-buffer-utils.c
+++ b/src/iio-buffer-utils.c
@@ -880,13 +880,14 @@ buffer_drv_data_free (BufferDrvData *buffer_data)
 }
 
 BufferDrvData *
-buffer_drv_data_new (GUdevDevice *device,
-		     const char  *trigger_name)
+buffer_drv_data_new (GUdevDevice *device)
 {
 	BufferDrvData *buffer_data;
+	g_autofree char *trigger_name = NULL;
 
 	buffer_data = g_new0 (BufferDrvData, 1);
 	buffer_data->dev_dir_name = g_udev_device_get_sysfs_path (device);
+	trigger_name = get_trigger_name (device);
 	if (trigger_name)
 		buffer_data->trigger_name = g_strdup (trigger_name);
 	buffer_data->device = g_object_ref (device);
@@ -909,10 +910,8 @@ is_buffer_usable (GUdevDevice *device)
 	g_autofree char *trigger_name = NULL;
 	BufferDrvData *buffer_data;
 
-	trigger_name = get_trigger_name (device);
-
 	/* Temporarily enable the buffer to ensure the kernel driver is buffer-capable */
-	buffer_data = buffer_drv_data_new (device, trigger_name);
+	buffer_data = buffer_drv_data_new (device);
 	if (!buffer_data)
 		return FALSE;
 
diff --git a/src/iio-buffer-utils.h b/src/iio-buffer-utils.h
index 597177a..9c5e6db 100644
--- a/src/iio-buffer-utils.h
+++ b/src/iio-buffer-utils.h
@@ -43,8 +43,7 @@ gboolean iio_fixup_sampling_frequency  (GUdevDevice *dev);
 char *get_trigger_name                 (GUdevDevice *device);
 
 void           buffer_drv_data_free    (BufferDrvData *buffer_data);
-BufferDrvData *buffer_drv_data_new     (GUdevDevice *device,
-					const char  *trigger_name);
+BufferDrvData *buffer_drv_data_new     (GUdevDevice *device);
 void     disable_ring_buffer           (BufferDrvData *data);
 gboolean enable_ring_buffer            (BufferDrvData *data);
 gboolean is_buffer_usable              (GUdevDevice *device);