Received: by 2002:ac0:98c7:0:0:0:0:0 with SMTP id g7-v6csp470227imd; Wed, 31 Oct 2018 23:42:56 -0700 (PDT) X-Google-Smtp-Source: AJdET5dKD3BVMhoqds3KkmapJvtBFnIrBEjpmDtCjvIG878bnY4hxUR7yw7hDd7pqH44gu4JQch0 X-Received: by 2002:a17:902:6b46:: with SMTP id g6-v6mr6428529plt.33.1541054576936; Wed, 31 Oct 2018 23:42:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1541054576; cv=none; d=google.com; s=arc-20160816; b=iabVfBogRadPW0cF4ij7OOvCMJxknUo6YLJomH8gZUy+Mr8mcqXrQgMbTUxHJmjWLB yxArifcsIhi531hBD5siogRuu+mFuqzg3KWXqL8JCMnbCpVnHjZqMd8QUzVFfq1tNVz6 PPWekzPrIYun/0wTVsa7GxD1ev2NUZtE4ejFvKZ3czmqrKSwCDbsG/O0yoBD0pE4yCn2 02LSNgHB+HZ8aPmKDw+W7ila5Ovl4WGItou6b//v22rRO9lO3hFHce8ycN9Belddbb9L mPo3m/AyebDhpFpI6dt6VOzSX12B8PNRBTiaBMf7pugn1kJrSz+5UIVJdxuAbj5O5O5y VV1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:cc:to:subject :message-id:date:from:references:in-reply-to:mime-version :dkim-signature; bh=D3bpK1GmB4/nEYAhTMt5b8cAzvVwhRnx8VLexy3aBA0=; b=KPxN4mRd/2uz1D/BUWZwQS4xNLYueXjk7t6obbMcNjdVRvq9FDDQngNuK4B4AmEVq5 HbaUxaEwqnxqSY1embtXpyRhqjjHaAolv+Cm2RjJklCvCBwueD52z6CGshyJYIk201uV P0sAzyX7GT8Q4Hgsl5lJvk/UcFt4nnVhb7/O6pmd6Ed3QVUCgMeoLuScCNUBaOjRoLj8 TP8Elzf9ziwTkV//BMzdUn5BAEyxJrGm0kBowbzl8Pu47jKntzzYx/NDl9COPARWMg3p oqaBzYiaRV4YLb0aQ5+BXer94QJyusBV/ByB2HhtCXD8itHPOT6NJT+EZB5gxxRvIfJB QvCw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DQpaUfaz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a32-v6si27966762pgm.24.2018.10.31.23.42.39; Wed, 31 Oct 2018 23:42:56 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DQpaUfaz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727781AbeKAPny (ORCPT + 99 others); Thu, 1 Nov 2018 11:43:54 -0400 Received: from mail-lj1-f194.google.com ([209.85.208.194]:37256 "EHLO mail-lj1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727742AbeKAPny (ORCPT ); Thu, 1 Nov 2018 11:43:54 -0400 Received: by mail-lj1-f194.google.com with SMTP id c4-v6so17094059lja.4 for ; Wed, 31 Oct 2018 23:42:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=D3bpK1GmB4/nEYAhTMt5b8cAzvVwhRnx8VLexy3aBA0=; b=DQpaUfazow9NLSGWrRbS+yzmXeiFQeFGmPVRHwLXt9+zwSjBANPoVYPymUKYAu2oMv 78Qqv1bHbKoHNvrOYHGsB7BUc05v2+INrFKT+Vv1Zd5pY/unrgEWJMbydgsyWG/afD+B AnxIcFpwIDE7C/lK5K+xS2qJrcFAZy17kDSXs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=D3bpK1GmB4/nEYAhTMt5b8cAzvVwhRnx8VLexy3aBA0=; b=HPbEn41P6pupUNyfi228DhVeluWXNXHcacaNHhaogfGlL2bhXV2WlfexVtZAOlRLZF z1994Kc9TgPqM8UYme+W+x6gXQ4wvNB6Lto0RK3oeh15EApAqHv0uXkZORDi2B6SLvT7 6wmc0UVDljZ8prdEKkTVynYjTbGoYNjB9QqV7IPrW2qGVAuHnDO0QlRAk7t0WDW8sRft iIcGiZmq8+y8e1rOYLENSpjCZcENQO/H7c5xpnzymyGUNEig5I0GNLDdgyj5frctU3nd Anvwhzyoosvl8glFabRX7isV0vEv3QvejaXbx6IPl/ptRH7Wy7jMCzdWV+3fGMFDv+/x AWuQ== X-Gm-Message-State: AGRZ1gIDB+QH07fKDYAPEgPFKDCoDGEpk2bbDKYhcn5HOe4xXHZPFDFG Me3hzzw0oCLdNoRWz7jLPhNo/0vzzTBeRoRhHBgomw== X-Received: by 2002:a2e:5109:: with SMTP id f9-v6mr3397456ljb.52.1541054533786; Wed, 31 Oct 2018 23:42:13 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a2e:95d7:0:0:0:0:0 with HTTP; Wed, 31 Oct 2018 23:42:13 -0700 (PDT) In-Reply-To: References: <6a4c15368e0bf34f8e6aad4d788bc899cfb9d61e.1540189330.git.baolin.wang@linaro.org> From: Baolin Wang Date: Thu, 1 Nov 2018 14:42:13 +0800 Message-ID: Subject: Re: [PATCH v6 6/6] power: supply: Add Spreadtrum SC27XX fuel gauge unit driver To: Linus Walleij Cc: Sebastian Reichel , Rob Herring , Mark Rutland , Linux PM list , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , "linux-kernel@vger.kernel.org" , yuanjiang.yu@unisoc.com, Mark Brown , Craig Tatlor Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 31 October 2018 at 16:56, Linus Walleij wrote= : > On Mon, Oct 22, 2018 at 9:44 AM Baolin Wang wrot= e: > >> This patch adds the Spreadtrum SC27XX serial PMICs fuel gauge support, >> which is used to calculate the battery capacity. >> >> Original-by: Yuanjiang Yu >> Signed-off-by: Baolin Wang >> Acked-by: Linus Walleij >> --- >> Changes from v5: >> - Save the OCV values in micro volts for OCV capacity table. >> - Use devm_kmemdup() instead of devm_kzalloc() in sc27xx_fgu_hw_init() > > Hi Baolin, you can keep my ACK, just adding some nitpicking: Thanks. > >> +struct sc27xx_fgu_data { >> + struct regmap *regmap; >> + struct device *dev; >> + struct power_supply *battery; >> + u32 base; >> + struct mutex lock; >> + struct gpio_desc *gpiod; >> + struct iio_channel *channel; >> + bool bat_present; >> + int internal_resist; >> + int total_cap; >> + int init_cap; >> + int init_clbcnt; >> + int max_volt; >> + int table_len; > > Can the above really be negative or should these int:s really > be unsigned int? I think the table_len can be changed to u32, but for others, I'd like to keep consistency with the power supply battery information=E3=80=82 > >> +static int sc27xx_fgu_adc_to_current(int adc) >> +{ >> + return (adc * 1000) / SC27XX_FGU_1000MA_ADC; >> +} >> + >> +static int sc27xx_fgu_adc_to_voltage(int adc) >> +{ >> + return (adc * 1000) / SC27XX_FGU_1000MV_ADC; >> +} > > Would you maybe use > DIV_ROUND_CLOSEST(adc*1000, SC27XX_FGU_1000MV_ADC) > on these? Good point. Will change in next version. Thanks for your comments. > > Overall this is a very fine driver and really pretty compared to some > other stuff we have in drivers/power. Thanks. --=20 Baolin Wang Best Regards