All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sebastian Reichel <sebastian.reichel@collabora.com>
To: Nathan Chancellor <nathan@kernel.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>,
	linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
	llvm@lists.linux.dev
Subject: Re: [PATCH v2] power: reset: ltc2952: Fix use of floating point literals
Date: Tue, 16 Nov 2021 15:26:14 +0100	[thread overview]
Message-ID: <20211116142614.ofqoox6zpn5erlc3@earth.universe> (raw)
In-Reply-To: <20211105152049.2522250-1-nathan@kernel.org>

[-- Attachment #1: Type: text/plain, Size: 3250 bytes --]

Hi,

On Fri, Nov 05, 2021 at 08:20:50AM -0700, Nathan Chancellor wrote:
> A new commit in LLVM causes an error on the use of 'long double' when
> '-mno-x87' is used, which the kernel does through an alias,
> '-mno-80387' (see the LLVM commit below for more details around why it
> does this).
> 
> drivers/power/reset/ltc2952-poweroff.c:162:28: error: expression requires  'long double' type support, but target 'x86_64-unknown-linux-gnu' does not support it
>         data->wde_interval = 300L * 1E6L;
>                                   ^
> drivers/power/reset/ltc2952-poweroff.c:162:21: error: expression requires  'long double' type support, but target 'x86_64-unknown-linux-gnu' does not support it
>         data->wde_interval = 300L * 1E6L;
>                            ^
> drivers/power/reset/ltc2952-poweroff.c:163:41: error: expression requires  'long double' type support, but target 'x86_64-unknown-linux-gnu' does not support it
>         data->trigger_delay = ktime_set(2, 500L*1E6L);
>                                                ^
> 3 errors generated.
> 
> This happens due to the use of a 'long double' literal. The 'E6' part of
> '1E6L' causes the literal to be a 'double' then the 'L' suffix promotes
> it to 'long double'.
> 
> There is no visible reason for floating point values in this driver, as
> the values are only assigned to integer types. Use NSEC_PER_MSEC, which
> is the same integer value as '1E6L', to avoid changing functionality but
> fix the error.
> 
> Fixes: 6647156c00cc ("power: reset: add LTC2952 poweroff driver")
> Link: https://github.com/ClangBuiltLinux/linux/issues/1497
> Link: https://github.com/llvm/llvm-project/commit/a8083d42b1c346e21623a1d36d1f0cadd7801d83
> Signed-off-by: Nathan Chancellor <nathan@kernel.org>
> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
> ---

Thanks, queued to power-supply's fixes branch.

-- Sebastian

> 
> v1 -> v2: https://lore.kernel.org/r/20211104215047.663411-1-nathan@kernel.org/
> 
> * A separate review pointed out that NSEC_PER_MSEC is a better choice
>   than USEC_PER_SEC because ktime_t is nanoseconds and the few functions
>   that take these values work in nanoseconds. The value is the same but
>   the documentation is better.
> 
> * Pick up Nick's review tag.
> 
>  drivers/power/reset/ltc2952-poweroff.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/power/reset/ltc2952-poweroff.c b/drivers/power/reset/ltc2952-poweroff.c
> index fbb344353fe4..65d9528cc989 100644
> --- a/drivers/power/reset/ltc2952-poweroff.c
> +++ b/drivers/power/reset/ltc2952-poweroff.c
> @@ -159,8 +159,8 @@ static void ltc2952_poweroff_kill(void)
>  
>  static void ltc2952_poweroff_default(struct ltc2952_poweroff *data)
>  {
> -	data->wde_interval = 300L * 1E6L;
> -	data->trigger_delay = ktime_set(2, 500L*1E6L);
> +	data->wde_interval = 300L * NSEC_PER_MSEC;
> +	data->trigger_delay = ktime_set(2, 500L * NSEC_PER_MSEC);
>  
>  	hrtimer_init(&data->timer_trigger, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
>  	data->timer_trigger.function = ltc2952_poweroff_timer_trigger;
> 
> base-commit: d4439a1189f93d0ac1eaf0197db8e6b3e197d5c7
> -- 
> 2.34.0.rc0
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2021-11-16 14:26 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-05 15:20 [PATCH v2] power: reset: ltc2952: Fix use of floating point literals Nathan Chancellor
2021-11-16 14:26 ` Sebastian Reichel [this message]
2021-12-31 22:02   ` Nathan Chancellor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211116142614.ofqoox6zpn5erlc3@earth.universe \
    --to=sebastian.reichel@collabora.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=nathan@kernel.org \
    --cc=ndesaulniers@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.