@@ -40,9 +40,9 @@ static uint32_t ens210_crc7(uint32_t bitstream)
40
40
41
41
#if defined(CONFIG_ENS210_TEMPERATURE_SINGLE ) \
42
42
|| defined(CONFIG_ENS210_HUMIDITY_SINGLE )
43
- static int ens210_measure (const struct device * i2c_dev ,
44
- enum sensor_channel chan )
43
+ static int ens210_measure (const struct device * dev , enum sensor_channel chan )
45
44
{
45
+ struct ens210_data * drv_data = dev -> data ;
46
46
uint8_t buf ;
47
47
int ret ;
48
48
const struct ens210_sens_start sense_start = {
@@ -53,7 +53,7 @@ static int ens210_measure(const struct device *i2c_dev,
53
53
};
54
54
55
55
/* Start measuring */
56
- ret = i2c_reg_write_byte (i2c_dev ,
56
+ ret = i2c_reg_write_byte (drv_data -> i2c ,
57
57
DT_INST_REG_ADDR (0 ),
58
58
ENS210_REG_SENS_START , * (uint8_t * )& sense_start );
59
59
@@ -66,7 +66,7 @@ static int ens210_measure(const struct device *i2c_dev,
66
66
/* Wait for measurement to be completed */
67
67
do {
68
68
k_sleep (K_MSEC (2 ));
69
- ret = i2c_reg_read_byte (i2c_dev ,
69
+ ret = i2c_reg_read_byte (drv_data -> i2c ,
70
70
DT_INST_REG_ADDR (0 ),
71
71
ENS210_REG_SENS_START , & buf );
72
72
@@ -96,7 +96,7 @@ static int ens210_sample_fetch(const struct device *dev,
96
96
97
97
#if defined(CONFIG_ENS210_TEMPERATURE_SINGLE ) \
98
98
|| defined(CONFIG_ENS210_HUMIDITY_SINGLE )
99
- ret = ens210_measure (drv_data -> i2c , chan );
99
+ ret = ens210_measure (dev , chan );
100
100
if (ret < 0 ) {
101
101
LOG_ERR ("Failed to measure" );
102
102
return ret ;
@@ -190,46 +190,52 @@ static int ens210_channel_get(const struct device *dev,
190
190
return 0 ;
191
191
}
192
192
193
- static int ens210_sys_reset (const struct device * i2c_dev )
193
+ static int ens210_sys_reset (const struct device * dev )
194
194
{
195
+ struct ens210_data * drv_data = dev -> data ;
196
+
195
197
const struct ens210_sys_ctrl sys_ctrl = {
196
198
.low_power = 0 ,
197
199
.reset = 1
198
200
};
199
201
int ret ;
200
202
201
- ret = i2c_reg_write_byte (i2c_dev , DT_INST_REG_ADDR (0 ),
203
+ ret = i2c_reg_write_byte (drv_data -> i2c , DT_INST_REG_ADDR (0 ),
202
204
ENS210_REG_SYS_CTRL , * (uint8_t * )& sys_ctrl );
203
205
if (ret < 0 ) {
204
206
LOG_ERR ("Failed to set SYS_CTRL to 0x%x" , * (uint8_t * )& sys_ctrl );
205
207
}
206
208
return ret ;
207
209
}
208
210
209
- static int ens210_sys_enable (const struct device * i2c_dev , uint8_t low_power )
211
+ static int ens210_sys_enable (const struct device * dev , uint8_t low_power )
210
212
{
213
+ struct ens210_data * drv_data = dev -> data ;
214
+
211
215
const struct ens210_sys_ctrl sys_ctrl = {
212
216
.low_power = low_power ,
213
217
.reset = 0
214
218
};
215
219
int ret ;
216
220
217
- ret = i2c_reg_write_byte (i2c_dev , DT_INST_REG_ADDR (0 ),
221
+ ret = i2c_reg_write_byte (drv_data -> i2c , DT_INST_REG_ADDR (0 ),
218
222
ENS210_REG_SYS_CTRL , * (uint8_t * )& sys_ctrl );
219
223
if (ret < 0 ) {
220
224
LOG_ERR ("Failed to set SYS_CTRL to 0x%x" , * (uint8_t * )& sys_ctrl );
221
225
}
222
226
return ret ;
223
227
}
224
228
225
- static int ens210_wait_boot (const struct device * i2c_dev )
229
+ static int ens210_wait_boot (const struct device * dev )
226
230
{
231
+ struct ens210_data * drv_data = dev -> data ;
232
+
227
233
int cnt ;
228
234
int ret ;
229
235
struct ens210_sys_stat sys_stat ;
230
236
231
237
for (cnt = 0 ; cnt <= CONFIG_ENS210_MAX_STAT_RETRIES ; cnt ++ ) {
232
- ret = i2c_reg_read_byte (i2c_dev , DT_INST_REG_ADDR (0 ),
238
+ ret = i2c_reg_read_byte (drv_data -> i2c , DT_INST_REG_ADDR (0 ),
233
239
ENS210_REG_SYS_STAT ,
234
240
(uint8_t * )& sys_stat );
235
241
@@ -243,10 +249,10 @@ static int ens210_wait_boot(const struct device *i2c_dev)
243
249
}
244
250
245
251
if (cnt == 0 ) {
246
- ens210_sys_reset (i2c_dev );
252
+ ens210_sys_reset (dev );
247
253
}
248
254
249
- ens210_sys_enable (i2c_dev , 0 );
255
+ ens210_sys_enable (dev , 0 );
250
256
251
257
k_sleep (K_MSEC (2 ));
252
258
}
@@ -292,7 +298,7 @@ static int ens210_init(const struct device *dev)
292
298
}
293
299
294
300
/* Wait until the device is ready. */
295
- ret = ens210_wait_boot (drv_data -> i2c );
301
+ ret = ens210_wait_boot (dev );
296
302
if (ret < 0 ) {
297
303
return - EIO ;
298
304
}
@@ -316,7 +322,7 @@ static int ens210_init(const struct device *dev)
316
322
317
323
/* Enable low power mode */
318
324
if ((ENS210_T_RUN | ENS210_H_RUN ) == 0 ) {
319
- ens210_sys_enable (drv_data -> i2c , 1 );
325
+ ens210_sys_enable (dev , 1 );
320
326
}
321
327
322
328
/* Set measurement mode*/
0 commit comments