Lines Matching +full:operating +full:- +full:range +full:- +full:celsius
1 // SPDX-License-Identifier: GPL-2.0-only
13 #include <linux/hwmon-sysfs.h>
105 #define TEMPERATURE_LSB 652 /* 0.652 degrees Celsius */
131 err = regmap_read(data->regmap, TEMPERATURE, ®val); in tps23861_read_temp()
135 *val = (regval * TEMPERATURE_LSB) - 20000; in tps23861_read_temp()
147 err = regmap_bulk_read(data->regmap, in tps23861_read_voltage()
151 err = regmap_bulk_read(data->regmap, in tps23861_read_voltage()
170 if (data->shunt_resistor == SHUNT_RESISTOR_DEFAULT) in tps23861_read_current()
175 err = regmap_bulk_read(data->regmap, in tps23861_read_current()
192 err = regmap_write(data->regmap, POWER_ENABLE, regval); in tps23861_port_disable()
204 err = regmap_write(data->regmap, DETECT_CLASS_RESTART, regval); in tps23861_port_enable()
259 err = -EINVAL; in tps23861_write()
262 return -EOPNOTSUPP; in tps23861_write()
266 return -EOPNOTSUPP; in tps23861_write()
285 return -EOPNOTSUPP; in tps23861_read()
294 return -EOPNOTSUPP; in tps23861_read()
303 return -EOPNOTSUPP; in tps23861_read()
307 return -EOPNOTSUPP; in tps23861_read()
334 return -EOPNOTSUPP; in tps23861_read_string()
376 regmap_read(data->regmap, OPERATING_MODE, ®val); in tps23861_port_operating_mode()
392 mode = -EINVAL; in tps23861_port_operating_mode()
401 return "Semi-Auto"; in tps23861_port_operating_mode()
413 regmap_read(data->regmap, in tps23861_port_detect_status()
414 PORT_1_STATUS + (port - 1), in tps23861_port_detect_status()
439 return "Valid capacitance, outside of legacy range"; in tps23861_port_detect_status()
451 regmap_read(data->regmap, in tps23861_port_class_status()
452 PORT_1_STATUS + (port - 1), in tps23861_port_class_status()
482 regmap_read(data->regmap, POE_PLUS, ®val); in tps23861_port_poe_plus_status()
494 regmap_bulk_read(data->regmap, in tps23861_port_resistance()
495 PORT_1_RESISTANCE_LSB + PORT_N_RESISTANCE_LSB_OFFSET * (port - 1), in tps23861_port_resistance()
513 struct tps23861_data *priv = s->private; in tps23861_port_status_show()
518 seq_printf(s, "Operating mode: %s\n", tps23861_port_operating_mode(priv, i)); in tps23861_port_status_show()
533 data->debugfs_dir = debugfs_create_dir(data->client->name, NULL); in tps23861_init_debugfs()
537 data->debugfs_dir, in tps23861_init_debugfs()
544 struct device *dev = &client->dev; in tps23861_probe()
551 return -ENOMEM; in tps23861_probe()
553 data->client = client; in tps23861_probe()
556 data->regmap = devm_regmap_init_i2c(client, &tps23861_regmap_config); in tps23861_probe()
557 if (IS_ERR(data->regmap)) { in tps23861_probe()
559 return PTR_ERR(data->regmap); in tps23861_probe()
562 if (!of_property_read_u32(dev->of_node, "shunt-resistor-micro-ohms", &shunt_resistor)) in tps23861_probe()
563 data->shunt_resistor = shunt_resistor; in tps23861_probe()
565 data->shunt_resistor = SHUNT_RESISTOR_DEFAULT; in tps23861_probe()
567 if (data->shunt_resistor == SHUNT_RESISTOR_DEFAULT) in tps23861_probe()
568 regmap_clear_bits(data->regmap, in tps23861_probe()
572 regmap_set_bits(data->regmap, in tps23861_probe()
576 hwmon_dev = devm_hwmon_device_register_with_info(dev, client->name, in tps23861_probe()
591 debugfs_remove_recursive(data->debugfs_dir); in tps23861_remove()