/* convert left adjusted 13-bit TMP102 register value to milliCelsius */ staticinlineint tmp102_reg_to_mC(s16 val)
{ return ((val & ~0x01) * 1000) / 128;
}
/* convert milliCelsius to left adjusted 13-bit TMP102 register value */ staticinline u16 tmp102_mC_to_reg(int val)
{ return (val * 128) / 1000;
}
staticint tmp102_read(struct device *dev, enum hwmon_sensor_types type,
u32 attr, int channel, long *temp)
{ struct tmp102 *tmp102 = dev_get_drvdata(dev); unsignedint regval; int err, reg;
switch (attr) { case hwmon_temp_input: /* Is it too early to return a conversion ? */ if (time_before(jiffies, tmp102->ready_time)) {
dev_dbg(dev, "%s: Conversion not ready yet..\n", __func__); return -EAGAIN;
}
reg = TMP102_TEMP_REG; break; case hwmon_temp_max_hyst:
reg = TMP102_TLOW_REG; break; case hwmon_temp_max:
reg = TMP102_THIGH_REG; break; default: return -EOPNOTSUPP;
}
if (!i2c_check_functionality(client->adapter,
I2C_FUNC_SMBUS_WORD_DATA)) {
dev_err(dev, "adapter doesn't support SMBus word transactions\n"); return -ENODEV;
}
err = devm_regulator_get_enable_optional(dev, "vcc"); if (err < 0 && err != -ENODEV) return dev_err_probe(dev, err, "Failed to enable regulator\n");
tmp102 = devm_kzalloc(dev, sizeof(*tmp102), GFP_KERNEL); if (!tmp102) return -ENOMEM;
i2c_set_clientdata(client, tmp102);
tmp102->regmap = devm_regmap_init_i2c(client, &tmp102_regmap_config); if (IS_ERR(tmp102->regmap)) return PTR_ERR(tmp102->regmap);
MODULE_AUTHOR("Steven King <sfking@fdwdc.com>");
MODULE_DESCRIPTION("Texas Instruments TMP102 temperature sensor driver");
MODULE_LICENSE("GPL");
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.22Bemerkung:
(vorverarbeitet am 2026-09-27)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.