@@ -261,20 +261,21 @@ static int mt9m114_read_reg(const struct device *dev, uint16_t reg_addr, uint8_t
261
261
return 0 ;
262
262
}
263
263
264
- static int mt9m114_modify_reg (const struct device * dev , const uint16_t addr , const uint8_t mask ,
265
- const uint8_t val )
264
+ static int mt9m114_modify_reg (const struct device * dev , const uint16_t addr ,
265
+ uint8_t reg_size , const uint32_t mask , const uint32_t val )
266
266
{
267
- uint8_t oldVal ;
268
- uint8_t newVal ;
269
- int ret = mt9m114_read_reg (dev , addr , sizeof (oldVal ), & oldVal );
267
+ uint32_t oldVal = 0 ;
268
+ uint32_t newVal = 0 ;
269
+
270
+ int ret = mt9m114_read_reg (dev , addr , reg_size , & oldVal );
270
271
271
272
if (ret ) {
272
273
return ret ;
273
274
}
274
275
275
276
newVal = (oldVal & ~mask ) | (val & mask );
276
277
277
- return mt9m114_write_reg (dev , addr , sizeof ( newVal ) , & newVal );
278
+ return mt9m114_write_reg (dev , addr , reg_size , & newVal );
278
279
}
279
280
280
281
static int mt9m114_write_all (const struct device * dev , struct mt9m114_reg * reg )
@@ -297,15 +298,15 @@ static int mt9m114_write_all(const struct device *dev, struct mt9m114_reg *reg)
297
298
298
299
static int mt9m114_software_reset (const struct device * dev )
299
300
{
300
- int ret = mt9m114_modify_reg (dev , MT9M114_RST_AND_MISC_CONTROL , 0x01 , 0x01 );
301
+ int ret = mt9m114_modify_reg (dev , MT9M114_RST_AND_MISC_CONTROL , 2 , 0x01 , 0x01 );
301
302
302
303
if (ret ) {
303
304
return ret ;
304
305
}
305
306
306
307
k_sleep (K_MSEC (1 ));
307
308
308
- ret = mt9m114_modify_reg (dev , MT9M114_RST_AND_MISC_CONTROL , 0x01 , 0x00 );
309
+ ret = mt9m114_modify_reg (dev , MT9M114_RST_AND_MISC_CONTROL , 2 , 0x01 , 0x00 );
309
310
if (ret ) {
310
311
return ret ;
311
312
}
0 commit comments