Commit 0ddbc782c0bb for kernel

commit 0ddbc782c0bb86c902eda146677087a6bfc398ee
Merge: 65ba8f34ec88 f0f400459bf6
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Wed Oct 28 07:06:06 2026 -1000

    Merge tag 'for-v7.4' 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 LOAD_SWITCH property
       - pack power_supply_desc to optimize memory
       - prevent power-supply device unregistration while callback runs
       - drop last CONFIG_OF build-time dependencies from the core
       - documentation fixes

      Power-supply drivers:
       - bq27xxx: add support for bq27z746, bq28z620
       - ab8500: add AB8505 support
       - bq257xx: fix probe time configuration race condition
       - multiple: convert drivers with custom LOAD_SWITCH properties to the
         new standard one
       - cros_charge-control: restore EC state on resume
       - qcom_battmgr: fix USB type reporting, notify charger online state,
         report full batteries and correct capacity on X1E
       - gpio-charger: always report as discharging if input power is
         missing
       - bq24190_charger: don't reset registers across system suspend
       - qcom_smbx: a lot of independent fixes
       - lots of error and module removal path fixes
       - misc fixes

      Reset drivers
       - misc fixes"

    * tag 'for-v7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (77 commits)
      power: supply: gpio-charger: Report discharging without input power
      power: supply: qcom_battmgr: report full batteries
      power_supply: serialize property access with unregister
      power: supply: bq257xx: Describe the dev field in the driver data structure
      power: supply: qcom_battmgr: Notify charger supplies of online changes
      power: supply: generic-adc-battery: fix status with no supplier
      power: supply: qcom_battmgr: report the USB type from USB_ADAP_TYPE
      power: supply: sysfs: Ratelimit "unavailable enum value" warning
      power: supply: cros_charge-control: restore EC state on resume
      power: supply: qcom_smbx: set the charge enable after software control
      power: supply: generic-adc-battery: Propagate charged GPIO errors
      power: supply: sbs-battery: disable polling before supply teardown
      power: supply: pf1550: drain IRQ work before unregistering supplies
      power: supply: bq256xx: Expose VBUS state through extcon
      power: supply: ab8500_fg: Avoid reserved AB8505 CCConf bit
      power: supply: ab8500_fg: Finalize current measurements
      power: supply: ab8500_charger: Recover inactive AB8505 charger
      power: supply: ab8500_charger: Retry AB8505 USB detection
      power: supply: ab8500_charger: Skip absent AB8505 main charger
      power: supply: ab8500_charger: Handle detection errors
      ...

diff --cc drivers/power/supply/power_supply_core.c
index 1279785645fb,2e1058bd24c8..de15314ef954
--- a/drivers/power/supply/power_supply_core.c
+++ b/drivers/power/supply/power_supply_core.c
@@@ -904,10 -904,10 +904,10 @@@ int power_supply_get_battery_info(struc
  			goto out_put_node;
  		}

 -		u32 *propdata __free(kfree) = kcalloc(proplen, sizeof(*propdata), GFP_KERNEL);
 +		u32 *propdata __free(kfree) = kzalloc_objs(*propdata, proplen);
  		if (!propdata) {
  			power_supply_put_battery_info(psy, info);
- 			err = -EINVAL;
+ 			err = -ENOMEM;
  			goto out_put_node;
  		}
  		err = fwnode_property_read_u32_array(fwnode, propname, propdata, proplen);