Lines Matching defs:regmap
23 #include <linux/regmap.h>
142 * @regmap: Regmap of the device
156 struct regmap *regmap;
222 static int mlx90632_pwr_set_sleep_step(struct regmap *regmap)
225 iio_priv(dev_get_drvdata(regmap_get_device(regmap)));
231 ret = regmap_write_bits(regmap, MLX90632_REG_CONTROL, MLX90632_CFG_PWR_MASK,
240 static int mlx90632_pwr_continuous(struct regmap *regmap)
243 iio_priv(dev_get_drvdata(regmap_get_device(regmap)));
249 ret = regmap_write_bits(regmap, MLX90632_REG_CONTROL, MLX90632_CFG_PWR_MASK,
267 static int mlx90632_get_measurement_time(struct regmap *regmap, u16 meas)
272 ret = regmap_read(regmap, meas, ®);
285 ret = mlx90632_get_measurement_time(data->regmap,
292 ret = mlx90632_get_measurement_time(data->regmap,
299 ret = mlx90632_get_measurement_time(data->regmap,
306 ret = mlx90632_get_measurement_time(data->regmap,
313 ret = mlx90632_get_measurement_time(data->regmap,
326 * @data: pointer to mlx90632_data object containing regmap information
337 ret = regmap_update_bits(data->regmap, MLX90632_REG_STATUS,
342 ret = regmap_read_poll_timeout(data->regmap, MLX90632_REG_STATUS, reg_status,
357 * @data: pointer to mlx90632_data object containing regmap information
368 ret = regmap_write_bits(data->regmap, MLX90632_REG_CONTROL,
379 ret = regmap_read_poll_timeout(data->regmap, MLX90632_REG_STATUS,
400 ret = mlx90632_pwr_continuous(data->regmap);
404 ret = regmap_write(data->regmap, MLX90632_REG_I2C_CMD, MLX90632_RESET_CMD);
410 ret = regmap_update_bits(data->regmap, MLX90632_REG_CONTROL,
420 return mlx90632_pwr_set_sleep_step(data->regmap);
422 return mlx90632_pwr_continuous(data->regmap);
444 static int mlx90632_read_ambient_raw(struct regmap *regmap,
450 ret = regmap_read(regmap, MLX90632_RAM_3(1), &read_tmp);
455 ret = regmap_read(regmap, MLX90632_RAM_3(2), &read_tmp);
463 static int mlx90632_read_object_raw(struct regmap *regmap,
478 ret = regmap_read(regmap, MLX90632_RAM_2(channel), &read_tmp);
484 ret = regmap_read(regmap, MLX90632_RAM_1(channel), &read_tmp);
489 ret = regmap_read(regmap, MLX90632_RAM_2(channel_old), &read_tmp);
494 ret = regmap_read(regmap, MLX90632_RAM_1(channel_old), &read_tmp);
534 ret = mlx90632_read_ambient_raw(data->regmap, ambient_new_raw,
539 ret = mlx90632_read_object_raw(data->regmap, measurement,
546 static int mlx90632_read_ambient_raw_extended(struct regmap *regmap,
552 ret = regmap_read(regmap, MLX90632_RAM_DSP5_EXTENDED_AMBIENT_1, &read_tmp);
557 ret = regmap_read(regmap, MLX90632_RAM_DSP5_EXTENDED_AMBIENT_2, &read_tmp);
565 static int mlx90632_read_object_raw_extended(struct regmap *regmap, s16 *object_new_raw)
571 ret = regmap_read(regmap, MLX90632_RAM_DSP5_EXTENDED_OBJECT_1, &read_tmp);
576 ret = regmap_read(regmap, MLX90632_RAM_DSP5_EXTENDED_OBJECT_2, &read_tmp);
581 ret = regmap_read(regmap, MLX90632_RAM_DSP5_EXTENDED_OBJECT_3, &read_tmp);
586 ret = regmap_read(regmap, MLX90632_RAM_DSP5_EXTENDED_OBJECT_4, &read_tmp);
591 ret = regmap_read(regmap, MLX90632_RAM_DSP5_EXTENDED_OBJECT_5, &read_tmp);
596 ret = regmap_read(regmap, MLX90632_RAM_DSP5_EXTENDED_OBJECT_6, &read_tmp);
636 ret = mlx90632_read_object_raw_extended(data->regmap, object_new_raw);
640 ret = mlx90632_read_ambient_raw_extended(data->regmap, ambient_new_raw, ambient_old_raw);
647 static int mlx90632_read_ee_register(struct regmap *regmap, u16 reg_lsb,
654 ret = regmap_read(regmap, reg_lsb, &read);
660 ret = regmap_read(regmap, reg_lsb + 1, &read);
823 ret = mlx90632_read_ee_register(data->regmap, MLX90632_EE_Ea, &Ea);
826 ret = mlx90632_read_ee_register(data->regmap, MLX90632_EE_Eb, &Eb);
829 ret = mlx90632_read_ee_register(data->regmap, MLX90632_EE_Fa, &Fa);
832 ret = mlx90632_read_ee_register(data->regmap, MLX90632_EE_Fb, &Fb);
835 ret = mlx90632_read_ee_register(data->regmap, MLX90632_EE_Ga, &Ga);
838 ret = regmap_read(data->regmap, MLX90632_EE_Ha, &read_tmp);
842 ret = regmap_read(data->regmap, MLX90632_EE_Hb, &read_tmp);
846 ret = regmap_read(data->regmap, MLX90632_EE_Gb, &read_tmp);
850 ret = regmap_read(data->regmap, MLX90632_EE_Ka, &read_tmp);
901 ret = mlx90632_read_ee_register(data->regmap, MLX90632_EE_P_R, &PR);
904 ret = mlx90632_read_ee_register(data->regmap, MLX90632_EE_P_G, &PG);
907 ret = mlx90632_read_ee_register(data->regmap, MLX90632_EE_P_T, &PT);
910 ret = mlx90632_read_ee_register(data->regmap, MLX90632_EE_P_O, &PO);
913 ret = regmap_read(data->regmap, MLX90632_EE_Gb, &read_tmp);
918 ret = mlx90632_read_ambient_raw(data->regmap, &ambient_new_raw,
933 ret = regmap_read(data->regmap, MLX90632_EE_MEDICAL_MEAS1, &meas1);
971 ret = mlx90632_pwr_continuous(data->regmap);
1119 mlx90632_pwr_set_sleep_step(data->regmap);
1124 regcache_mark_dirty(data->regmap);
1127 return mlx90632_pwr_set_sleep_step(data->regmap);
1134 ret = regcache_sync(data->regmap);
1137 "Failed to sync regmap registers: %d\n", ret);
1142 return mlx90632_pwr_continuous(data->regmap);
1152 dev_err(regmap_get_device(data->regmap),
1162 dev_err(regmap_get_device(data->regmap), "Failed to enable power regulator!\n");
1176 struct regmap *regmap;
1186 regmap = devm_regmap_init_i2c(client, &mlx90632_regmap);
1187 if (IS_ERR(regmap)) {
1188 ret = PTR_ERR(regmap);
1189 dev_err(&client->dev, "Failed to allocate regmap: %d\n", ret);
1196 mlx90632->regmap = regmap;
1237 ret = regmap_read(mlx90632->regmap, MLX90632_EE_VERSION, &read);
1304 dev_err(regmap_get_device(data->regmap),
1326 return mlx90632_pwr_set_sleep_step(data->regmap);