From patchwork Mon Mar 6 11:48:30 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Cox X-Patchwork-Id: 39769 Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ckr8m-0002km-UP; Mon, 06 Mar 2017 11:49:24 +0000 X-tubIT-Incoming-IP: 209.132.180.67 Received: from vger.kernel.org ([209.132.180.67]) by mail.tu-berlin.de (exim-4.84_2/mailfrontend-5) with esmtp id 1ckr8l-00079J-6X; Mon, 06 Mar 2017 12:49:24 +0100 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752945AbdCFLtV (ORCPT + 1 other); Mon, 6 Mar 2017 06:49:21 -0500 Received: from mga04.intel.com ([192.55.52.120]:28897 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752799AbdCFLtV (ORCPT ); Mon, 6 Mar 2017 06:49:21 -0500 Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Mar 2017 03:48:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,253,1484035200"; d="scan'208";a="56538264" Received: from unknown (HELO acox1-desk1.ger.corp.intel.com) ([10.252.14.195]) by orsmga002.jf.intel.com with ESMTP; 06 Mar 2017 03:48:30 -0800 Subject: [PATCH] atomisp: fix __udiv warning From: Alan Cox To: greg@kroah.com, linux-media@vger.kernel.org Date: Mon, 06 Mar 2017 11:48:30 +0000 Message-ID: <148880090137.25601.18382191536021391777.stgit@acox1-desk1.ger.corp.intel.com> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 6.0.0.2142326, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2017.3.6.114216 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' HTML_00_01 0.05, HTML_00_10 0.05, MSGID_ADDED_BY_MTA 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_1200_1299 0, BODY_SIZE_2000_LESS 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, NO_URI_HTTPS 0, __ANY_URI 0, __CT 0, __CTE 0, __CT_TEXT_PLAIN 0, __HAS_FROM 0, __HAS_LIST_ID 0, __HAS_MSGID 0, __HAS_X_MAILING_LIST 0, __MIME_TEXT_ONLY 0, __MIME_TEXT_P 0, __MIME_TEXT_P1 0, __MIME_VERSION 0, __NO_HTML_TAG_RAW 0, __PHISH_SPEAR_SUBJECT 0, __SANE_MSGID 0, __SUBJ_ALPHA_END 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_NO_WWW 0, __URI_NS , __USER_AGENT 0' Certain combinations of compiler and compiler options product an imx.o that calls compiler helpers for a u64 divide. Use the do_div() call instead. Signed-off-by: Alan Cox --- drivers/staging/media/atomisp/i2c/imx/imx.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/staging/media/atomisp/i2c/imx/imx.c b/drivers/staging/media/atomisp/i2c/imx/imx.c index 47286de..f6e12c6 100644 --- a/drivers/staging/media/atomisp/i2c/imx/imx.c +++ b/drivers/staging/media/atomisp/i2c/imx/imx.c @@ -819,13 +819,14 @@ static int imx_get_intg_factor(struct i2c_client *client, if (dev->sensor_id == IMX132_ID || dev->sensor_id == IMX208_ID) vt_pix_clk_freq_mhz = ext_clk_freq_hz / div; - else if (dev->sensor_id == IMX227_ID) + else if (dev->sensor_id == IMX227_ID) { /* according to IMX227 datasheet: * vt_pix_freq_mhz = * num_of_vt_lanes(4) * ivt_pix_clk_freq_mhz */ vt_pix_clk_freq_mhz = - (u64)4 * ext_clk_freq_hz * pll_multiplier / div; - else + (u64)4 * ext_clk_freq_hz * pll_multiplier; + do_div(vt_pix_clk_freq_mhz, div); + } else vt_pix_clk_freq_mhz = 2 * ext_clk_freq_hz / div; vt_pix_clk_freq_mhz *= pll_multiplier;