On Wednesday 08 November 2017 11:57 AM, Alexandre Belloni wrote: > Hi, > > On 08/11/2017 at 11:30:45 +0530, Keerthy wrote: >>>>> +static int omap_rtc_scratch_read(void *priv, unsigned int offset, void *_val, >>>>> + size_t bytes) >>>>> +{ >>>>> + struct omap_rtc *rtc = priv; >>>>> + u32 *val = _val; >>>>> + int i; >>>>> + >>>>> + for (i = 0; i < bytes / 4; i++) >>>>> + val[i] = rtc_readl(rtc, >>>>> + OMAP_RTC_SCRATCH0_REG + offset + (i * 4)); >> >> Can the offset be the Scratch register number instead of bytes offset? >> More intuitive to me. >> >> So that one can request using offset as 0, 1, 2 instead of 0, 4, 8? >> > > Well, the offset is coming from the nvmem core, itself getting it from > the Linux file API (and it is in bytes). However, you have the guarantee > that it will be aligned on a word, see: > http://elixir.free-electrons.com/linux/latest/source/drivers/nvmem/core.c#L88 Okay Alexandre. Thanks for clarifying. Looks good to me. I have tested on AM437X-GP-EVM. Regards, Keerthy > >> The above can be: >> rtc_readl(rtc, OMAP_RTC_SCRATCH0_REG + (offset + i) * 4), val[i]); >> >> > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html