From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757233AbdAKTzr (ORCPT ); Wed, 11 Jan 2017 14:55:47 -0500 Received: from dehamd084.servertools24.de ([31.47.243.162]:49853 "EHLO dehamd084.servertools24.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754646AbdAKTzp (ORCPT ); Wed, 11 Jan 2017 14:55:45 -0500 X-Greylist: delayed 335 seconds by postgrey-1.27 at vger.kernel.org; Wed, 11 Jan 2017 14:55:45 EST From: Christian Mauderer To: Lee Jones , Chen-Yu Tsai , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Christian Mauderer Subject: [PATCH] mfd: axp20x: Add AXP288 volatile registers. Date: Wed, 11 Jan 2017 20:49:41 +0100 Message-Id: <20170111194941.5425-1-oss@c-mauderer.de> X-Mailer: git-send-email 2.11.0 X-PPP-Message-ID: <20170111195004.554.21124@localhost.localdomain> X-PPP-Vhost: c-mauderer.de Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The axp288_fuelgauge driver and some other axp288_xxx are using a number of the registers of the chip that are changed by hardware (for example charge level). Because these registers are not marked as "volatile" in the regmap, a cached version is used instead of the correct register value. In case of the axp288_fuelgauge that leads to a battery level that only changes on reboot. This patch adds the volatile registers of the chip. Signed-off-by: Christian Mauderer --- drivers/mfd/axp20x.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/mfd/axp20x.c b/drivers/mfd/axp20x.c index ed918de84238..d74b3daca23f 100644 --- a/drivers/mfd/axp20x.c +++ b/drivers/mfd/axp20x.c @@ -118,7 +118,10 @@ static const struct regmap_range axp288_writeable_ranges[] = { }; static const struct regmap_range axp288_volatile_ranges[] = { + regmap_reg_range(AXP20X_PWR_INPUT_STATUS, AXP20X_PWR_OP_MODE), regmap_reg_range(AXP20X_IRQ1_EN, AXP20X_IPSOUT_V_HIGH_L), + regmap_reg_range(AXP20X_CC_CTRL, AXP288_FG_OCVL_REG), + regmap_reg_range(AXP288_FG_DES_CAP1_REG, AXP288_FG_CC_CAP_REG), }; static const struct regmap_access_table axp288_writeable_table = { -- 2.11.0