From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755262AbdKHG2D (ORCPT ); Wed, 8 Nov 2017 01:28:03 -0500 Received: from mail.free-electrons.com ([62.4.15.54]:34076 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755236AbdKHG15 (ORCPT ); Wed, 8 Nov 2017 01:27:57 -0500 Date: Wed, 8 Nov 2017 07:27:38 +0100 From: Alexandre Belloni To: Keerthy Cc: Sekhar Nori , linux-rtc@vger.kernel.org, linux-kernel@vger.kernel.org, Linux OMAP List Subject: Re: [PATCH] rtc: omap: Support scratch registers Message-ID: <20171108062738.cml7qaek324rvc4e@piout.net> References: <20171031162731.27019-1-alexandre.belloni@free-electrons.com> <600fd106-9f79-0f5a-a2fd-e6b067785c17@ti.com> <4741d4c7-d6f7-ecdb-1eed-1293175f38d9@ti.com> <9a383f74-e049-885b-4705-93968f4c75d4@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <9a383f74-e049-885b-4705-93968f4c75d4@ti.com> User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > The above can be: > rtc_readl(rtc, OMAP_RTC_SCRATCH0_REG + (offset + i) * 4), val[i]); > > -- Alexandre Belloni, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com