Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp908748iob; Thu, 12 May 2022 07:13:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzQV6S9j5TBJkOEMgazkCdugV0rHXsILlgK8eX+c9sz1o5TPlw9UzPhIXlnqc+YVzeJsw8f X-Received: by 2002:a17:90a:fa06:b0:1d7:765d:111b with SMTP id cm6-20020a17090afa0600b001d7765d111bmr11096869pjb.185.1652364839388; Thu, 12 May 2022 07:13:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652364839; cv=none; d=google.com; s=arc-20160816; b=CKs40GXuZSZvr2akZ6KCT+fBUV1VIRpV5olT0WI+CfFzj9C1BJRERgZ3nRoaJIBPA3 VBgeQbR62BeVBMJIECWVdFSPRMpMtupEPLJ2cRCbceFzGToHq+zSdRay3XR9wCUao/hW s0cRplU16Uyub+eknaoZDN/sdA4QiVJlfNB4wGI9YNqmCZ7mwvq11fPaPda+qrgs81o5 8/dWS+qJUTqGuaMDDnw8hyz+7XAfx8HFCTPCDb9XYVyxaQVagQvyDC/ATsB/fK0j1Bs9 r6wdpKkR4Pd5DCVVxEPBSR3tDAzwbVsR7Eo/QEJQFH4rKR2dKhV3Z5FxzyeEXT+Wa3Of uAVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=xGQI4Uoj1dr+aEskjWCNFPVBtuNGecDaxcbPpm4ndbA=; b=HrxPy8ceKiuHbpNLoPrGzA0Thwa2awKyFNpAlreX+X0LwT0OTKZRVjitwjT98qdglD Xemwk3hbhPpKT3WiApPfHIJ1RIqlTud1UhYgMvJPZFpk9B4CWGpcIgZxZBsR4IGtSX5N cEzPQiT5A3cknIJFCVEiIlp9iMh0HHqLGqRO4bRpaYTstP14L6k8Axz0nhKrlJDiPKz0 ARpkMrS5eeNQufTCViYfDCXY1J4mCye7pFt0gfoJ7PzElJnNqtnTPXWqQN9oCYXdZZh5 QLbgAlILWkrFZdPHSbiFpdy+6CEoWNIYh5FI8rLKB3rgc5xMwBVyNP4tbKeBAtMBf26k QnbQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=PnA7rPHX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d192-20020a6368c9000000b003db4b0663c2si3543346pgc.697.2022.05.12.07.13.45; Thu, 12 May 2022 07:13:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=PnA7rPHX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1350826AbiELHPI (ORCPT + 99 others); Thu, 12 May 2022 03:15:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54014 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1350809AbiELHPA (ORCPT ); Thu, 12 May 2022 03:15:00 -0400 Received: from mail-pf1-x436.google.com (mail-pf1-x436.google.com [IPv6:2607:f8b0:4864:20::436]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 33F9079806; Thu, 12 May 2022 00:14:59 -0700 (PDT) Received: by mail-pf1-x436.google.com with SMTP id x52so3987007pfu.11; Thu, 12 May 2022 00:14:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=xGQI4Uoj1dr+aEskjWCNFPVBtuNGecDaxcbPpm4ndbA=; b=PnA7rPHXCzS0oh9lybb9R+lMue+sbKQL/J8VRDHkkRo9cxuqJmFC90BLUdvNpvQ3yx qPXAmh0JFJQTnsYzKtSTuNsch+PM+pzpvqXqxqmJCG2fLiMobPUPeAmiPzfxzF0XWnS+ 5PcntrBUmEy6FhaVNAByXc9KhN/x1BDMX/vOPaia5RKBnV84omjEVyuc1vf+LKeDxhoI kfc7kgpU61zQZ9B7SeHh4qnI9lzvmrnwDcfAWwue1iiSLlrZBAv99QX8smQQiMaJptm4 3STjzwEVMbrpn5TsSZln4yuKG+nySs9CC47ZVfkRyYYWaPqG/Ch436vmVVVgwsYbm3e+ /GSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=xGQI4Uoj1dr+aEskjWCNFPVBtuNGecDaxcbPpm4ndbA=; b=74rV3RvDmpq4fnSpiS3h8gGap8kCb0Lwq4Oguew7zsbO2uLSyQw3p8g3+H9DnACmox HloOPnff1HvdOQfn+3N3zTyfD/iT197j4eS0KibXt0z6G//8k3ylXofr2Ed58q+LgQyj 8PZFutmx5y9Yicn6rTuzwG0Ud8JSrwnA8c90HnOt8d4W82HIyWQwBRXK5RzAA1+g0SuK k6SOKfUyOqQAWQHj+QhhLdSBbNdVHNhxf7pkwz3++Wyvls1Pm5b5z0Pot8Z+DtDOq3Oh DhfkbcR0bQD6r13Tq5lT2QTrdlqSF7yVkzcFDIdVWa8wQOzSTuDxqQlBNBjT1hEi+lDc qkyg== X-Gm-Message-State: AOAM5316E5W7Y3jHCjDUoeDVUIyOwVHGUrImyMm2r8+ikpNTfs2Zq+gJ VvGrEndzp7M4X+kFm4gkHE9rdaMKpeL4pMVWlPE= X-Received: by 2002:a63:84c8:0:b0:3c6:4013:9e90 with SMTP id k191-20020a6384c8000000b003c640139e90mr23918919pgd.415.1652339698647; Thu, 12 May 2022 00:14:58 -0700 (PDT) MIME-Version: 1.0 References: <20220510141753.3878390-1-Qing-wu.Li@leica-geosystems.com.cn> <20220510141753.3878390-2-Qing-wu.Li@leica-geosystems.com.cn> In-Reply-To: <20220510141753.3878390-2-Qing-wu.Li@leica-geosystems.com.cn> From: Alexandru Ardelean Date: Thu, 12 May 2022 10:14:47 +0300 Message-ID: Subject: Re: [PATCH V2 1/6] iio: accel: bmi088: Modified the scale calculate To: LI Qingwu Cc: Jonathan Cameron , Lars-Peter Clausen , mchehab+huawei@kernel.org, linux-iio , LKML , Rob Herring , Mike Looijmans , devicetree Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 10, 2022 at 5:17 PM LI Qingwu wrote: > > The units after application of scale are 100*m/s^2, > The scale calculation is only for the device > with the range of 3, 6, 12, and 24g, > but some other chips have a range of 2, 4, 6, and 8g. > > Modified the formula to a scale list. > The scales in the list are calculated by 1/sensitivity*9.8. > The new units after the application of scale are m/s^2. > Strictly on the code: Reviewed-by: Alexandru Ardelean On the change of IIO_VAL_FRACTIONAL_LOG2 -> IIO_VAL_INT_PLUS_MICRO is still up for discussion. > Signed-off-by: LI Qingwu > --- > drivers/iio/accel/bmi088-accel-core.c | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/drivers/iio/accel/bmi088-accel-core.c b/drivers/iio/accel/bmi088-accel-core.c > index a06dae5c971d..9300313b63cb 100644 > --- a/drivers/iio/accel/bmi088-accel-core.c > +++ b/drivers/iio/accel/bmi088-accel-core.c > @@ -119,6 +119,7 @@ struct bmi088_accel_chip_info { > u8 chip_id; > const struct iio_chan_spec *channels; > int num_channels; > + const int scale_table[4][2]; > }; > > struct bmi088_accel_data { > @@ -280,6 +281,7 @@ static int bmi088_accel_read_raw(struct iio_dev *indio_dev, > struct bmi088_accel_data *data = iio_priv(indio_dev); > struct device *dev = regmap_get_device(data->regmap); > int ret; > + int reg; > > switch (mask) { > case IIO_CHAN_INFO_RAW: > @@ -330,13 +332,12 @@ static int bmi088_accel_read_raw(struct iio_dev *indio_dev, > return ret; > > ret = regmap_read(data->regmap, > - BMI088_ACCEL_REG_ACC_RANGE, val); > + BMI088_ACCEL_REG_ACC_RANGE, ®); > if (ret) > goto out_read_raw_pm_put; > - > - *val2 = 15 - (*val & 0x3); > - *val = 3 * 980; > - ret = IIO_VAL_FRACTIONAL_LOG2; > + *val = data->chip_info->scale_table[reg&0x03][0]; > + *val2 = data->chip_info->scale_table[reg&0x03][1]; > + ret = IIO_VAL_INT_PLUS_MICRO; > > goto out_read_raw_pm_put; > default: > @@ -432,6 +433,7 @@ static const struct bmi088_accel_chip_info bmi088_accel_chip_info_tbl[] = { > .chip_id = 0x1E, > .channels = bmi088_accel_channels, > .num_channels = ARRAY_SIZE(bmi088_accel_channels), > + .scale_table = {{0, 897}, {0, 1795}, {0, 3590}, {0, 7179}}, > }, > }; > > -- > 2.25.1 >