RE: [PATCH] ACPI: thermal: replace ternary operator with min_t()

From: David Laight
Date: Fri Mar 31 2023 - 04:59:03 EST


From: Rafael J. Wysocki
> Sent: 30 March 2023 18:12
>
> On Tue, Mar 28, 2023 at 5:17 AM Jiangshan Yi <yijiangshan@xxxxxxxxxx> wrote:
> >
> > Fix the following coccicheck warning:
>
> This is not a fix, because the current code is correct AFAICS.
>
> It merely makes the code follow the coccicheck recommendation, which
> is a cleanup (although arguably a good one).
>
> But because the new code is way more readable, I've applied this as
> 6.4 material (with edits in the changelog).

Also if you need to use min_t() there is really something wrong
with your types.

> > drivers/acpi/thermal.c:422: WARNING opportunity for min().
> >
> > min_t() macro is defined in include/linux/minmax.h. It avoids multiple
> > evaluations of the arguments when non-constant and performs strict
> > type-checking.

min_t() casts the arguments and performs absolutely no type-checking.
The casts can even mask off high bits that ought to be checked.

David

> >
> > Signed-off-by: Jiangshan Yi <yijiangshan@xxxxxxxxxx>
> > ---
> > drivers/acpi/thermal.c | 7 +++----
> > 1 file changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c
> > index 0b4b844f9d4c..179f41196a9d 100644
> > --- a/drivers/acpi/thermal.c
> > +++ b/drivers/acpi/thermal.c
> > @@ -419,10 +419,9 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
> > * the next higher trip point
> > */
> > tz->trips.active[i-1].temperature =
> > - (tz->trips.active[i-2].temperature <
> > - celsius_to_deci_kelvin(act) ?
> > - tz->trips.active[i-2].temperature :
> > - celsius_to_deci_kelvin(act));
> > + min_t(unsigned long,
> > + tz->trips.active[i-2].temperature,
> > + celsius_to_deci_kelvin(act));
> >
> > break;
> > } else {
> > --
> > 2.25.1
> >

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)