From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753185AbcBJQ4J (ORCPT ); Wed, 10 Feb 2016 11:56:09 -0500 Received: from mail-wm0-f54.google.com ([74.125.82.54]:34167 "EHLO mail-wm0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751073AbcBJQ4H (ORCPT ); Wed, 10 Feb 2016 11:56:07 -0500 Date: Wed, 10 Feb 2016 16:56:03 +0000 From: Lee Jones To: Steve Twiss Cc: LINUXKERNEL , David Dajun Chen , Support Opensource Subject: Re: [PATCH V1] mfd: da9062: fix missing volatile registers in the core regmap_range volatile lists Message-ID: <20160210165603.GR3782@x1> References: <20160201161049.7F7953FB84@swsrvapps-01.diasemi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20160201161049.7F7953FB84@swsrvapps-01.diasemi.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 01 Feb 2016, Steve Twiss wrote: > From: Steve Twiss > > Add an updated set of registers listed in the core regmap_range volatile > ranges defined for the DA9062. > > These new registers contain bits that cannot be considered under the full > control of software. Under various conditions the hardware will set and/or > automatically clear bit(s) contained in these registers. > > When using a cached version of regmap, the volatility of these registers must > be identified otherwise the regmap operations may not ensure the registers > are explicitly altered. > > As well as updating the list of volatile registers, this change will fix a > corner case discovered in the DA9063 ONKEY which is used by the DA9062 core. > > In the ONKEY case, the CONTROL_B register is now listed as volatile in the > regmap_range because it contains the bit field NONKEY_LOCK. This bit can be > altered by hardware, in which case regmap must be notified of its ability > to be manpiulated outside of software control. > > Signed-off-by: Steve Twiss Applied, thanks. > --- > Checks performed with linux-next/v4.5-rc1/scripts/checkpatch.pl > da9062-core.c total: 0 errors, 0 warnings, 554 lines checked > This patch applies against linux-next and v4.5-rc1 > > Regards, > Steve > > > drivers/mfd/da9062-core.c | 23 ++++++++++++++++++++++- > 1 file changed, 22 insertions(+), 1 deletion(-) > > diff --git a/drivers/mfd/da9062-core.c b/drivers/mfd/da9062-core.c > index a9ad024..8f873866 100644 > --- a/drivers/mfd/da9062-core.c > +++ b/drivers/mfd/da9062-core.c > @@ -388,11 +388,32 @@ static const struct regmap_range da9062_aa_volatile_ranges[] = { > .range_min = DA9062AA_STATUS_D, > .range_max = DA9062AA_EVENT_C, > }, { > - .range_min = DA9062AA_CONTROL_F, > + .range_min = DA9062AA_CONTROL_A, > + .range_max = DA9062AA_CONTROL_B, > + }, { > + .range_min = DA9062AA_CONTROL_E, > .range_max = DA9062AA_CONTROL_F, > }, { > + .range_min = DA9062AA_BUCK2_CONT, > + .range_max = DA9062AA_BUCK4_CONT, > + }, { > + .range_min = DA9062AA_BUCK3_CONT, > + .range_max = DA9062AA_BUCK3_CONT, > + }, { > + .range_min = DA9062AA_LDO1_CONT, > + .range_max = DA9062AA_LDO4_CONT, > + }, { > + .range_min = DA9062AA_DVC_1, > + .range_max = DA9062AA_DVC_1, > + }, { > .range_min = DA9062AA_COUNT_S, > .range_max = DA9062AA_SECOND_D, > + }, { > + .range_min = DA9062AA_SEQ, > + .range_max = DA9062AA_SEQ, > + }, { > + .range_min = DA9062AA_EN_32K, > + .range_max = DA9062AA_EN_32K, > }, > }; > -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog