From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8C7633BCD0B for ; Tue, 30 Jun 2026 07:39:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782805178; cv=none; b=rg3vEe0JfF6yh0AZlh5VXmCNHlDMkAxD3om0EUtOF/a8WQeMno0r7BTeINBSt2YZYgStlyrht1lINV3vEN1vRd903C4FpW3eHnIlv6oAibQs/kt145lcGmx94zCVyLA/wjrRfputvHGglEwf/VPS4/aLJom2zhdNXJuJ0+5b04Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782805178; c=relaxed/simple; bh=x5lClJ+hHisus7sv+EdEVUAs07TB8Y5FSVG2Xgr71+8=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=nBInLCW3xQEImqdUXQQ1Bou7f6/wD3M4crYr8eEdxtH2pZULo1wY4cXWvUzEFibh8LohgcFPTtn5QtAOqKOxtdtFtcVxrU01wzvhMBxWtib5/R+4jdK6MJskW3D1SbLXLwnLnvXBtJT2VBC/tWlAJTusA4AcHLjNIrbTKQbnYYM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=or/+htdc; arc=none smtp.client-ip=209.85.221.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="or/+htdc" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-4758bd3731bso226466f8f.0 for ; Tue, 30 Jun 2026 00:39:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782805174; x=1783409974; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=6f0a6CUBMW6wzjEw+k5eQBiq+eEykiLHNiQv7o3R41E=; b=or/+htdcSG2JvXTkq77P1IVFh00U61Ybeczs3l2KfpB/Q52IOIZpJP/RxNYX6SgNW9 GCHD09XROf1mM55t+iyBzXV36IBUO/xOiBU8WU4+46lxgF3wWhJeByh87VDe3yNWy10/ IyL7mEz2cUkgV3wChZeGac2YLaT2RQRw6seTQXqtRL9lly2WiODhrxvOd3o7LaT6b30v MlpW8dNCFvtHVsIlTPUII2uQNWS2AqS1RZHWnL6ajxPO5exZO1e8vSRCCd6at9EB9WJ4 FrCNg4+hNZGWXqecd1GIfakUOhjq1uzMiKcDQR6ZnuZklbgn4HwVrT/uxpBlKzVNKSpG NWhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782805174; x=1783409974; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=6f0a6CUBMW6wzjEw+k5eQBiq+eEykiLHNiQv7o3R41E=; b=Wsdjf+ZUBXv20wsdz/NiEVG9hK9wDRFOTui3LNDUtQ4sC4BlvG3aScGs8LEP7KslPK UTpz5N6eQnN+JtPbHAeKZ7erLsifjeLsC6KP8NOGD1L3Tku+8RVrdlhBJLXq9n9pwkDR 09WblEpdb9Tv4IXnx9By+s7Mil+UOqOMWurr9mlvsDiYsy23bHlmjYroHGqPzWI+rIxl moktm+fPtzCjH9xdHT4gpBrFWIb2fQzJMt7RZ+SnfNd2UB3hGGgCgnOEoS/yM7n4dqDH b8vOc6vKFTkmMlQepOHImX2kQ8HZzzbFpMdayICzrOkIhmd3BqHbJJsDVjNn+g5qKRPq STRw== X-Forwarded-Encrypted: i=1; AHgh+Ro4MvNy68wvWLq9j27/KlHWIbnEuoMyWlJGMwbvHR/ooNVj81dy+feI7knMPnf2YRuZ1115FVzRVIFt2BM=@vger.kernel.org X-Gm-Message-State: AOJu0Ywx4UeUFNXjXCQK/8B13trTkO36FmJMS3dMUabEjRh24lNSg5RS bQpBOPTvGWya9Lc51b8SxRTejaWDzXdElTsYw3qeNPz/rA3p5Oz9xbu/ X-Gm-Gg: AfdE7cnRKMYgCVSytaEhNBA0AJM9tTbcZp1KWw9k77oA0eCexWt/qOFdmw14YFT1mpa D/+DHVnQTtHBStUMrjxImLW8JP2mA2BfzBfXnztVxD2SX8GYb5/uiFJAvp5TwhrGMgoa64lc6i+ VyNikuJnY43s64qJYuhrhy47VMgWrpPPTlSRlNk2WqHVGqb88CjJ/RT2ZwsJTNIzZn5IqpJ3mTK 8G+/qBHRqv05HybGbH0RKeA+gYB7aJ/+OcEyrK+2ZyUeKIFnDbOh7FkWQlRC6F4u4SDw+3KvV9o Oe6rHkHbMpDJfFLjnHu9h+IA4pHIyLgIxw7vQraDzU1DIwn3UA0x4DSDHk8+TPbsD7uG0Npwjc8 ShTM0eYujGuGuNLOK63xOCfyZ83vipcDWzQBM3ZaKlA4PQIyGSTUcabvvrHCP0+m/kc18ygXRQ8 no28gC0vIRZpTJrxr8Lh9ZOaWEw4JupdX8lWQH44uoZ4WwXZVFHtm7Y5u2Nd+HA5cwLE+uG+XDj cImAW/ASgX9FroMgmiALtrwMBiTBb/7l9JGVTLLxaPEgq1254XN7lHg3X5Pta/n3tQpn9LPO90r hOkclYF25ctNiculK+rz2KbhLORuk+uZkSfk+QLSWDWQCZ2gezLxyS4= X-Received: by 2002:a05:6000:4a13:b0:472:e43b:5e8c with SMTP id ffacd0b85a97d-475dff5e567mr1152217f8f.20.1782805173846; Tue, 30 Jun 2026 00:39:33 -0700 (PDT) Received: from localhost (90-182-112-124.rcp.o2.cz. [90.182.112.124]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47563d19573sm5008391f8f.4.2026.06.30.00.39.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jun 2026 00:39:33 -0700 (PDT) Date: Tue, 30 Jun 2026 09:39:31 +0200 From: Joshua Crofts To: Mohamad Raizudeen Cc: lars@metafoo.de, Michael.Hennerich@analog.com, jic23@kernel.org, dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, gregkh@linuxfoundation.org, skhan@linuxfoundation.org, linux-iio@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: Re: [PATCH] staging: iio: frequency: ad9832/ad9834: use div64_ul instead of do_div Message-ID: <20260630093931.00006eca@gmail.com> In-Reply-To: <20260630032322.5805-1-raizudeen.kerneldev@gmail.com> References: <20260630032322.5805-1-raizudeen.kerneldev@gmail.com> X-Mailer: Claws Mail 4.4.0 (GTK 3.24.51; x86_64-w64-mingw32) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Tue, 30 Jun 2026 08:53:22 +0530 Mohamad Raizudeen wrote: > Coccinelle warns that do_div() should not be used when the divisor is an unsigned long, because do_div() expects a 32-bit divisor. > > In this case, the 'mclk' divisor is an 'unsigned long', which can be 64-bit on certain architectures. The correct function to use here is div64_ul(). > > Because do_div() modifies the dividend in place, while div64_ul() returns the result, the code was updated to directly return the result of div64_ul. This keeps the math exactly the same but fixes the warning and makes the code safer. Please try to wrap your lines to 72 characters. > > Signed-off-by: Mohamad Raizudeen > --- > drivers/staging/iio/frequency/ad9832.c | 3 +-- > drivers/staging/iio/frequency/ad9834.c | 3 +-- > 2 files changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/staging/iio/frequency/ad9832.c b/drivers/staging/iio/frequency/ad9832.c > index b87ea1781b27..91df7ee65bfc 100644 > --- a/drivers/staging/iio/frequency/ad9832.c > +++ b/drivers/staging/iio/frequency/ad9832.c > @@ -115,8 +115,7 @@ static unsigned long ad9832_calc_freqreg(unsigned long mclk, unsigned long fout) > { > unsigned long long freqreg = (u64)fout * > (u64)((u64)1L << AD9832_FREQ_BITS); > - do_div(freqreg, mclk); > - return freqreg; > + return div64_ul(freqreg, mclk); > } I've actually sent a patch for this previously, however the discussion ended with the fact that there really isn't a point in doing this, since mclk will always be a value that can fit into a 32-bit unsigned type, therefore truncation isn't possible. See here: https://lore.kernel.org/all/20260409182755.499a419c@pumpkin/ -- Kind regards CJD