}
}
-static int integrate_device_report(int dev_num)
+static int integrate_device_report (int dev_num)
{
int len;
int s,c;
sr_offset);
set_report_ts(s, get_timestamp());
- sensor_info[s].report_pending = 1;
+ sensor_info[s].report_pending = DATA_TRIGGER;
sensor_info[s].report_initialized = 1;
}
if (target_ts <= current_ts) {
/* Mark the sensor for event generation */
set_report_ts(s, current_ts);
- sensor_info[s].report_pending = 1;
+ sensor_info[s].report_pending = DATA_DUPLICATE;
}
}
}
if (len == expected_len) {
set_report_ts(s, get_timestamp());
- sensor_info[s].report_pending = 1;
+ sensor_info[s].report_pending = DATA_SYSFS;
}
}
for (s=0; s<sensor_count && returned_events < count; s++) {
if (sensor_info[s].report_pending) {
event_count = 0;
- /* Lower flag */
- sensor_info[s].report_pending = 0;
/* Report this event if it looks OK */
event_count = propagate_sensor_report(s, &data[returned_events]);
+ /* Lower flag */
+ sensor_info[s].report_pending = 0;
+
/* Duplicate only if both cal & uncal are active */
if (sensor_info[s].type == SENSOR_TYPE_GYROSCOPE &&
sensor_info[s].pair_idx && sensor_info[sensor_info[s].pair_idx].enable_count != 0) {