Lines Matching full:tmp108

2 /* Texas Instruments TMP108 SMBus temperature sensor driver
22 #define DRIVER_NAME "tmp108"
74 struct tmp108 { struct
80 /* convert 12-bit TMP108 register value to milliCelsius */
86 /* convert milliCelsius to left adjusted 12-bit TMP108 register value */
95 struct tmp108 *tmp108 = dev_get_drvdata(dev); in tmp108_read() local
101 err = regmap_read(tmp108->regmap, TMP108_REG_CONF, in tmp108_read()
128 if (time_before(jiffies, tmp108->ready_time)) { in tmp108_read()
133 err = regmap_read(tmp108->regmap, TMP108_REG_TEMP, &regval); in tmp108_read()
140 err = regmap_read(tmp108->regmap, attr == hwmon_temp_min ? in tmp108_read()
148 err = regmap_read(tmp108->regmap, TMP108_REG_CONF, &regval); in tmp108_read()
156 err = regmap_read(tmp108->regmap, TMP108_REG_CONF, &regval); in tmp108_read()
174 err = regmap_read(tmp108->regmap, attr == hwmon_temp_min_hyst ? in tmp108_read()
194 struct tmp108 *tmp108 = dev_get_drvdata(dev); in tmp108_write() local
208 return regmap_update_bits(tmp108->regmap, in tmp108_write()
220 return regmap_write(tmp108->regmap, in tmp108_write()
227 err = regmap_read(tmp108->regmap, in tmp108_write()
245 return regmap_update_bits(tmp108->regmap, TMP108_REG_CONF, in tmp108_write()
299 struct tmp108 *tmp108 = data; in tmp108_restore_config() local
301 regmap_write(tmp108->regmap, TMP108_REG_CONF, tmp108->orig_config); in tmp108_restore_config()
330 struct tmp108 *tmp108; in tmp108_common_probe() local
338 tmp108 = devm_kzalloc(dev, sizeof(*tmp108), GFP_KERNEL); in tmp108_common_probe()
339 if (!tmp108) in tmp108_common_probe()
342 dev_set_drvdata(dev, tmp108); in tmp108_common_probe()
343 tmp108->regmap = regmap; in tmp108_common_probe()
345 err = regmap_read(tmp108->regmap, TMP108_REG_CONF, &config); in tmp108_common_probe()
350 tmp108->orig_config = config; in tmp108_common_probe()
359 err = regmap_write(tmp108->regmap, TMP108_REG_CONF, config); in tmp108_common_probe()
365 tmp108->ready_time = jiffies; in tmp108_common_probe()
366 if ((tmp108->orig_config & TMP108_CONF_MODE_MASK) == in tmp108_common_probe()
368 tmp108->ready_time += in tmp108_common_probe()
371 err = devm_add_action_or_reset(dev, tmp108_restore_config, tmp108); in tmp108_common_probe()
378 tmp108, in tmp108_common_probe()
403 struct tmp108 *tmp108 = dev_get_drvdata(dev); in tmp108_suspend() local
405 return regmap_update_bits(tmp108->regmap, TMP108_REG_CONF, in tmp108_suspend()
411 struct tmp108 *tmp108 = dev_get_drvdata(dev); in tmp108_resume() local
414 err = regmap_update_bits(tmp108->regmap, TMP108_REG_CONF, in tmp108_resume()
416 tmp108->ready_time = jiffies + in tmp108_resume()
425 { "tmp108" },
432 { .compatible = "ti,tmp108", },
477 MODULE_DESCRIPTION("Texas Instruments TMP108 temperature sensor driver");