Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp13658851pxu; Mon, 4 Jan 2021 00:20:41 -0800 (PST) X-Google-Smtp-Source: ABdhPJxUCPaWa5x+0x1NKfuyk/YHRA2NN55uI50P/izjjZbdiWpvhWxTa9Oc9rqpl9wurW/0/9ZW X-Received: by 2002:aa7:d5d6:: with SMTP id d22mr68854183eds.160.1609748441372; Mon, 04 Jan 2021 00:20:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1609748441; cv=none; d=google.com; s=arc-20160816; b=uotqtyzYKbYnDv+AQzUiAMtUW74bGlxTouBp3kutBVzkMhhm0LQ/3G8sBRTfozFCuE tDP58QYbKIQ8ZD4WG53q3eryQTKzwN5YV6cX6LUNtvyvm4zIjsYwLC6njwvc7OSXwcoI 452879B1oqFM+3tsXiqZi4d2eoj2xytVC/ThAEFbmySxyxBjbZaQYCxuEYuu+OJfqmPe sPIamAK92fPz1+PGU/UV6s4TwlPdr9d8u2UOKLeJSAXJmjfjgDTdf5YvPQw3TI/kaz1i LxB0AT2uB1dRC6Qretnmf0Hc30sbjSqegHl6mIJzhmLDfSLd27zte0S4mMAZyP4zxxQT Py0A== 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; bh=YMBiuedOOMmuXN5p23LzuCrx9oYV8zreF8EiRpvTu20=; b=BxOzdyDZfUJuJceSZHXMUiFatbKADwgbhQbSdTCE5S6e8sTGghwBoMMgbx5tadYtX9 PZVW4hBZopbktQ48Oga/pFDgysys9DQDh7boKSJPQAprwjdGaEAknkmxKeepDTWcRZHF yaRaNknA7xCR+7tAiuhB3JNDUyAxqU9lVZ/q0HGpXGqlQ97CISTJBM8u5B7joyHZwA9n 6V4PYvhYQpxXCGMQADeNzIYJ74VfHnUerJFkxGxje61Mh5K2+3FgwJxzuahAQrBr3ELo 2lJ5cRY8FdfLj0oVIVoCnp1pJ7DXoX6e2FkY8p+4Fjj2N2lg+GVGDSob4yU/TaxJBW9h qoCw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id eb9si29893433edb.436.2021.01.04.00.20.18; Mon, 04 Jan 2021 00:20:41 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726480AbhADITg (ORCPT + 99 others); Mon, 4 Jan 2021 03:19:36 -0500 Received: from mail-oi1-f178.google.com ([209.85.167.178]:38121 "EHLO mail-oi1-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725468AbhADITf (ORCPT ); Mon, 4 Jan 2021 03:19:35 -0500 Received: by mail-oi1-f178.google.com with SMTP id x13so31352566oic.5; Mon, 04 Jan 2021 00:19:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=YMBiuedOOMmuXN5p23LzuCrx9oYV8zreF8EiRpvTu20=; b=CmPU8/tK9WaGzSp7WZfijGuD/L4y/b5JLjISEA2+j8S2w+TKc0lxYZOhMun4B+0kxL uwsyz4U4ku/ba889kW+eTXAlagFHA48Q7oxTgUtkbhtpivyAHKXyO2QjwRxWwqWMv0y0 +JZrIPAlN1zVzNV9pjen/xNgj6Cesh4Ylr+5sI7np33oDsrpvdgjyUwQ88Wnn+Dq6G1c FRSCcVVTdpb9cMUDHOk4URAZxINpX4XCMl2bwUiTH6e3kYxE/ef2v/kp3p6FGZVjIAxd kmsBM+M+dn3383RTmPPuf/MOQS2rPMCeJDscCDXtogdCoqK83bhhwUP7n+EfgB7qvwP4 PS8Q== X-Gm-Message-State: AOAM532iMf1a44Cx/6VMsDcsS1CYDsFxZOBtphLWoFSCNgb1yrbAmzSh OTsHKSertPCPlGSrUSbkB7XNZdkI9zwU0kmIlaE= X-Received: by 2002:aca:4b16:: with SMTP id y22mr17093210oia.148.1609748334576; Mon, 04 Jan 2021 00:18:54 -0800 (PST) MIME-Version: 1.0 References: <20201230153744.15612-1-daniel.lezcano@linaro.org> In-Reply-To: <20201230153744.15612-1-daniel.lezcano@linaro.org> From: Geert Uytterhoeven Date: Mon, 4 Jan 2021 09:18:43 +0100 Message-ID: Subject: Re: [PATCH] powercap/drivers/dtpm: Fix __udivdi3 and __aeabi_uldivmod unresolved symbols To: Daniel Lezcano Cc: "Rafael J. Wysocki" , Linux PM list , ACPI Devel Maling List , kernel test robot , "Rafael J. Wysocki" , open list Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Daniel, On Wed, Dec 30, 2020 at 4:39 PM Daniel Lezcano wrote: > 32 bits architectures do not support u64 division, so the macro > DIV_ROUND_CLOSEST is not adequate as the compiler will replace the > call to an unexisting function for the platform, leading to an > unresolved symbols. > > Fix this by using the compatible macros: > > DIV64_U64_ROUND_CLOSEST and DIV_ROUND_CLOSEST_ULL. > > Reported-by: kernel test robot > Signed-off-by: Daniel Lezcano Thanks for your patch! > --- a/drivers/powercap/dtpm.c > +++ b/drivers/powercap/dtpm.c > @@ -99,8 +99,8 @@ static void __dtpm_rebalance_weight(struct dtpm *dtpm) > pr_debug("Setting weight '%d' for '%s'\n", > child->weight, child->zone.name); > > - child->weight = DIV_ROUND_CLOSEST(child->power_max * 1024, > - dtpm->power_max); > + child->weight = DIV64_U64_ROUND_CLOSEST( > + child->power_max * 1024, dtpm->power_max); Note that 64-by-64 divisions are expensive on 32-bit platforms. Does dtpm.power_max need to be u64? The (lack of) documentation for the dtpm structure does not say what is being stored there. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds