Received: by 2002:a5d:9c59:0:0:0:0:0 with SMTP id 25csp90911iof; Sun, 5 Jun 2022 22:04:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw9zXp9YGkU5OuTKyTzfYQRhw0kA4YH0YakAPVySSJ+NR381Q6hSczUZ87mvpSBhDxZh51A X-Received: by 2002:a65:6cc9:0:b0:399:26da:29af with SMTP id g9-20020a656cc9000000b0039926da29afmr19460761pgw.489.1654491884702; Sun, 05 Jun 2022 22:04:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654491884; cv=none; d=google.com; s=arc-20160816; b=uSs12NHQXalZwYlHc2CuIsgsGjOPWLEUpTfXIG99RMcu8/I8V24QrnGuS4oKkbeh+3 +sI41ZWZBXQr7qSyV9Kom9q9iOpcNDGVWJpVWpoqlxTvyyaG9xunW+uyEMLUxYJo19Gd oBvwglD/lHNFvBq2mQ5ywY72JHGcceH3/IUzmTm38iRYi1UWOk5B4U8FX9mvEmkH+VkV F2uIAnNhnOJm2RffKT1IEOrfUq1xmhPp2AS8/3BF/I5P+iBUQtnznwwSWb/2IrXnytIE niC2FXLYKH0UqEOBKTgCqj0W7o3nDVhUY0F1PK4OzFOmlTQl60Gl4n4xSBFF/ffCiSvR 2uvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=xQwH03eUdhwmKSD3Wqpf/OXltVtDgOmzI8xFQdlkuAU=; b=mjxro5LpwB+Z3Ag2HklghwLnhvYBa2mUEtN6SXWH++u+TtzgFdnl3lxneiv3XQyx6E BB/gmo03sQrD5/D+DEabEyMDSa/kNecELeqWEeQ6QDgNmE4VLUNpdzYBKRyc0eKouhk9 djT+EJ9M+ZdUSayoJldjkp3kygNb6103pDfREoenqKUNUPlGC7MD5F2xOG+IalWtPdWG u4XuKfXAZtQB9WCr3LW03aGL9agj+5wWx8K0y0xZyBovoY/G+mAI4Llr0Pkr6R9mgNnY cbMayCP2SNpCcgJ3SLmBSza0mnDL2hd5L3Kn9/ck9VU9jR6OIdkPYlDjS4aScGiMmlka xpUw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=o3BPeuKW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 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 lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id m11-20020a637d4b000000b003f9e159641fsi20294547pgn.663.2022.06.05.22.04.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Jun 2022 22:04:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=o3BPeuKW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 00DF0115CB0; Sun, 5 Jun 2022 21:13:32 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1352269AbiFFDM4 (ORCPT + 99 others); Sun, 5 Jun 2022 23:12:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57494 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1349220AbiFFDMz (ORCPT ); Sun, 5 Jun 2022 23:12:55 -0400 Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com [IPv6:2a00:1450:4864:20::429]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7A3CF4F46D; Sun, 5 Jun 2022 20:12:53 -0700 (PDT) Received: by mail-wr1-x429.google.com with SMTP id m26so6640735wrb.4; Sun, 05 Jun 2022 20:12:53 -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:content-transfer-encoding; bh=xQwH03eUdhwmKSD3Wqpf/OXltVtDgOmzI8xFQdlkuAU=; b=o3BPeuKWpskf/nmERSRQZ7mKyW5ObyOUwafZVED4ziKHTp27U2firE+Lg3HG/d0zCy r1m+1Ka74YCvs/5iQS83SYRUAJeAHpJ6bLu6gbpJrkAgmn2ohmO/oIOhH1FTh15pxvav gruahLTIMRuBYIV9t/04c51vxOxOMIp7KXUJ2tpsIvc1gL8yQyWlGDMJ5OMHnGdTapXX kwjNDeeuwr8oTsjgiOgtWIk5Ki91cmRaN0nwFXMbcJNKmxXueoijYJndXK2mDxYr/iTR IHCgRDmrqjIoVVNdb5iYKDtkxlVLIFIKuvyR0UGXt1/utBzMJByVGN3Bdlvp/weR028I 2MnQ== 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:content-transfer-encoding; bh=xQwH03eUdhwmKSD3Wqpf/OXltVtDgOmzI8xFQdlkuAU=; b=4tx7Nuu5ClkcDMsTtpOY6ZHC4IpioTPdFooOqneYBxitvX3gsvwvtydi11i5TuhLOI 2ujy+aZBDRaMXkv1tsqrORc3lTSO39EeLLUpdr8WIN6kgdDZJFbL9LT+60rCTVIVta6l WcOoeb5VMNkUtxn0Az1P0rsY18rucsrbLWS+mDDfkHqzWMtuZtMppYkZDKHLPHzQ0c2V ofVdQtMlkIXUOLg8XsDTjGPYUfPWeMEYngeK/5cG63o0wSlI47Zt7UQNZKKIigk2IOyN Xh2RDrFmUaEXUozxbG/8JHsLrMtDhdqjJ2gRJBvvI6ajA9m8F87iZRmajDW+zzvTPq3X nq7Q== X-Gm-Message-State: AOAM5313crh4r02Ex1xrfJXD3wU689zhW05+AZFdcU9kFACJIep2+SS1 eZs8JNvxfc3MOhHzy6ZktC5hBxlaFrdPO4BhZKI= X-Received: by 2002:a5d:4302:0:b0:20e:66db:b8f5 with SMTP id h2-20020a5d4302000000b0020e66dbb8f5mr18692708wrq.320.1654485171681; Sun, 05 Jun 2022 20:12:51 -0700 (PDT) MIME-Version: 1.0 References: <20220530180910.2533-1-andriy.shevchenko@linux.intel.com> <20220603180347.2b0d0f08@jic23-huawei> In-Reply-To: <20220603180347.2b0d0f08@jic23-huawei> From: Cixi Geng Date: Mon, 6 Jun 2022 11:12:15 +0800 Message-ID: Subject: Re: [PATCH v1 1/1] iio: adc: sc27xx_adc: Re-use generic struct u32_fract To: Jonathan Cameron Cc: Andy Shevchenko , Jonathan Cameron , Cixi Geng , linux-iio@vger.kernel.org, "linux-kernel@vger.kernel.org" , Lars-Peter Clausen , Orson Zhai , Baolin Wang , Chunyan Zhang Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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 Jonathan Cameron =E4=BA=8E2022=E5=B9=B46=E6=9C=884=E6=97= =A5=E5=91=A8=E5=85=AD 01:44=E5=86=99=E9=81=93=EF=BC=9A > > On Mon, 30 May 2022 21:09:10 +0300 > Andy Shevchenko wrote: > > > Instead of custom data type re-use generic struct u32_fract. > > There isn't a custom data type - I'll reword this whilst applying > if there is no reason for a v2. > > > No changes intended. > > functional changes > > > > > Signed-off-by: Andy Shevchenko > Given they have been active recently I'd ideally like Cixi Geng > to take a quick glance at this before I apply it. Acked-by: Cixi Geng > > Thanks, > > Jonathan > > > --- > > drivers/iio/adc/sc27xx_adc.c | 15 +++++++-------- > > 1 file changed, 7 insertions(+), 8 deletions(-) > > > > diff --git a/drivers/iio/adc/sc27xx_adc.c b/drivers/iio/adc/sc27xx_adc.= c > > index e9ff2d6a8a57..f8421cbba8fa 100644 > > --- a/drivers/iio/adc/sc27xx_adc.c > > +++ b/drivers/iio/adc/sc27xx_adc.c > > @@ -579,15 +579,14 @@ static int sc27xx_adc_read(struct sc27xx_adc_data= *data, int channel, > > return ret; > > } > > > > -static void sc27xx_adc_volt_ratio(struct sc27xx_adc_data *data, > > - int channel, int scale, > > - u32 *div_numerator, u32 *div_denominato= r) > > +static void sc27xx_adc_volt_ratio(struct sc27xx_adc_data *data, int ch= annel, int scale, > > + struct u32_fract *fract) > > { > > u32 ratio; > > > > ratio =3D data->var_data->get_ratio(channel, scale); > > - *div_numerator =3D ratio >> SC27XX_RATIO_NUMERATOR_OFFSET; > > - *div_denominator =3D ratio & SC27XX_RATIO_DENOMINATOR_MASK; > > + fract->numerator =3D ratio >> SC27XX_RATIO_NUMERATOR_OFFSET; > > + fract->denominator =3D ratio & SC27XX_RATIO_DENOMINATOR_MASK; > > } > > > > static int adc_to_volt(struct sc27xx_adc_linear_graph *graph, > > @@ -615,7 +614,7 @@ static int sc27xx_adc_to_volt(struct sc27xx_adc_lin= ear_graph *graph, > > static int sc27xx_adc_convert_volt(struct sc27xx_adc_data *data, int c= hannel, > > int scale, int raw_adc) > > { > > - u32 numerator, denominator; > > + struct u32_fract fract; > > u32 volt; > > > > /* > > @@ -637,9 +636,9 @@ static int sc27xx_adc_convert_volt(struct sc27xx_ad= c_data *data, int channel, > > break; > > } > > > > - sc27xx_adc_volt_ratio(data, channel, scale, &numerator, &denomina= tor); > > + sc27xx_adc_volt_ratio(data, channel, scale, &fract); > > > > - return DIV_ROUND_CLOSEST(volt * denominator, numerator); > > + return DIV_ROUND_CLOSEST(volt * fract.denominator, fract.numerato= r); > > } > > > > static int sc27xx_adc_read_processed(struct sc27xx_adc_data *data, >