linux/drivers/power/supply
Linus Torvalds ad8cccc248 Fix Intel Dollar Cove TI battery driver 32-bit build error
The driver is doing a 64-bit divide, rather than using the proper
helpers, causing link errors on i386 allyesconfig builds:

  x86_64-linux-ld: drivers/power/supply/intel_dc_ti_battery.o: in function `dc_ti_battery_get_voltage_and_current_now':
  intel_dc_ti_battery.c:(.text+0x5c): undefined reference to `__udivdi3'
  x86_64-linux-ld: intel_dc_ti_battery.c:(.text+0x96): undefined reference to `__udivdi3'

and while fixing that, fix the double rounding: keep the timing
difference in nanoseconds ('ktime'), and then just convert to usecs at
the end.

Not because the timing precision is likely to matter, but because doing
it right also makes the code simpler.

Reported-by: Guenter Roeck <linux@roeck-us.net>
Cc: Hans de Goede <hansg@kernel.org>
Cc: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
History 2025-11-26 12:31:48 -08:00
..
88pm860x_battery.c power: supply: Use str_enable_disable-like helpers 2025-01-15 21:41:22 +01:00
88pm860x_charger.c power: supply: 88pm860x: make fsm_state array static const, simplify usage 2025-09-06 23:24:23 +02:00
ab8500-bm.h power: supply: ab8500: Standardize BTI resistance 2022-02-28 11:34:31 +01:00
ab8500-chargalg.h power: supply: ab8500: Drop external charger leftovers 2022-07-17 00:51:35 +02:00
ab8500_bmdata.c power: supply: ab8500: constify ocv table 2024-10-15 22:14:12 +02:00
ab8500_btemp.c power: supply: WQ_PERCPU added to alloc_workqueue users 2025-09-09 00:53:46 +02:00
ab8500_chargalg.c power: supply: ab8500_chargalg: Switch to use hrtimer_setup() 2025-02-18 11:19:04 +01:00
ab8500_charger.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
ab8500_fg.c power: supply: ab8500: use dev_to_psy() 2024-12-11 02:00:25 +01:00
acer_a500_battery.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
act8945a_charger.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
adc-battery-helper.c power: supply: replace use of system_wq with system_percpu_wq 2025-09-09 00:53:12 +02:00
adc-battery-helper.h power: supply: adc-battery-helper: Add support for optional charge_finished GPIO 2025-09-06 01:50:01 +02:00
adp5061.c power: supply: Fix a typo 2024-10-15 22:37:54 +02:00
apm_power.c power: supply: apm_power: use power_supply_for_each_psy() 2024-12-11 02:00:24 +01:00
axp20x_ac_power.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
axp20x_battery.c power supply and reset changes for the 6.15 series 2025-03-29 18:11:12 -07:00
axp20x_usb_power.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
axp288_charger.c power: supply: axp288_charger: Round constant_charge_voltage writes down 2024-07-27 00:16:15 +02:00
axp288_fuel_gauge.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
bd99954-charger.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
bd99954-charger.h power: supply: Support ROHM bd99954 charger 2020-05-10 02:35:49 +02:00
bq27xxx_battery.c power supply and reset changes for the 6.18 series 2025-10-01 13:02:59 -07:00
bq27xxx_battery_hdq.c power supply and reset changes for the v5.10 series 2020-10-20 10:56:34 -07:00
bq27xxx_battery_i2c.c power: supply: bq27xxx: Retrieve again when busy 2025-04-28 00:24:52 +02:00
bq256xx_charger.c power: supply: bq256xx_charger: Constify reg_default array 2025-06-22 19:21:11 +02:00
bq257xx_charger.c power: supply: bq257xx: Add support for BQ257XX charger 2025-09-11 15:55:17 +01:00
bq2415x_charger.c power: supply: replace use of system_wq with system_percpu_wq 2025-09-09 00:53:12 +02:00
bq2515x_charger.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
bq24190_charger.c power: supply: replace use of system_wq with system_percpu_wq 2025-09-09 00:53:12 +02:00
bq24257_charger.c power: supply: bq24257: convert to use maple tree register cache 2025-03-08 01:30:54 +01:00
bq24735-charger.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
bq25890_charger.c power: supply: bq25890: convert to use maple tree register cache 2025-03-08 01:30:54 +01:00
bq25980_charger.c power: supply: bq25980_charger: Constify reg_default array 2025-06-22 19:21:11 +02:00
bq25980_charger.h power: supply: bq25980: Add support for the BQ259xx family 2020-10-04 01:54:35 +02:00
chagall-battery.c power: supply: Add driver for Pegatron Chagall battery 2025-04-30 00:02:18 +02:00
charger-manager.c power: supply: Use str_enable_disable-like helpers 2025-01-15 21:41:22 +01:00
collie_battery.c power: supply: collie: Fix wakeup source leaks on device unbind 2025-04-08 23:18:04 +02:00
cpcap-battery.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
cpcap-charger.c power: supply: cpcap-charger: Fix null check for power_supply_get_by_name 2025-06-22 19:23:04 +02:00
cros_charge-control.c power: supply: cros_charge-control: Avoid -Wflex-array-member-not-at-end warning 2025-04-29 23:58:33 +02:00
cros_peripheral_charger.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
cros_usbpd-charger.c power: supply: cros_usbpd-charger: register power supply with devm_power_supply_register() 2024-10-15 22:22:21 +02:00
cw2015_battery.c power: supply: cw2015: Fix a alignment coding style issue 2025-09-06 23:50:19 +02:00
da9030_battery.c power: supply: da9030: convert timeouts to secs_to_jiffies() 2025-03-17 12:16:58 -07:00
da9052-battery.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00
da9150-charger.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00
da9150-fg.c power: supply: da9150-fg: fix potential overflow 2025-02-03 12:23:49 +01:00
ds2760_battery.c sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
ds2780_battery.c sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
ds2781_battery.c sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
ds2782_battery.c power: supply: ds2782: Use devm_delayed_work_autocancel() helper 2024-12-04 22:31:32 +01:00
generic-adc-battery.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
goldfish_battery.c power: supply: goldfish: Use devm_power_supply_register() helper 2024-01-27 01:23:40 +01:00
gpio-charger.c power: supply: gpio-charger: Clean up spacing for better readability 2025-09-06 22:49:07 +02:00
huawei-gaokun-battery.c power: supply: add Huawei Matebook E Go psy driver 2025-05-01 00:34:12 +02:00
ingenic-battery.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
intel_dc_ti_battery.c Fix Intel Dollar Cove TI battery driver 32-bit build error 2025-11-26 12:31:48 -08:00
ip5xxx_power.c i2c-for-6.15-rc1 2025-04-01 14:21:02 -07:00
ipaq_micro_battery.c power: supply: WQ_PERCPU added to alloc_workqueue users 2025-09-09 00:53:46 +02:00
isp1704_charger.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00
Kconfig power supply and reset changes for the 6.18 series 2025-10-01 13:02:59 -07:00
lego_ev3_battery.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
lenovo_yoga_c630_battery.c power: supply: lenovo_yoga_c630_battery: register power supplies with power_supply_register() 2024-10-15 22:22:21 +02:00
lp8727_charger.c power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
lp8788-charger.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00
lt3651-charger.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
ltc2941-battery-gauge.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
ltc4162-l-charger.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
Makefile power supply and reset changes for the 6.18 series 2025-10-01 13:02:59 -07:00
max1720x_battery.c power: supply: max1720x correct capacity computation 2025-06-22 23:27:44 +02:00
max1721x_battery.c power: supply: max1721x: Use strscpy() is more robust and safer 2023-02-03 13:58:41 +01:00
max8903_charger.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
max8925_power.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00
max8971_charger.c power: supply: Add support for Maxim MAX8971 charger 2025-05-01 22:44:04 +02:00
max8997_charger.c extcon: Fix extcon_get_extcon_dev() error handling 2022-05-13 17:03:40 +09:00
max8998_charger.c power: supply: max8998_charger: Fix module autoloading 2024-08-27 11:41:42 +02:00
max14577_charger.c power: supply: max14577: Handle NULL pdata when CONFIG_OF is not set 2025-06-22 19:29:23 +02:00
max14656_charger_detector.c power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
max17040_battery.c power: supply: max17040: adjust thermal channel scaling 2025-05-01 00:50:14 +02:00
max17042_battery.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
max77650-charger.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
max77693_charger.c power: supply: max77693: Fix wrong conversion of charge input threshold value 2025-03-17 15:25:24 +01:00
max77705_charger.c power: supply: max77705_charger: use REGMAP_IRQ_REG_LINE macro 2025-09-19 00:40:03 +02:00
max77976_charger.c power: supply: max77976_charger: fix constant current reporting 2025-09-18 23:26:27 +02:00
mm8013.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
mp2629_charger.c power: supply: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
mt6360_charger.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
mt6370-charger.c power: supply: Use devm_mutex_init() 2025-09-09 00:36:23 +02:00
olpc_battery.c sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
pm8916_bms_vm.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
pm8916_lbc.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
pmu_battery.c power: supply: pmu_battery: Set power supply type to BATTERY 2024-11-10 03:33:17 +01:00
power_supply.h power: supply: core: fix build of extension sysfs group if CONFIG_SYSFS=n 2024-12-19 21:45:58 +01:00
power_supply_core.c power supply and reset changes for the 6.17 series 2025-07-31 21:39:01 -07:00
power_supply_hwmon.c power: supply: hwmon: prepare for power supply extensions 2024-12-05 00:02:31 +01:00
power_supply_leds.c power: supply: leds: Add activate() callback to triggers 2024-06-03 01:29:43 +02:00
power_supply_sysfs.c power: supply: core: Add state_of_health power supply property 2025-09-18 01:01:03 +02:00
qcom_battmgr.c power: supply: qcom_battmgr: handle charging state change notifications 2025-09-19 12:35:57 +02:00
qcom_smbb.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
qcom_smbx.c power: supply: pmi8998_charger: rename to qcom_smbx 2025-06-22 21:07:48 +02:00
rk817_charger.c power: supply: replace use of system_wq with system_percpu_wq 2025-09-09 00:53:12 +02:00
rn5t618_power.c power: supply: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
rt5033_battery.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
rt5033_charger.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
rt9455_charger.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
rt9467-charger.c power: supply: Use devm_mutex_init() 2025-09-09 00:36:23 +02:00
rt9471.c power: supply: rt9471: Simplify definition of some struct linear_range 2025-05-03 19:17:02 +02:00
rx51_battery.c power: supply: rx51: remove redundant condition checks 2025-09-18 01:01:03 +02:00
samsung-sdi-battery.c power: supply: samsung-sdi-battery: constify ocv table 2024-10-15 22:14:12 +02:00
samsung-sdi-battery.h power: supply: Static data for Samsung batteries 2022-03-04 22:20:18 +01:00
sbs-battery.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
sbs-charger.c power: supply: sbs-charger: Support multiple devices 2025-09-08 15:05:33 +02:00
sbs-manager.c power: supply: Remove the use of dev_err_probe() 2025-09-06 23:49:06 +02:00
sc27xx_fuel_gauge.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
sc2731_charger.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
smb347-charger.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
stc3117_fuel_gauge.c power: supply: Add STC3117 fuel gauge unit driver 2024-12-21 16:39:34 +01:00
surface_battery.c power: supply: surface_battery: use dev_to_psy() 2024-12-11 02:00:25 +01:00
surface_charger.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
test_power.c power: supply: test-power: Test access to extended power supply 2025-07-07 15:19:49 +03:00
tps65090-charger.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
tps65217_charger.c power: supply: all: switch psy_cfg from of_node to fwnode 2025-03-08 01:42:34 +01:00
twl4030_charger.c power: supply: twl4030_charger: Remove redundant pm_runtime_mark_last_busy() calls 2025-07-07 00:56:46 +02:00
twl4030_madc_battery.c power: supply: twl4030_madc: Use devm_power_supply_register() helper 2024-01-27 01:25:05 +01:00
twl6030_charger.c power: supply: initial support for TWL6030/32 2024-10-16 22:23:39 +02:00
ucs1002_power.c power: supply: replace use of system_wq with system_percpu_wq 2025-09-09 00:53:12 +02:00
ug3105_battery.c power: supply: adc-battery-helper: Add support for optional charge_finished GPIO 2025-09-06 01:50:01 +02:00
wilco-charger.c power: supply: wilco_ec: Add long life charging mode 2020-07-31 14:33:56 +02:00
wm97xx_battery.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00
wm831x_backup.c power: supply: wm831x: Use devm_power_supply_register() helper 2024-01-27 01:25:04 +01:00
wm831x_power.c power: supply: wm831x: Constify struct chg_map and some arrays 2025-04-28 02:07:06 +02:00
wm8350_power.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00