Lines Matching refs:regval
134 int regval; in ina238_read_in() local
188 err = regmap_read(data->regmap, reg, ®val); in ina238_read_in()
197 regval = (s16)regval; in ina238_read_in()
200 *val = (regval * INA238_SHUNT_VOLTAGE_LSB) / in ina238_read_in()
203 *val = (regval * INA238_BUS_VOLTAGE_LSB) / 1000; in ina238_read_in()
207 *val = !!(regval & mask); in ina238_read_in()
218 int regval; in ina238_write_in() local
227 regval = clamp_val(val, -163, 163); in ina238_write_in()
228 regval = (regval * 1000 * (4 - data->gain + 1)) / in ina238_write_in()
230 regval = clamp_val(regval, S16_MIN, S16_MAX); in ina238_write_in()
235 INA238_SHUNT_OVER_VOLTAGE, regval); in ina238_write_in()
238 INA238_SHUNT_UNDER_VOLTAGE, regval); in ina238_write_in()
244 regval = clamp_val(val, 0, 102396); in ina238_write_in()
245 regval = (regval * 1000) / INA238_BUS_VOLTAGE_LSB; in ina238_write_in()
246 regval = clamp_val(regval, 0, S16_MAX); in ina238_write_in()
251 INA238_BUS_OVER_VOLTAGE, regval); in ina238_write_in()
254 INA238_BUS_UNDER_VOLTAGE, regval); in ina238_write_in()
266 int regval; in ina238_read_current() local
271 err = regmap_read(data->regmap, INA238_CURRENT, ®val); in ina238_read_current()
276 *val = div_s64((s16)regval * INA238_FIXED_SHUNT * data->gain, in ina238_read_current()
290 int regval; in ina238_read_power() local
295 err = ina238_read_reg24(data->client, INA238_POWER, ®val); in ina238_read_power()
300 power = div_u64(regval * 1000ULL * INA238_FIXED_SHUNT * in ina238_read_power()
306 err = regmap_read(data->regmap, INA238_POWER_LIMIT, ®val); in ina238_read_power()
314 power = div_u64((regval << 8) * 1000ULL * INA238_FIXED_SHUNT * in ina238_read_power()
320 err = regmap_read(data->regmap, INA238_DIAG_ALERT, ®val); in ina238_read_power()
324 *val = !!(regval & INA238_DIAG_ALERT_POL); in ina238_read_power()
336 long regval; in ina238_write_power() local
346 regval = clamp_val(val, 0, LONG_MAX); in ina238_write_power()
347 regval = div_u64(val * 20ULL * data->rshunt, in ina238_write_power()
349 regval = clamp_val(regval >> 8, 0, U16_MAX); in ina238_write_power()
351 return regmap_write(data->regmap, INA238_POWER_LIMIT, regval); in ina238_write_power()
357 int regval; in ina238_read_temp() local
362 err = regmap_read(data->regmap, INA238_DIE_TEMP, ®val); in ina238_read_temp()
367 *val = ((s16)regval >> 4) * INA238_DIE_TEMP_LSB; in ina238_read_temp()
370 err = regmap_read(data->regmap, INA238_TEMP_LIMIT, ®val); in ina238_read_temp()
375 *val = ((s16)regval >> 4) * INA238_DIE_TEMP_LSB; in ina238_read_temp()
378 err = regmap_read(data->regmap, INA238_DIAG_ALERT, ®val); in ina238_read_temp()
382 *val = !!(regval & INA238_DIAG_ALERT_TMPOL); in ina238_read_temp()
394 int regval; in ina238_write_temp() local
400 regval = (val / INA238_DIE_TEMP_LSB) << 4; in ina238_write_temp()
401 regval = clamp_val(regval, S16_MIN, S16_MAX) & 0xfff0; in ina238_write_temp()
403 return regmap_write(data->regmap, INA238_TEMP_LIMIT, regval); in ina238_write_temp()