Lines Matching +full:triple +full:- +full:channel
2 * INA3221 Triple Current/Voltage Monitor
4 * Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/
18 #include <linux/hwmon-sysfs.h>
90 * struct ina3221_data - device specific information
93 * @shunt_resistors: Array of resistor values per channel
107 ret = regmap_read(ina->regmap, reg, ®val); in ina3221_read_value()
122 unsigned int reg = sd_attr->index; in ina3221_show_bus_voltage()
140 unsigned int reg = sd_attr->index; in ina3221_show_shunt_voltage()
156 unsigned int reg = sd_attr->index; in ina3221_show_current()
157 unsigned int channel = register_channel[reg]; in ina3221_show_current() local
158 int resistance_uo = ina->shunt_resistors[channel]; in ina3221_show_current()
177 unsigned int reg = sd_attr->index; in ina3221_set_current()
178 unsigned int channel = register_channel[reg]; in ina3221_set_current() local
179 int resistance_uo = ina->shunt_resistors[channel]; in ina3221_set_current()
194 voltage_uv = clamp_val(voltage_uv, -163800, 163800); in ina3221_set_current()
199 ret = regmap_write(ina->regmap, reg, val); in ina3221_set_current()
211 unsigned int channel = sd_attr->index; in ina3221_show_shunt() local
214 resistance_uo = ina->shunt_resistors[channel]; in ina3221_show_shunt()
225 unsigned int channel = sd_attr->index; in ina3221_set_shunt() local
235 ina->shunt_resistors[channel] = val; in ina3221_set_shunt()
245 unsigned int field = sd_attr->index; in ina3221_show_alert()
249 ret = regmap_field_read(ina->fields[field], ®val); in ina3221_show_alert()
321 /* channel 1 */
331 /* channel 2 */
341 /* channel 3 */
376 struct device *dev = &client->dev; in ina3221_probe()
383 return -ENOMEM; in ina3221_probe()
385 ina->regmap = devm_regmap_init_i2c(client, &ina3221_regmap_config); in ina3221_probe()
386 if (IS_ERR(ina->regmap)) { in ina3221_probe()
388 return PTR_ERR(ina->regmap); in ina3221_probe()
392 ina->fields[i] = devm_regmap_field_alloc(dev, in ina3221_probe()
393 ina->regmap, in ina3221_probe()
395 if (IS_ERR(ina->fields[i])) { in ina3221_probe()
397 return PTR_ERR(ina->fields[i]); in ina3221_probe()
402 ina->shunt_resistors[i] = INA3221_RSHUNT_DEFAULT; in ina3221_probe()
404 ret = regmap_field_write(ina->fields[F_RST], true); in ina3221_probe()
411 client->name, in ina3221_probe()