Skip to content

Commit 4925e3a

Browse files
ClaCodescfriedt
authored andcommitted
drivers: sensor: voltage_divider: Use k_timepoint_t for absolute time
Use k_timepoint_t instead of k_timeout_t for absolute time to avoid ambiguity and ensure the code works even when CONFIG_TIMEOUT_64BIT=n. Signed-off-by: Cla Mattia Galliard <[email protected]>
1 parent b4d5cd3 commit 4925e3a

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

drivers/sensor/voltage_divider/voltage.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ struct voltage_config {
2525

2626
struct voltage_data {
2727
struct adc_sequence sequence;
28-
k_timeout_t earliest_sample;
28+
k_timepoint_t earliest_sample_time;
2929
uint16_t raw;
3030
};
3131

@@ -40,7 +40,7 @@ static int fetch(const struct device *dev, enum sensor_channel chan)
4040
}
4141

4242
/* Wait until sampling is valid */
43-
k_sleep(data->earliest_sample);
43+
k_sleep(sys_timepoint_timeout(data->earliest_sample_time));
4444

4545
/* configure the active channel to be converted */
4646
ret = adc_channel_setup_dt(&config->voltage.port);
@@ -125,8 +125,7 @@ static int pm_action(const struct device *dev, enum pm_device_action action)
125125
if (ret != 0) {
126126
LOG_ERR("failed to set GPIO for PM resume");
127127
}
128-
data->earliest_sample = K_TIMEOUT_ABS_TICKS(
129-
k_uptime_ticks() + k_us_to_ticks_ceil32(config->sample_delay_us));
128+
data->earliest_sample_time = sys_timepoint_calc(K_USEC(config->sample_delay_us));
130129
/* Power up ADC */
131130
ret = pm_device_runtime_get(config->voltage.port.dev);
132131
if (ret != 0) {
@@ -164,7 +163,7 @@ static int voltage_init(const struct device *dev)
164163
int ret;
165164

166165
/* Default value to use if `power-gpios` does not exist */
167-
data->earliest_sample = K_TIMEOUT_ABS_TICKS(0);
166+
data->earliest_sample_time = sys_timepoint_calc(K_NO_WAIT);
168167

169168
if (!adc_is_ready_dt(&config->voltage.port)) {
170169
LOG_ERR("ADC is not ready");

0 commit comments

Comments
 (0)