On Tue, May 02, 2017 at 05:32:07PM +0100, Jonathan Cameron wrote: > On 02/05/17 12:39, Eva Rachel Retuya wrote: > > On Mon, May 01, 2017 at 01:22:52AM +0100, Jonathan Cameron wrote: > > Hello Jonathan, > > [...] > >>> +static int adxl345_set_mode(struct adxl345_data *data, u8 mode) > >>> +{ > >>> + struct device *dev = regmap_get_device(data->regmap); > >>> + int ret; > >>> + > >>> + ret = regmap_write(data->regmap, ADXL345_REG_POWER_CTL, mode); > >>> + if (ret < 0) { > >>> + dev_err(dev, "Failed to set power mode, %d\n", ret); > >>> + return ret; > >> drop the return ret here and just return ret at the end of the function. > >> One of the static checkers will probably moan about this otherwise. > > > > OK. > > > >>> + } > >>> + > >>> + return 0; > >>> +} > >>> + > >>> +static int adxl345_data_ready(struct adxl345_data *data) > >>> +{ > >> So this is a polling the dataready bit. Will ensure we always > >> get fresh data when a read occurs. Please add a comment to > >> that effect as that's not always how devices work. > > > > OK. > > > >>> + struct device *dev = regmap_get_device(data->regmap); > >>> + int tries = 5; > >>> + u32 val; > >>> + int ret; > >>> + > >>> + do { > >>> + /* > >>> + * 1/ODR + 1.1ms; 11.1ms at ODR of 0.10 Hz > >>> + * Sensor currently operates at default ODR of 100 Hz > >>> + */ > >>> + usleep_range(1100, 11100); > >> That's a huge range to allow... I'm not following the argument for why. > >> Or do we have a stray 0? > >> > > > > Not a stray 0. Range is from 1.1ms to 11.1ms, this represents the > > wake-up time when going to standby/other power saving modes -> > > measurement mode. I'm going to clarify the comment on why it is needed > > on the next revision. > The point about a range sleep is to allow the kernel flexibility in scheduling > so as to avoid waking the processor from lower power states when high precision is > not needed. > > If the thing you are talking about needs the maximum time sometimes then you > should set the minimum value to that and add a bit to avoid unnecessary processor > wake ups. Thank you for explaining it. I will keep this in mind while working on the 3rd revision. Eva -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html