Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp380076imm; Tue, 25 Sep 2018 23:49:57 -0700 (PDT) X-Google-Smtp-Source: ACcGV63JOLxBrfG2K3H0RY97K/0AVtVesp5wMsMIDoUX2xu41VSQY0qsECwoFG37Vf6mVDLtUMZh X-Received: by 2002:a63:a441:: with SMTP id c1-v6mr4326552pgp.182.1537944597740; Tue, 25 Sep 2018 23:49:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537944597; cv=none; d=google.com; s=arc-20160816; b=zsnniWQvSUN08STuCOcb9KqYUfdMxH3kF5OnVg4YIIsn9x8bncs1JLakw3YqMQY4q0 eemI5UIeCKs5SkF9vuYxu/PKDNxWKGeeIInQvURyyO4QM6rtavC+GhD7yL1PiI3HMB8z SEzpR7/VvjvN/676D7O0NZC1n4vsMyOmYCOUbw0o0E5X+oDSsPI2OSdPpd+9s0m1mOVF KTmh9SKK53uSBZhFZ3p2K+H7Lde9MEGUmFTYpV9DFiL5maN6DZP3UhQjagGZH1ZYCSX3 G8GqNzPjo48lJwm0SmokFLfuu/FUDGFsc4NZ95HTHHCuDoEUn7iTEuHdQSbqO4nRJi56 6pbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=Ru2n6ICKq0yIZl77it2eNfcVPuJ5rRTUSpLQbZn5xnI=; b=I/k3KcKnVMYqDAyr0NGFDWeXevvPFISTaWr39efMxntbG9Lhf3X5m0qL9S/10y1Pgp /yPqffvLT0vjE9UpdJ0A3ai3/5loF2sDodeqYLd4ci9hGDrUdPHacGqth7hn9sknjT1Q 2izqU1jCvsB7h+mJ4/etEIFVZDgAPjy6fUIwqcBxmizySUQJe5OyfC0xWPbys/KDPgsY fKOy9/R+fvWbh4j0O5hK5g5PsXobap08cvXL9ARxi7UgRdYwYurYex719Id1RZA2Uup5 77tj4RMPq0OX8MFDhfi99i4Q9vhORxNu6hQKXrWYO+nro9svd8nF7+3Nxme4jRHClqsv gZBg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g70-v6si4221612pfe.4.2018.09.25.23.49.42; Tue, 25 Sep 2018 23:49:57 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727189AbeIZM7U (ORCPT + 99 others); Wed, 26 Sep 2018 08:59:20 -0400 Received: from metis.ext.pengutronix.de ([85.220.165.71]:48591 "EHLO metis.ext.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726368AbeIZM7U (ORCPT ); Wed, 26 Sep 2018 08:59:20 -0400 Received: from dude.hi.pengutronix.de ([2001:67c:670:100:1d::7]) by metis.ext.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1g53c2-0002EY-TX; Wed, 26 Sep 2018 08:47:54 +0200 Received: from sha by dude.hi.pengutronix.de with local (Exim 4.91) (envelope-from ) id 1g53c0-0000JJ-JO; Wed, 26 Sep 2018 08:47:52 +0200 Date: Wed, 26 Sep 2018 08:47:52 +0200 From: Sascha Hauer To: Fabio Estevam Cc: Abel Vesa , Lucas Stach , Sascha Hauer , Dong Aisheng , Fabio Estevam , Anson Huang , Andrey Smirnov , Rob Herring , Stephen Boyd , Michael Turquette , open list , "open list:COMMON CLK FRAMEWORK" , Abel Vesa , NXP Linux Team , Shawn Guo , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" Subject: Re: [PATCH v9 4/5] clk: imx: add imx composite clock Message-ID: <20180926064752.GM4097@pengutronix.de> References: <1537785597-26499-1-git-send-email-abel.vesa@nxp.com> <1537785597-26499-5-git-send-email-abel.vesa@nxp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Sent-From: Pengutronix Hildesheim X-URL: http://www.pengutronix.de/ X-IRC: #ptxdist @freenode X-Accept-Language: de,en X-Accept-Content-Type: text/plain X-Uptime: 08:37:07 up 131 days, 18:17, 163 users, load average: 21.66, 19.09, 11.16 User-Agent: Mutt/1.10.0 (2018-05-17) X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::7 X-SA-Exim-Mail-From: sha@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 25, 2018 at 01:42:12PM -0300, Fabio Estevam wrote: > Hi Abel, > > On Mon, Sep 24, 2018 at 7:39 AM, Abel Vesa wrote: > > > +static long imx_clk_composite_divider_round_rate(struct clk_hw *hw, > > + unsigned long rate, > > + unsigned long *prate) > > +{ > > + int prediv_value; > > + int div_value; > > + > > + imx_clk_composite_compute_dividers(rate, *prate, > > + &prediv_value, &div_value); > > + > > + rate = DIV_ROUND_UP_ULL((u64)*prate, prediv_value); > > You assing a value to 'rate' here. > > > + rate = DIV_ROUND_UP_ULL((u64)rate, div_value); > > And then overwrite it immediately after. It's: rate = *prate / prediv_value; rate = rate / div_value; To me this looks correct. However, For an unsigned long type we have DIV_ROUND_UP() with which we do not need any casting. For 64bit code unsigned long is 64bit anyway which makes the cast a no-op and for 32bit code there's also no point in exanding the initial 32bit value to 64bit. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |