Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 1 addition & 10 deletions drivers/sensor/adi/adxl345/adxl345_stream.c
Original file line number Diff line number Diff line change
Expand Up @@ -369,21 +369,12 @@ void adxl345_stream_irq_handler(const struct device *dev)
{
struct adxl345_dev_data *data = (struct adxl345_dev_data *) dev->data;
const struct adxl345_dev_config *cfg = (const struct adxl345_dev_config *) dev->config;
uint64_t cycles;
int rc;

if (data->sqe == NULL) {
return;
}
data->timestamp = sensor_clock_get_ns();

rc = sensor_clock_get_cycles(&cycles);
if (rc != 0) {
LOG_ERR("Failed to get sensor clock cycles");
rtio_iodev_sqe_err(data->sqe, rc);
return;
}

data->timestamp = sensor_clock_cycles_to_ns(cycles);
struct rtio_sqe *write_status_addr = rtio_sqe_acquire(data->rtio_ctx);
struct rtio_sqe *read_status_reg = rtio_sqe_acquire(data->rtio_ctx);
struct rtio_sqe *check_status_reg = rtio_sqe_acquire(data->rtio_ctx);
Expand Down
13 changes: 2 additions & 11 deletions drivers/sensor/adi/adxl362/adxl362_stream.c
Original file line number Diff line number Diff line change
Expand Up @@ -395,20 +395,11 @@ static void adxl362_process_status_cb(struct rtio *r, const struct rtio_sqe *sqe
void adxl362_stream_irq_handler(const struct device *dev)
{
struct adxl362_data *data = (struct adxl362_data *) dev->data;
uint64_t cycles;
int rc;
if (data->sqe == NULL) {
return;
}

rc = sensor_clock_get_cycles(&cycles);
if (rc != 0) {
LOG_ERR("Failed to get sensor clock cycles");
rtio_iodev_sqe_err(data->sqe, rc);
if (data->sqe == NULL) {
return;
}

data->timestamp = sensor_clock_cycles_to_ns(cycles);
data->timestamp = sensor_clock_get_ns();

struct rtio_sqe *write_status_addr = rtio_sqe_acquire(data->rtio_ctx);
struct rtio_sqe *read_status_reg = rtio_sqe_acquire(data->rtio_ctx);
Expand Down
13 changes: 2 additions & 11 deletions drivers/sensor/adi/adxl367/adxl367_stream.c
Original file line number Diff line number Diff line change
Expand Up @@ -548,20 +548,11 @@ static void adxl367_process_status_cb(struct rtio *r, const struct rtio_sqe *sqe
void adxl367_stream_irq_handler(const struct device *dev)
{
struct adxl367_data *data = (struct adxl367_data *) dev->data;
uint64_t cycles;
int rc;
if (data->sqe == NULL) {
return;
}

rc = sensor_clock_get_cycles(&cycles);
if (rc != 0) {
LOG_ERR("Failed to get sensor clock cycles");
rtio_iodev_sqe_err(data->sqe, rc);
if (data->sqe == NULL) {
return;
}

data->timestamp = sensor_clock_cycles_to_ns(cycles);
data->timestamp = sensor_clock_get_ns();

struct rtio_sqe *write_status_addr = rtio_sqe_acquire(data->rtio_ctx);
struct rtio_sqe *read_status_reg = rtio_sqe_acquire(data->rtio_ctx);
Expand Down
13 changes: 2 additions & 11 deletions drivers/sensor/adi/adxl372/adxl372_stream.c
Original file line number Diff line number Diff line change
Expand Up @@ -421,20 +421,11 @@ static void adxl372_process_status1_cb(struct rtio *r, const struct rtio_sqe *sq
void adxl372_stream_irq_handler(const struct device *dev)
{
struct adxl372_data *data = (struct adxl372_data *)dev->data;
uint64_t cycles;
int rc;
if (data->sqe == NULL) {
return;
}

rc = sensor_clock_get_cycles(&cycles);
if (rc != 0) {
LOG_ERR("Failed to get sensor clock cycles");
rtio_iodev_sqe_err(data->sqe, rc);
if (data->sqe == NULL) {
return;
}

data->timestamp = sensor_clock_cycles_to_ns(cycles);
data->timestamp = sensor_clock_get_ns();

struct rtio_sqe *write_status_addr = rtio_sqe_acquire(data->rtio_ctx);
struct rtio_sqe *read_status_reg = rtio_sqe_acquire(data->rtio_ctx);
Expand Down
10 changes: 1 addition & 9 deletions drivers/sensor/asahi_kasei/akm09918c/akm09918c_async.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,18 +81,10 @@ void akm09918_after_start_cb(struct rtio *rtio_ctx, const struct rtio_sqe *sqe,
const struct device *dev = cfg->sensor;
struct akm09918c_data *data = dev->data;
struct rtio_iodev_sqe *iodev_sqe = (struct rtio_iodev_sqe *)arg0;
uint64_t cycles;
int rc;

rc = sensor_clock_get_cycles(&cycles);
if (rc != 0) {
LOG_ERR("Failed to get sensor clock cycles");
rtio_iodev_sqe_err(iodev_sqe, rc);
return;
}

/* save information for the work item */
data->work_ctx.timestamp = sensor_clock_cycles_to_ns(cycles);
data->work_ctx.timestamp = sensor_clock_get_ns();
data->work_ctx.iodev_sqe = iodev_sqe;

rc = akm09918c_flush_cqes(data->rtio_ctx);
Expand Down
11 changes: 1 addition & 10 deletions drivers/sensor/bosch/bma4xx/bma4xx_rtio.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ static void bma4xx_submit_one_shot(const struct device *dev, struct rtio_iodev_s
uint8_t *buf;
uint32_t buf_len;
uint32_t min_buf_len = sizeof(struct bma4xx_encoded_data);
uint64_t cycles;
int rc;

/* Get the buffer for the frame, it may be allocated dynamically by the rtio context */
Expand All @@ -74,15 +73,7 @@ static void bma4xx_submit_one_shot(const struct device *dev, struct rtio_iodev_s
}

edata->header.accel_fs = bma4xx->cfg.accel_fs_range;

rc = sensor_clock_get_cycles(&cycles);
if (rc != 0) {
LOG_ERR("Failed to get sensor clock cycles");
rtio_iodev_sqe_err(iodev_sqe, rc);
return;
}

edata->header.timestamp = sensor_clock_cycles_to_ns(cycles);
edata->header.timestamp = sensor_clock_get_ns();

struct rtio_sqe *write_accel_sqe = rtio_sqe_acquire(bma4xx->r);
struct rtio_sqe *read_accel_sqe = rtio_sqe_acquire(bma4xx->r);
Expand Down
12 changes: 1 addition & 11 deletions drivers/sensor/bosch/bma4xx/bma4xx_rtio_stream.c
Original file line number Diff line number Diff line change
Expand Up @@ -318,21 +318,11 @@ void bma4xx_fifo_event(const struct device *dev)
const struct bma4xx_config *drv_cfg = dev->config;
struct rtio_iodev *iodev = drv_data->iodev;
struct rtio *r = drv_data->r;
uint64_t cycles;
int rc;

if (drv_data->streaming_sqe == NULL) {
return;
}

rc = sensor_clock_get_cycles(&cycles);
if (rc != 0) {
LOG_ERR("Failed to get sensor clock cycles");
rtio_iodev_sqe_err(drv_data->streaming_sqe, rc);
return;
}

drv_data->timestamp = sensor_clock_cycles_to_ns(cycles);
drv_data->timestamp = sensor_clock_get_ns();

struct rtio_sqe *write_int_reg = rtio_sqe_acquire(r);
struct rtio_sqe *read_int_reg = rtio_sqe_acquire(r);
Expand Down
10 changes: 1 addition & 9 deletions drivers/sensor/bosch/bme280/bme280_async.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ void bme280_submit_sync(struct rtio_iodev_sqe *iodev_sqe)
{
uint32_t min_buf_len = sizeof(struct bme280_encoded_data);
int rc;
uint64_t cycles;
uint8_t *buf;
uint32_t buf_len;

Expand All @@ -33,17 +32,10 @@ void bme280_submit_sync(struct rtio_iodev_sqe *iodev_sqe)
return;
}

rc = sensor_clock_get_cycles(&cycles);
if (rc != 0) {
LOG_ERR("Failed to get sensor clock cycles");
rtio_iodev_sqe_err(iodev_sqe, rc);
return;
}

struct bme280_encoded_data *edata;

edata = (struct bme280_encoded_data *)buf;
edata->header.timestamp = sensor_clock_cycles_to_ns(cycles);
edata->header.timestamp = sensor_clock_get_ns();
edata->has_temp = 0;
edata->has_humidity = 0;
edata->has_press = 0;
Expand Down
9 changes: 1 addition & 8 deletions drivers/sensor/bosch/bmm350/bmm350_decoder.c
Original file line number Diff line number Diff line change
Expand Up @@ -139,8 +139,6 @@ int bmm350_encode(const struct device *dev,
{
struct bmm350_encoded_data *edata = (struct bmm350_encoded_data *)buf;
struct bmm350_data *data = dev->data;
uint64_t cycles;
int err;

edata->header.channels = 0;

Expand All @@ -155,13 +153,8 @@ int bmm350_encode(const struct device *dev,
}
}

err = sensor_clock_get_cycles(&cycles);
if (err != 0) {
return err;
}

edata->header.events = is_trigger ? BIT(0) : 0;
edata->header.timestamp = sensor_clock_cycles_to_ns(cycles);
edata->header.timestamp = sensor_clock_get_ns();

memcpy(&edata->comp, &data->mag_comp, sizeof(edata->comp));

Expand Down
9 changes: 1 addition & 8 deletions drivers/sensor/bosch/bmp581/bmp581_decoder.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,6 @@ int bmp581_encode(const struct device *dev,
{
struct bmp581_encoded_data *edata = (struct bmp581_encoded_data *)buf;
struct bmp581_data *data = dev->data;
uint64_t cycles;
int err;

edata->header.channels = 0;
edata->header.press_en = data->osr_odr_press_config.press_en;
Expand All @@ -59,13 +57,8 @@ int bmp581_encode(const struct device *dev,
}
}

err = sensor_clock_get_cycles(&cycles);
if (err != 0) {
return err;
}

edata->header.events = trigger_status;
edata->header.timestamp = sensor_clock_cycles_to_ns(cycles);
edata->header.timestamp = sensor_clock_get_ns();

return 0;
}
Expand Down
11 changes: 1 addition & 10 deletions drivers/sensor/broadcom/afbr_s50/afbr_s50.c
Original file line number Diff line number Diff line change
Expand Up @@ -103,16 +103,7 @@ static void data_ready_work_handler(struct rtio_iodev_sqe *iodev_sqe)
return;
}

uint64_t cycles;

err = sensor_clock_get_cycles(&cycles);
CHECKIF(err != 0) {
LOG_ERR("Failed to get sensor clock cycles");
handle_error_on_result(data, -EIO);
return;
}

edata->header.timestamp = sensor_clock_cycles_to_ns(cycles);
edata->header.timestamp = sensor_clock_get_ns();
edata->header.channels = afbr_s50_encode_channel(SENSOR_CHAN_DISTANCE) |
afbr_s50_encode_channel(SENSOR_CHAN_AFBR_S50_PIXELS);
edata->header.events = cfg->is_streaming ? afbr_s50_encode_event(SENSOR_TRIG_DATA_READY) :
Expand Down
10 changes: 1 addition & 9 deletions drivers/sensor/default_rtio_sensor.c
Original file line number Diff line number Diff line change
Expand Up @@ -122,15 +122,7 @@ static void sensor_submit_fallback_sync(struct rtio_iodev_sqe *iodev_sqe)
uint32_t min_buf_len = compute_min_buf_len(num_output_samples);
uint64_t cycles;
int rc;

rc = sensor_clock_get_cycles(&cycles);
if (rc != 0) {
LOG_ERR("Failed to get sensor clock cycles");
rtio_iodev_sqe_err(iodev_sqe, rc);
return;
}

uint64_t timestamp_ns = sensor_clock_cycles_to_ns(cycles);
uint64_t timestamp_ns = sensor_clock_get_ns();
uint8_t *buf;
uint32_t buf_len;

Expand Down
11 changes: 1 addition & 10 deletions drivers/sensor/melexis/mlx90394/mlx90394_async.c
Original file line number Diff line number Diff line change
Expand Up @@ -96,10 +96,8 @@ void mlx90394_async_fetch(struct k_work *work)

void mlx90394_submit(const struct device *dev, struct rtio_iodev_sqe *iodev_sqe)
{
int rc;
const struct sensor_read_config *cfg = iodev_sqe->sqe.iodev->data;
struct mlx90394_data *data = dev->data;
uint64_t cycles;

rc = mlx90394_trigger_measurement_internal(dev, cfg->channels->chan_type);
Comment on lines 99 to 102
Copy link

Copilot AI Oct 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Variable 'rc' is used without declaration. It was removed from the declarations but is still being used.

Copilot uses AI. Check for mistakes.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good bot

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like we could use a build-all test that covers streaming.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Filed #97824 to bridge this gap. Thanks for catching it!

if (rc != 0) {
Expand All @@ -108,15 +106,8 @@ void mlx90394_submit(const struct device *dev, struct rtio_iodev_sqe *iodev_sqe)
return;
}

rc = sensor_clock_get_cycles(&cycles);
if (rc != 0) {
LOG_ERR("Failed to get sensor clock cycles");
rtio_iodev_sqe_err(iodev_sqe, rc);
return;
}

/* save information for the work item */
data->work_ctx.timestamp = sensor_clock_cycles_to_ns(cycles);
data->work_ctx.timestamp = sensor_clock_get_ns();
data->work_ctx.iodev_sqe = iodev_sqe;
data->work_ctx.config_val = data->config_val;

Expand Down
10 changes: 1 addition & 9 deletions drivers/sensor/memsic/mmc56x3/mmc56x3_async.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ void mmc56x3_submit_sync(struct rtio_iodev_sqe *iodev_sqe)
int rc;
uint8_t *buf;
uint32_t buf_len;
uint64_t cycles;

const struct sensor_read_config *cfg = iodev_sqe->sqe.iodev->data;
const struct device *dev = cfg->sensor;
Expand All @@ -31,17 +30,10 @@ void mmc56x3_submit_sync(struct rtio_iodev_sqe *iodev_sqe)
return;
}

rc = sensor_clock_get_cycles(&cycles);
if (rc != 0) {
LOG_ERR("Failed to get sensor clock cycles");
rtio_iodev_sqe_err(iodev_sqe, rc);
return;
}

struct mmc56x3_encoded_data *edata;

edata = (struct mmc56x3_encoded_data *)buf;
edata->header.timestamp = sensor_clock_cycles_to_ns(cycles);
edata->header.timestamp = sensor_clock_get_ns();
edata->has_temp = 0;
edata->has_magn_x = 0;
edata->has_magn_y = 0;
Expand Down
10 changes: 1 addition & 9 deletions drivers/sensor/pixart/paa3905/paa3905_decoder.c
Original file line number Diff line number Diff line change
Expand Up @@ -230,23 +230,15 @@ int paa3905_encode(const struct device *dev,
uint8_t *buf)
{
struct paa3905_encoded_data *edata = (struct paa3905_encoded_data *)buf;
uint64_t cycles;
int err;

edata->header.channels = 0;
edata->header.events.drdy = false;
edata->header.events.motion = false;
edata->header.timestamp = sensor_clock_get_ns();

for (size_t i = 0 ; i < num_channels; i++) {
edata->header.channels |= paa3905_encode_channel(channels[i].chan_type);
}

err = sensor_clock_get_cycles(&cycles);
if (err != 0) {
return err;
}

edata->header.timestamp = sensor_clock_cycles_to_ns(cycles);

return 0;
}
9 changes: 1 addition & 8 deletions drivers/sensor/pixart/paa3905/paa3905_stream.c
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,6 @@ static void paa3905_complete_result(struct rtio *ctx,
static void paa3905_stream_get_data(const struct device *dev)
{
struct paa3905_data *data = dev->data;
uint64_t cycles;
int err;

CHECKIF(!data->stream.iodev_sqe) {
Expand Down Expand Up @@ -149,13 +148,7 @@ static void paa3905_stream_get_data(const struct device *dev)
struct rtio_sqe *cb_sqe = rtio_sqe_acquire(data->rtio.ctx);
uint8_t val;

err = sensor_clock_get_cycles(&cycles);
CHECKIF(err) {
LOG_ERR("Failed to get timestamp: %d", err);
handle_result_on_error(dev, err);
return;
}
buf->header.timestamp = sensor_clock_cycles_to_ns(cycles);
buf->header.timestamp = sensor_clock_get_ns();

CHECKIF(!write_sqe || !read_sqe || !cb_sqe) {
LOG_ERR("Failed to acquire RTIO SQE's");
Expand Down
10 changes: 1 addition & 9 deletions drivers/sensor/pixart/pat9136/pat9136_decoder.c
Original file line number Diff line number Diff line change
Expand Up @@ -327,23 +327,15 @@ int pat9136_encode(const struct device *dev,
uint8_t *buf)
{
struct pat9136_encoded_data *edata = (struct pat9136_encoded_data *)buf;
uint64_t cycles;
int err;

edata->header.channels = 0;
edata->header.events.drdy = 0;
edata->header.events.motion = 0;
edata->header.timestamp = sensor_clock_get_ns();

for (size_t i = 0 ; i < num_channels; i++) {
edata->header.channels |= pat9136_encode_channel(channels[i].chan_type);
}

err = sensor_clock_get_cycles(&cycles);
if (err != 0) {
return err;
}

edata->header.timestamp = sensor_clock_cycles_to_ns(cycles);

return 0;
}
Loading
Loading