Lines Matching full:regmap
26 #include <linux/regmap.h>
76 struct regmap *regmap; member
95 static int spd5118_read_temp(struct regmap *regmap, u32 attr, long *val) in spd5118_read_temp() argument
121 err = regmap_bulk_read(regmap, reg, regval, 2); in spd5118_read_temp()
131 static int spd5118_read_alarm(struct regmap *regmap, u32 attr, long *val) in spd5118_read_alarm() argument
153 err = regmap_read(regmap, SPD5118_REG_TEMP_STATUS, ®val); in spd5118_read_alarm()
158 return regmap_write(regmap, SPD5118_REG_TEMP_CLR, mask); in spd5118_read_alarm()
162 static int spd5118_read_enable(struct regmap *regmap, long *val) in spd5118_read_enable() argument
167 err = regmap_read(regmap, SPD5118_REG_TEMP_CONFIG, ®val); in spd5118_read_enable()
177 struct regmap *regmap = dev_get_drvdata(dev); in spd5118_read() local
188 return spd5118_read_temp(regmap, attr, val); in spd5118_read()
193 return spd5118_read_alarm(regmap, attr, val); in spd5118_read()
195 return spd5118_read_enable(regmap, val); in spd5118_read()
201 static int spd5118_write_temp(struct regmap *regmap, u32 attr, long val) in spd5118_write_temp() argument
228 return regmap_bulk_write(regmap, reg, regval, 2); in spd5118_write_temp()
231 static int spd5118_write_enable(struct regmap *regmap, long val) in spd5118_write_enable() argument
236 return regmap_update_bits(regmap, SPD5118_REG_TEMP_CONFIG, in spd5118_write_enable()
241 static int spd5118_temp_write(struct regmap *regmap, u32 attr, long val) in spd5118_temp_write() argument
248 return spd5118_write_temp(regmap, attr, val); in spd5118_temp_write()
250 return spd5118_write_enable(regmap, val); in spd5118_temp_write()
259 struct regmap *regmap = dev_get_drvdata(dev); in spd5118_write() local
263 return spd5118_temp_write(regmap, attr, val); in spd5118_write()
379 static ssize_t spd5118_nvmem_read_page(struct regmap *regmap, char *buf, in spd5118_nvmem_read_page() argument
391 err = regmap_bulk_read(regmap, addr + offset, buf, count); in spd5118_nvmem_read_page()
413 ret = spd5118_nvmem_read_page(data->regmap, buf, off, count); in spd5118_nvmem_read()
450 /* regmap */
568 struct regmap *regmap; in spd5118_probe() local
579 regmap = devm_regmap_init_i2c(client, &spd5118_regmap_config); in spd5118_probe()
580 if (IS_ERR(regmap)) in spd5118_probe()
581 return dev_err_probe(dev, PTR_ERR(regmap), "regmap init failed\n"); in spd5118_probe()
583 err = regmap_read(regmap, SPD5118_REG_CAPABILITY, ®val); in spd5118_probe()
589 err = regmap_read(regmap, SPD5118_REG_REVISION, &revision); in spd5118_probe()
593 err = regmap_read(regmap, SPD5118_REG_VENDOR, &bank); in spd5118_probe()
596 err = regmap_read(regmap, SPD5118_REG_VENDOR + 1, &vendor); in spd5118_probe()
602 data->regmap = regmap; in spd5118_probe()
614 regmap, &spd5118_chip_info, in spd5118_probe()
633 struct regmap *regmap = data->regmap; in spd5118_suspend() local
638 * Make sure the configuration register in the regmap cache is current in spd5118_suspend()
641 err = regmap_read(regmap, SPD5118_REG_TEMP_CONFIG, ®val); in spd5118_suspend()
645 regcache_cache_bypass(regmap, true); in spd5118_suspend()
646 regmap_update_bits(regmap, SPD5118_REG_TEMP_CONFIG, SPD5118_TS_DISABLE, in spd5118_suspend()
648 regcache_cache_bypass(regmap, false); in spd5118_suspend()
650 regcache_cache_only(regmap, true); in spd5118_suspend()
651 regcache_mark_dirty(regmap); in spd5118_suspend()
659 struct regmap *regmap = data->regmap; in spd5118_resume() local
661 regcache_cache_only(regmap, false); in spd5118_resume()
662 return regcache_sync(regmap); in spd5118_resume()