2022-09-21 12:48:20

by Farber, Eliav

[permalink] [raw]
Subject: [PATCH] hwmon: (mr75203) fix undefined reference to `__divdi3'

Fix build error on 32-bit machines.

Fixes: 381a86c545f1 ("hwmon: (mr75203) modify the temperature equation according to series 5 datasheet")
Signed-off-by: Eliav Farber <[email protected]>
Reported-by: kernel test robot <[email protected]>
---
I will also rework it into the original series (since it's not just a
trivial squash into one previous commit) and you can decide what to use
according to your preference.

drivers/hwmon/mr75203.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/hwmon/mr75203.c b/drivers/hwmon/mr75203.c
index 0fea443dc3e1..9c400cf790b5 100644
--- a/drivers/hwmon/mr75203.c
+++ b/drivers/hwmon/mr75203.c
@@ -266,9 +266,9 @@ static long pvt_calc_temp(struct pvt_device *pvt, u32 nbs)
struct temp_coeff *ts_coeff = &pvt->ts_coeff;

s64 tmp = ts_coeff->g +
- ts_coeff->h * (s64)nbs / ts_coeff->cal5 -
+ div_s64(ts_coeff->h * (s64)nbs, ts_coeff->cal5) -
ts_coeff->h / 2 +
- ts_coeff->j * (s64)pvt->ip_freq / HZ_PER_MHZ;
+ div_s64(ts_coeff->j * (s64)pvt->ip_freq, HZ_PER_MHZ);

return clamp_val(tmp, PVT_TEMP_MIN_mC, PVT_TEMP_MAX_mC);
}
--
2.37.1


2022-09-21 12:49:34

by Sudip Mukherjee

[permalink] [raw]
Subject: Re: [PATCH] hwmon: (mr75203) fix undefined reference to `__divdi3'

On Wed, Sep 21, 2022 at 1:17 PM Eliav Farber <[email protected]> wrote:
>
> Fix build error on 32-bit machines.
>
> Fixes: 381a86c545f1 ("hwmon: (mr75203) modify the temperature equation according to series 5 datasheet")
> Signed-off-by: Eliav Farber <[email protected]>
> Reported-by: kernel test robot <[email protected]>

Fixed the build of next-20220921 for me.

Tested-by: Sudip Mukherjee <[email protected]>


--
Regards
Sudip

2022-09-21 14:33:19

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] hwmon: (mr75203) fix undefined reference to `__divdi3'

On 9/21/22 05:17, Eliav Farber wrote:
> Fix build error on 32-bit machines.
>
> Fixes: 381a86c545f1 ("hwmon: (mr75203) modify the temperature equation according to series 5 datasheet")
> Signed-off-by: Eliav Farber <[email protected]>
> Reported-by: kernel test robot <[email protected]>

Applied.

> ---
> I will also rework it into the original series (since it's not just a
> trivial squash into one previous commit) and you can decide what to use
> according to your preference.
>

I rather keep this patch separate.

Thanks,
Guenter

> drivers/hwmon/mr75203.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/hwmon/mr75203.c b/drivers/hwmon/mr75203.c
> index 0fea443dc3e1..9c400cf790b5 100644
> --- a/drivers/hwmon/mr75203.c
> +++ b/drivers/hwmon/mr75203.c
> @@ -266,9 +266,9 @@ static long pvt_calc_temp(struct pvt_device *pvt, u32 nbs)
> struct temp_coeff *ts_coeff = &pvt->ts_coeff;
>
> s64 tmp = ts_coeff->g +
> - ts_coeff->h * (s64)nbs / ts_coeff->cal5 -
> + div_s64(ts_coeff->h * (s64)nbs, ts_coeff->cal5) -
> ts_coeff->h / 2 +
> - ts_coeff->j * (s64)pvt->ip_freq / HZ_PER_MHZ;
> + div_s64(ts_coeff->j * (s64)pvt->ip_freq, HZ_PER_MHZ);
>
> return clamp_val(tmp, PVT_TEMP_MIN_mC, PVT_TEMP_MAX_mC);
> }