linux-stable/drivers/power/supply
Marek Vasut dfcb264a01 power: supply: bq27xxx: Stop and start delayed work in suspend and resume
This driver uses delayed work to perform periodic battery state read out.
This delayed work is not stopped across suspend and resume cycle. The
read out can occur early in the resume cycle. In case of an I2C variant
of this hardware, that read out triggers I2C transfer. That I2C transfer
may happen while the I2C controller is still suspended, which produces a
WARNING in the kernel log.

Fix this by introducing trivial PM ops, which stop the delayed work before
the system enters suspend, and schedule the delayed work right after the
system resumes.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20231104154920.68585-1-marex@denx.de
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2023-11-15 23:13:26 +01:00
..
88pm860x_battery.c power: supply: 88pm860x_battery: fix the return value handle for platform_get_irq() 2023-09-12 20:44:52 +02:00
88pm860x_charger.c power: supply: 88pm860x: simplify using devm 2022-11-17 23:47:23 +01: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: Standardize BTI resistance 2022-02-28 11:34:31 +01:00
ab8500_btemp.c Power Supply Fixes for 6.6 cycle 2023-10-21 00:55:43 +02:00
ab8500_chargalg.c Power Supply Fixes for 6.6 cycle 2023-10-21 00:55:43 +02:00
ab8500_charger.c power: supply: ab8500_charger: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
ab8500_fg.c power: supply: ab8500_fg: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
acer_a500_battery.c power: supply: acer_a500_battery: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
act8945a_charger.c power: supply: act8945a_charger: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
adp5061.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
apm_power.c
axp20x_ac_power.c power: supply: axp20x_ac_power: Annotate struct axp20x_ac_power with __counted_by 2023-09-22 22:54:36 +02:00
axp20x_battery.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
axp20x_usb_power.c power: supply: axp20x_usb_power: Annotate struct axp20x_usb_power with __counted_by 2023-09-22 22:54:52 +02:00
axp288_charger.c power: supply: axp288_charger: Use alt usb-id extcon on some x86 android tablets 2023-04-01 23:01:42 +02:00
axp288_fuel_gauge.c power: supply: axp288_fuel_gauge: Fix external_power_changed race 2023-05-08 15:04:53 +02:00
bd99954-charger.c power: supply: bd99954: make read-only array sub_status_reg 2023-07-19 23:12:36 +02:00
bd99954-charger.h
bq27xxx_battery.c power: supply: bq27xxx: Stop and start delayed work in suspend and resume 2023-11-15 23:13:26 +01:00
bq27xxx_battery_hdq.c
bq27xxx_battery_i2c.c power: supply: bq27xxx: Stop and start delayed work in suspend and resume 2023-11-15 23:13:26 +01:00
bq256xx_charger.c power: supply: bq256xx: replace deprecated strncpy with strscpy 2023-10-21 00:28:13 +02:00
bq2415x_charger.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
bq2515x_charger.c power: supply: bq2515x: replace deprecated strncpy with strscpy 2023-10-21 00:26:51 +02:00
bq24190_charger.c power: supply: bq24190_charger: replace deprecated strncpy with strscpy 2023-10-21 00:15:17 +02:00
bq24257_charger.c power: supply: bq24257_charger: Cleanup OF/ID table terminators 2023-09-12 23:50:05 +02:00
bq24735-charger.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
bq25890_charger.c power supply and reset changes for the 6.5 series 2023-07-03 17:23:16 -07:00
bq25980_charger.c power: supply: bq25980: replace deprecated strncpy with strscpy 2023-10-21 00:29:30 +02:00
bq25980_charger.h
charger-manager.c power: supply: charger-manager: replace deprecated strncpy with strscpy 2023-10-21 00:32:31 +02:00
collie_battery.c power: supply: collie_battery: Convert to GPIO descriptors (part 2) 2023-02-03 13:28:59 +01:00
cpcap-battery.c power: supply: cpcap-battery: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
cpcap-charger.c power: supply: cpcap: Drop non-DT driver matching 2023-10-13 02:38:35 +02:00
cros_peripheral_charger.c power: supply: cros_pchg: Sync port status on resume 2023-05-08 14:31:24 +02:00
cros_usbpd-charger.c power: supply: cros_usbpd: reclassify "default case!" as debug 2023-03-10 00:20:43 +01:00
cw2015_battery.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
da9030_battery.c power: supply: da9030_battery: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
da9052-battery.c power: supply: da9052-battery: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
da9150-charger.c power: supply: da9150-charger: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
da9150-fg.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
ds2760_battery.c ARM: pxa: remove unused board files 2023-01-20 11:23:44 +01:00
ds2780_battery.c power: supply: use sysfs_emit() instead of sprintf() for sysfs show() 2023-01-02 09:13:37 +01:00
ds2781_battery.c power: supply: use sysfs_emit() instead of sprintf() for sysfs show() 2023-01-02 09:13:37 +01:00
ds2782_battery.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
generic-adc-battery.c power: supply: generic-adc-battery: style fixes 2023-03-29 22:38:57 +02:00
goldfish_battery.c power: supply: goldfish_battery: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
gpio-charger.c
ingenic-battery.c power: supply_core: Pass pointer to battery info 2022-01-03 18:53:10 +01:00
ip5xxx_power.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
ipaq_micro_battery.c power: supply: ipaq_micro_battery: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
isp1704_charger.c power: supply: isp1704_charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
Kconfig Power Supply Fixes for 6.6 cycle 2023-10-21 00:55:43 +02:00
lego_ev3_battery.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
lp8727_charger.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
lp8788-charger.c power: supply: lp8788-charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
lt3651-charger.c
ltc2941-battery-gauge.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
ltc4162-l-charger.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
Makefile power: supply: Add driver for pm8916 lbc 2023-09-15 21:52:00 +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: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
max8925_power.c power: supply: max8925_power: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
max8997_charger.c extcon: Fix extcon_get_extcon_dev() error handling 2022-05-13 17:03:40 +09:00
max8998_charger.c
max14577_charger.c power: supply: max14577_charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
max14656_charger_detector.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
max17040_battery.c power: max17040: get thermal data from adc if available 2023-09-14 16:54:46 +02:00
max17042_battery.c power: supply: max17042_battery: Do not use CONFIG_ prefix in regular C code 2023-09-12 20:54:46 +02:00
max77650-charger.c power: supply: max77650-charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
max77693_charger.c power: supply: max77693_charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
max77976_charger.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
mm8013.c power: supply: mm8013: Fix an error checking issue in mm8013_checkdevice() 2023-09-30 21:19:16 +02:00
mp2629_charger.c power: supply: use sysfs_emit() instead of sprintf() for sysfs show() 2023-01-02 09:13:37 +01:00
mt6360_charger.c power: supply: mt6360: add a check of devm_work_autocancel in mt6360_charger_probe 2023-05-16 00:46:53 +02:00
mt6370-charger.c Power Supply Fixes for 6.6 cycle 2023-10-21 00:55:43 +02:00
olpc_battery.c power: supply: use sysfs_emit() instead of sprintf() for sysfs show() 2023-01-02 09:13:37 +01:00
pcf50633-charger.c power: supply: pcf50633-charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
pm8916_bms_vm.c power: supply: Add pm8916 VM-BMS support 2023-09-15 21:52:00 +02:00
pm8916_lbc.c power: supply: Add driver for pm8916 lbc 2023-09-15 21:52:00 +02:00
pmu_battery.c
power_supply.h driver core: make struct class.dev_uevent() take a const * 2022-11-24 17:12:15 +01:00
power_supply_core.c power: supply: core: Don't export power_supply_notifier 2023-09-17 00:43:13 +02:00
power_supply_hwmon.c power: supply: hwmon: constify pointers to hwmon_channel_info 2023-05-08 15:33:16 +02:00
power_supply_leds.c - New Drivers 2023-07-03 11:26:05 -07:00
power_supply_sysfs.c Power Supply Fixes for 6.6 cycle 2023-10-21 00:55:43 +02:00
qcom_battmgr.c power: supply: qcom_battmgr: fix enable request endianness 2023-09-30 21:00:20 +02:00
qcom_pmi8998_charger.c power: supply: Remove redundant dev_err_probe() for platform_get_irq_byname() 2023-09-12 20:49:16 +02:00
qcom_smbb.c power: supply: qcom_smbb: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
rk817_charger.c Power Supply Fixes for 6.6 cycle 2023-10-21 00:55:43 +02:00
rn5t618_power.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
rt5033_battery.c power supply and reset changes for the 6.5 series 2023-07-03 17:23:16 -07:00
rt5033_charger.c power: supply: rt5033_charger: Replace "&pdev->dev" by "charger->dev" in probe 2023-10-04 22:27:34 +02:00
rt9455_charger.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
rt9467-charger.c power: supply: rt9467: Fix rt9467_run_aicl() 2023-09-14 18:09:14 +02:00
rt9471.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
rx51_battery.c power: supply: rx51_battery: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
samsung-sdi-battery.c power: supply: samsung-sdi-battery: Add missing charge restart voltages 2022-04-13 12:05:22 +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: sbs-battery: Make similar OF and ID table 2023-09-12 18:25:35 +02:00
sbs-charger.c power supply and reset changes for the 6.5 series 2023-07-03 17:23:16 -07:00
sbs-manager.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
sc27xx_fuel_gauge.c power: supply: sc27xx: Fix external_power_changed race 2023-05-08 15:06:12 +02:00
sc2731_charger.c power: supply: sc2731_charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
smb347-charger.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
surface_battery.c power: supply: surface_battery: replace deprecated strncpy with strscpy 2023-10-21 00:33:02 +02:00
surface_charger.c power: supply: surface-charger: replace deprecated strncpy with strscpy 2023-10-21 00:37:41 +02:00
test_power.c power: supply: test-power: use strscpy() instead of strncpy() 2023-02-03 13:43:48 +01:00
tps65090-charger.c power: supply: tps65090-charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
tps65217_charger.c USB/Thunderbolt changes for 6.7-rc1 2023-11-03 16:00:42 -10:00
twl4030_charger.c power: supply: twl4030_charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
twl4030_madc_battery.c power: supply: twl4030_madc_battery: Convert to platform remove callback returning void 2023-09-18 20:08:04 +02:00
ucs1002_power.c power: supply: ucs1002: fix error code in ucs1002_get_property() 2023-09-14 17:38:02 +02:00
ug3105_battery.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
wilco-charger.c
wm97xx_battery.c power: supply: wm97xx_battery: Convert to platform remove callback returning void 2023-09-18 20:08:04 +02:00
wm831x_backup.c power: supply: wm831x_backup: Convert to platform remove callback returning void 2023-09-18 20:08:04 +02:00
wm831x_power.c power: supply: wm831x_power: Convert to platform remove callback returning void 2023-09-18 20:08:04 +02:00
wm8350_power.c power: supply: wm8350_power: Convert to platform remove callback returning void 2023-09-18 20:08:04 +02:00