power: supply: intel_dc_ti_battery: fix 64bit divisions
PATCH 1/1 power: supply: intel_dc_ti_battery: fix 64bit divisions
On 32bit builds, I get:
ERROR: modpost: "__udivdi3" [drivers/power/supply/intel_dc_ti_battery.ko] undefined!
This is due to 64bit ktime divisions. Fix both by using div_u64().
Fixes 8c5795fe5527 ("power: supply: Add new Intel Dollar Cove TI battery driver")
---
Cc: Linus Walleij <[email protected]>
Cc: Hans de Goede <[email protected]>
Cc: Sebastian Reichel <[email protected]>
--- drivers/power/supply/intel_dc_ti_battery.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/power/supply/intel_dc_ti_battery.c +2 -2
@@ -141,7 +141,7 @@ static int dc_ti_battery_get_voltage_and_current_now(struct power_supply *psy, iif (ret) goto out_err; - cnt_start_usec =ktime_get_ns () /NSEC_PER_USEC ; + cnt_start_usec =div_u64 (ktime_get_ns (),NSEC_PER_USEC );/* Read Vbat, convert IIO mV to power-supply ųV */ ret =iio_read_channel_processed_scale (chip->vbat_channel, volt,1000 );
@@ -149,7 +149,7 @@ static int dc_ti_battery_get_voltage_and_current_now(struct power_supply *psy, i goto out_err;/* Sleep at least 3 sample-times + slack to get 3+ CC samples */ - now_usec =ktime_get_ns () /NSEC_PER_USEC ; + now_usec =div_u64 (ktime_get_ns (),NSEC_PER_USEC ); sleep_usec =3 *SMPL_INTVL_US +SLEEP_SLACK_US - (now_usec - cnt_start_usec);if (sleep_usec >0 && sleep_usec <1000000 )usleep_range (sleep_usec, sleep_usec +SLEEP_SLACK_US );
Signature · 1 line
2.51.0
Quoted 10 lines · Jiri Slaby (SUSE)
On 32bit builds, I get:
ERROR: modpost: "__udivdi3" [drivers/power/supply/intel_dc_ti_battery.ko] undefined!This is due to 64bit ktime divisions. Fix both by using
div_u64().Fixes 8c5795fe5527 ("power: supply: Add new Intel Dollar Cove TI battery driver")---
Cc: Linus Walleij <[email protected]>
Cc: Hans de Goede <[email protected]>
Cc: Sebastian Reichel <[email protected]>
Scratch this. Missing a SOB line.
Quoted 26 lines
--- drivers/power/supply/intel_dc_ti_battery.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/power/supply/intel_dc_ti_battery.c +2
-2@@ -141,7 +141,7 @@ static int dc_ti_battery_get_voltage_and_current_now(struct power_supply *psy, iif (ret) goto out_err; - cnt_start_usec =ktime_get_ns () /NSEC_PER_USEC ; + cnt_start_usec =div_u64 (ktime_get_ns (),NSEC_PER_USEC );/* Read Vbat, convert IIO mV to power-supply ųV */ ret =iio_read_channel_processed_scale (chip->vbat_channel, volt,1000 );@@ -149,7 +149,7 @@ static int dc_ti_battery_get_voltage_and_current_now(struct power_supply *psy, i goto out_err;/* Sleep at least 3 sample-times + slack to get 3+ CC samples */ - now_usec =ktime_get_ns () /NSEC_PER_USEC ; + now_usec =div_u64 (ktime_get_ns (),NSEC_PER_USEC ); sleep_usec =3 *SMPL_INTVL_US +SLEEP_SLACK_US - (now_usec - cnt_start_usec);if (sleep_usec >0 && sleep_usec <1000000 )usleep_range (sleep_usec, sleep_usec +SLEEP_SLACK_US );
Signature · 2 lines
js suse labs