Hi John, On Thu, Dec 01, 2016 at 01:50:22PM -0800, John Muir wrote: > Hi Guenter, > [ ... ] > > >> +static int __maybe_unused tmp108_resume(struct device *dev) > >> +{ > >> + struct tmp108 *tmp108 = dev_get_drvdata(dev); > >> + int err; > >> + > >> + err = regmap_write(tmp108->regmap, TMP108_REG_CONF, > >> + tmp108->curr_config); > >> + > >> + tmp108->ready_time = jiffies; > >> + if (tmp108->curr_config & TMP108_MODE_CONTINUOUS) > > > > Since only continuous mode is supported, and it is somewhat unlikely > > that we'll ever support one-shot mode, I think it would be better to > > unconditionally set continuous mode and the delay here and drop > > curr_config entirely. curr_config adds quite some complexity to the > > driver with no real gain. > > OK. Due to my ignorance I was assuming that the could would need to restore > the current configuration during resume, and also the previous versions (that > you did not see) of this code was not using regmap. In fact I see that there > is also a function called ‘regmap_sync’ which is used (mainly by audio > codecs) to do this (i.e.; as part of device reset but there are examples in > resume()). The configuration register is now marked volatile so it would be > skipped by regmap_sync anyway. > > Should we be concerned about restoring the configuration here? > Interesting question. If the chip was really powered off, you would have to restore the entire configuration, not just the configuration register. Given that, I think it is sufficient to just restore the operational mode, ie the value changed when entering suspend.
Where did you find regmap_sync() ? It seems to be hiding from me. Thanks, Guenter -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html