mirror-linux/drivers/power/supply
Linus Torvalds f28f489045 power supply and reset changes for the 6.14 series
* power-supply core
   - introduce power supply extensions, which allows adding properties to
     a power supply device from a separate driver. This will be used
     initially to extend the generic ACPI charger/battery driver with
     vendor extensions for charge thresholds.
   - convert all drivers from power_supply_for_each_device to new
     power_supply_for_each_psy(), which avoids lots of casting being
     done in the drivers.
   - avoid LED trigger like values in uevent for POWER_SUPPLY_PROP_CHARGE_BEHAVIOUR
   - introduce POWER_SUPPLY_PROP_CHARGE_TYPES, which is similar to the
     POWER_SUPPLY_PROP_CHARGE_TYPE property, but also lists the available
     options on the specific platform
 
  * power-supply drivers
   - dell-laptop: use new power_supply_charge_types_show/_parse helpers
   - stc3117: new driver for equally named fuel gauge chip
   - bq24190: add support for new POWER_SUPPLY_PROP_CHARGE_TYPES
   - bq24190: add BQ24297 support
   - bq27xxx: add voltage min design for bq27000/bq27200
   - cros_charge-control: convert to new power supply extension API
   - multiple drivers: constify 'struct bin_attribute'
   - ds2782: convert to device managed resources
   - max1720x: add charge full property
   - max1720x: support extra thermistor temperatures
   - max17042: add max77705 support
   - ip5xxx-power: add support for IP5306
   - ltc4162-l-charger: add ltc4162-f/s and ltc4015 support
   - gpio-charger: support for default charge current limit
   - misc. small cleanups and fixes
 
  * reset drivers
   - at91-poweroff: add sam9x7 support
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE72YNB0Y/i3JqeVQT2O7X88g7+poFAmeWnUkACgkQ2O7X88g7
 +pqTPQ/9HXCZQdf+JmcBVrdDfL9Ud/onfQN4iQFaft27yb8808YcXCjlorehdd9p
 rHmKxUzKSLjf2OeTLzIMx9I7Yh0UksLlL1FMSthUOpCvd5TIu1ifwW/VGX1Vif7h
 cNOIImg3H4m7qiycXZJIPMgj2PlkCG4sZ9cPO6uOCfkXJdKOsHUa+4sv6WENB8om
 sFn2dV0oR4NiMy5deX8O+gLDuHotKv2nsAXBKcTlgsNBJPLBGhqiPRJwTKBH5HC2
 B43OTEJ7gwE+IMkf4S5PkRCZS9C4zKVGPYigs8MP06R27UH8u1OZf/yW4eYkqucC
 ITIMKQcedInnLnueVnAv0mjmdMKdTXYZajqlOt8H9/c8ZwiWSSgAXtXqm8jyqWKL
 /FIFOd4EVBOKRLmxIUSm4izKHI1mvW9qYRF30oHSSXc9zizu8EeZGzlXwDPkATXs
 hcLHc0HbQduZ6Rf8WfjeQlypR7dD/6ikmvFP56FmntzO4RZ7i0lrAbV3AmZi9VlS
 fQCTN5cbZGDHV2miv7AZYI09P1VhptVVv+Kttwk2KXI1St1k8fuNqLy2BpmnqVwZ
 3qw9q2yuFJvApr6Xz6DTdGIFdY5pChE1g7MFJQm8MJOE06i0QM5AdJG1aN2+7zop
 qUtHraAQEDFsl3QvFBUavE6wN9LLWIB3w60CQ0M2fX0jrDd2m/U=
 =dx5S
 -----END PGP SIGNATURE-----

Merge tag 'for-v6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply

Pull power supply and reset updates from Sebastian Reichel:
 "Power-supply core:

   - introduce power supply extensions, which allows adding properties
     to a power supply device from a separate driver. This will be used
     initially to extend the generic ACPI charger/battery driver with
     vendor extensions for charge thresholds.

   - convert all drivers from power_supply_for_each_device to new
     power_supply_for_each_psy(), which avoids lots of casting being
     done in the drivers.

   - avoid LED trigger like values in uevent for
     POWER_SUPPLY_PROP_CHARGE_BEHAVIOUR

   - introduce POWER_SUPPLY_PROP_CHARGE_TYPES, which is similar to the
     POWER_SUPPLY_PROP_CHARGE_TYPE property, but also lists the
     available options on the specific platform

  Power-supply drivers

   - dell-laptop: use new power_supply_charge_types_show/_parse helpers

   - stc3117: new driver for equally named fuel gauge chip

   - bq24190: add support for new POWER_SUPPLY_PROP_CHARGE_TYPES

   - bq24190: add BQ24297 support

   - bq27xxx: add voltage min design for bq27000/bq27200

   - cros_charge-control: convert to new power supply extension API

   - multiple drivers: constify 'struct bin_attribute'

   - ds2782: convert to device managed resources

   - max1720x: add charge full property

   - max1720x: support extra thermistor temperatures

   - max17042: add max77705 support

   - ip5xxx-power: add support for IP5306

   - ltc4162-l-charger: add ltc4162-f/s and ltc4015 support

   - gpio-charger: support for default charge current limit

   - misc small cleanups and fixes

  Reset drivers:

   - at91-poweroff: add sam9x7 support"

* tag 'for-v6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (77 commits)
  power: supply: max1720x: add support for reading internal and thermistor temperatures
  power: supply: ltc4162l: Use GENMASK macro in bitmask operation
  power: supply: max17042: add max77705 fuel gauge support
  dt-bindings: power: supply: max17042: add max77705 support
  power: supply: add undervoltage health status property
  power: supply: max17042: add platform driver variant
  power: supply: max17042: make interrupt shared
  power: reset: keystone: Use syscon_regmap_lookup_by_phandle_args
  power: supply: Use str_enable_disable-like helpers
  platform/x86: dell-laptop: Use power_supply_charge_types_show/_parse() helpers
  power: supply: bq2415x_charger: Immediately reschedule delayed work on notifier events
  power: supply: Add STC3117 fuel gauge unit driver
  dt-bindings: power: supply: Add STC3117 Fuel Gauge
  power: supply: ug3105_battery: Let the core handle POWER_SUPPLY_PROP_TECHNOLOGY
  power: supply: gpio-charger: add support for default charge current limit
  dt-bindings: power: supply: gpio-charger: add support for default charge current limit
  power: supply: Use power_supply_external_power_changed() in __power_supply_changed_work()
  power: supply: core: fix build of extension sysfs group if CONFIG_SYSFS=n
  power: supply: bq2415x_charger: report charging state changes to userspace
  bq27xxx: add voltage min design for bq27000 and bq27200
  ...
2025-01-27 15:37:16 -08:00
..
88pm860x_battery.c power: supply: Use str_enable_disable-like helpers 2025-01-15 21:41:22 +01:00
88pm860x_charger.c
Kconfig power: supply: Add STC3117 fuel gauge unit driver 2024-12-21 16:39:34 +01:00
Makefile power: supply: Add STC3117 fuel gauge unit driver 2024-12-21 16:39:34 +01:00
ab8500-bm.h
ab8500-chargalg.h
ab8500_bmdata.c power: supply: ab8500: constify ocv table 2024-10-15 22:14:12 +02:00
ab8500_btemp.c power: supply: ab8500: use power_supply_for_each_psy() 2024-12-11 02:00:24 +01:00
ab8500_chargalg.c power: supply: ab8500: use power_supply_for_each_psy() 2024-12-11 02:00:24 +01:00
ab8500_charger.c power: supply: ab8500: use power_supply_for_each_psy() 2024-12-11 02:00:24 +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: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00
act8945a_charger.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +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: axp20x_ac_power: Annotate struct axp20x_ac_power with __counted_by 2023-09-22 22:54:36 +02:00
axp20x_battery.c power: supply: axp20x_battery: Use scaled iio_read_channel 2024-11-11 22:55:49 +01:00
axp20x_usb_power.c power: supply: axp20x_usb_power: Use scaled iio_read_channel 2024-11-11 22:55:49 +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: bd99954: remove unused struct 'battery_data' 2024-06-03 01:29:46 +02:00
bd99954-charger.h
bq27xxx_battery.c bq27xxx: add voltage min design for bq27000 and bq27200 2024-12-19 00:42:21 +01:00
bq27xxx_battery_hdq.c
bq27xxx_battery_i2c.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
bq256xx_charger.c power: supply: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
bq2415x_charger.c power: supply: bq2415x_charger: Immediately reschedule delayed work on notifier events 2024-12-23 03:27:30 +01: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 and reset changes for the 6.14 series 2025-01-27 15:37:16 -08:00
bq24257_charger.c power: supply: bq24257_charger: use dev_to_psy() 2024-12-11 02:00:25 +01:00
bq24735-charger.c power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
bq25890_charger.c power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02: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: Use str_enable_disable-like helpers 2025-01-15 21:41:22 +01:00
collie_battery.c
cpcap-battery.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00
cpcap-charger.c power: supply: Use str_enable_disable-like helpers 2025-01-15 21:41:22 +01:00
cros_charge-control.c power: supply: core: add UAPI to discover currently used extensions 2024-12-14 22:50:17 +01: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: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
da9030_battery.c power: supply: Use str_enable_disable-like helpers 2025-01-15 21:41:22 +01: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: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
ds2760_battery.c power: supply: ds2760: constify 'struct bin_attribute' 2024-12-04 22:19:13 +01:00
ds2780_battery.c power: supply: ds2780: constify 'struct bin_attribute' 2024-12-04 22:19:13 +01:00
ds2781_battery.c power: supply: ds2781: constify 'struct bin_attribute' 2024-12-04 22:19:13 +01: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: generic-adc-battery: change my gmail 2024-11-11 22:51:38 +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: add support for default charge current limit 2024-12-20 00:52:31 +01:00
ingenic-battery.c power: supply: ingenic: Fix some error handling paths in ingenic_battery_get_property() 2024-06-26 15:16:57 +02:00
ip5xxx_power.c power: ip5xxx_power: Fix uninitialized variable read 2024-12-10 01:18:44 +01:00
ipaq_micro_battery.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00
isp1704_charger.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00
lego_ev3_battery.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02: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
ltc2941-battery-gauge.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
ltc4162-l-charger.c power: supply: ltc4162l: Use GENMASK macro in bitmask operation 2025-01-17 22:31:16 +01:00
max1720x_battery.c power: supply: max1720x: add support for reading internal and thermistor temperatures 2025-01-17 22:33:04 +01:00
max1721x_battery.c
max8903_charger.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
max8925_power.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00
max8997_charger.c
max8998_charger.c power: supply: max8998_charger: Fix module autoloading 2024-08-27 11:41:42 +02:00
max14577_charger.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +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: max17040: get thermal data from adc if available 2023-09-14 16:54:46 +02:00
max17042_battery.c power: supply: max17042: add max77705 fuel gauge support 2025-01-15 22:39:18 +01:00
max77650-charger.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00
max77693_charger.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00
max77976_charger.c power: supply: max77976_charger: register power supply with devm_power_supply_register() 2024-10-15 22:22:21 +02:00
mm8013.c power: supply: mm8013: use accessor for driver data 2024-12-11 02:00:24 +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: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
mt6370-charger.c power: supply: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
olpc_battery.c power: supply: olpc_battery: constify 'struct bin_attribute' 2024-12-04 22:19:13 +01:00
pcf50633-charger.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +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: 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: Use power_supply_external_power_changed() in __power_supply_changed_work() 2024-12-20 00:36:05 +01: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: add undervoltage health status property 2025-01-15 22:39:18 +01:00
qcom_battmgr.c power: supply: Correct multiple typos in comments 2024-10-15 22:37:00 +02:00
qcom_pmi8998_charger.c power: supply: Correct multiple typos in comments 2024-10-15 22:37:00 +02:00
qcom_smbb.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00
rk817_charger.c power supply and reset changes for the 6.13 series 2024-11-28 09:28:09 -08: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: rt5033: Bring back i2c_set_clientdata 2024-06-05 23:38:31 +02: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: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
rt9467-charger.c power: supply: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
rt9471.c power: supply: rt9471: Use IC status regfield to report real charger status 2024-10-16 23:32:51 +02:00
rx51_battery.c power: supply: rx51: Use devm_power_supply_register() helper 2024-01-27 01:25:05 +01: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
sbs-battery.c power: supply: Use str_enable_disable-like helpers 2025-01-15 21:41:22 +01:00
sbs-charger.c power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
sbs-manager.c power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
sc27xx_fuel_gauge.c power: supply: sc27xx: Fix battery detect GPIO probe 2024-11-11 23:05:19 +01:00
sc2731_charger.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00
smb347-charger.c
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: core: add UAPI to discover currently used extensions 2024-12-14 22:50:17 +01:00
tps65090-charger.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00
tps65217_charger.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00
twl4030_charger.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +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: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
ug3105_battery.c power: supply: ug3105_battery: Let the core handle POWER_SUPPLY_PROP_TECHNOLOGY 2024-12-20 01:08:51 +01:00
wilco-charger.c
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: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00
wm8350_power.c power: Switch back to struct platform_driver::remove() 2024-10-21 15:51:42 +02:00