Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge power-supply fixes for 6.6 cycle

Merge power-supply fixes for the 6.6 cycle, so that changes
to the vexpress driver apply cleanly.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

+35 -23
+1 -1
drivers/power/reset/Kconfig
··· 300 300 301 301 config POWER_MLXBF 302 302 tristate "Mellanox BlueField power handling driver" 303 - depends on (GPIO_MLXBF2 && ACPI) 303 + depends on (GPIO_MLXBF2 || GPIO_MLXBF3) && ACPI 304 304 help 305 305 This driver supports reset or low power mode handling for Mellanox BlueField. 306 306
+1 -1
drivers/power/reset/pwr-mlxbf.c
··· 1 - // SPDX-License-Identifier: GPL-2.0-only or BSD-3-Clause 1 + // SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause 2 2 3 3 /* 4 4 * Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES.
+1 -1
drivers/power/reset/vexpress-poweroff.c
··· 121 121 return PTR_ERR(regmap); 122 122 dev_set_drvdata(&pdev->dev, regmap); 123 123 124 - switch ((enum vexpress_reset_func)match->data) { 124 + switch ((uintptr_t)match->data) { 125 125 case FUNC_SHUTDOWN: 126 126 vexpress_power_off_device = &pdev->dev; 127 127 pm_power_off = vexpress_power_off;
+1
drivers/power/supply/Kconfig
··· 792 792 config CHARGER_RT5033 793 793 tristate "RT5033 battery charger support" 794 794 depends on MFD_RT5033 795 + depends on EXTCON || !EXTCON 795 796 help 796 797 This adds support for battery charger in Richtek RT5033 PMIC. 797 798 The device supports pre-charge mode, fast charge mode and
+1 -8
drivers/power/supply/ab8500_btemp.c
··· 115 115 static enum power_supply_property ab8500_btemp_props[] = { 116 116 POWER_SUPPLY_PROP_PRESENT, 117 117 POWER_SUPPLY_PROP_ONLINE, 118 - POWER_SUPPLY_PROP_TECHNOLOGY, 119 118 POWER_SUPPLY_PROP_TEMP, 120 119 }; 121 120 ··· 531 532 else 532 533 val->intval = 1; 533 534 break; 534 - case POWER_SUPPLY_PROP_TECHNOLOGY: 535 - if (di->bm->bi) 536 - val->intval = di->bm->bi->technology; 537 - else 538 - val->intval = POWER_SUPPLY_TECHNOLOGY_UNKNOWN; 539 - break; 540 535 case POWER_SUPPLY_PROP_TEMP: 541 536 val->intval = ab8500_btemp_get_temp(di); 542 537 break; ··· 655 662 656 663 static const struct power_supply_desc ab8500_btemp_desc = { 657 664 .name = "ab8500_btemp", 658 - .type = POWER_SUPPLY_TYPE_BATTERY, 665 + .type = POWER_SUPPLY_TYPE_UNKNOWN, 659 666 .properties = ab8500_btemp_props, 660 667 .num_properties = ARRAY_SIZE(ab8500_btemp_props), 661 668 .get_property = ab8500_btemp_get_property,
+1 -1
drivers/power/supply/ab8500_chargalg.c
··· 1720 1720 1721 1721 static const struct power_supply_desc ab8500_chargalg_desc = { 1722 1722 .name = "ab8500_chargalg", 1723 - .type = POWER_SUPPLY_TYPE_BATTERY, 1723 + .type = POWER_SUPPLY_TYPE_UNKNOWN, 1724 1724 .properties = ab8500_chargalg_props, 1725 1725 .num_properties = ARRAY_SIZE(ab8500_chargalg_props), 1726 1726 .get_property = ab8500_chargalg_get_property,
+1 -1
drivers/power/supply/mt6370-charger.c
··· 324 324 325 325 if (fl_strobe) { 326 326 dev_err(priv->dev, "Flash led is still in strobe mode\n"); 327 - return ret; 327 + return -EINVAL; 328 328 } 329 329 330 330 /* cfo off */
+7
drivers/power/supply/power_supply_sysfs.c
··· 476 476 if (ret) 477 477 return ret; 478 478 479 + /* 480 + * Kernel generates KOBJ_REMOVE uevent in device removal path, after 481 + * resources have been freed. Exit early to avoid use-after-free. 482 + */ 483 + if (psy->removing) 484 + return 0; 485 + 479 486 prop_buf = (char *)get_zeroed_page(GFP_KERNEL); 480 487 if (!prop_buf) 481 488 return -ENOMEM;
+4 -4
drivers/power/supply/qcom_battmgr.c
··· 105 105 106 106 struct qcom_battmgr_update_request { 107 107 struct pmic_glink_hdr hdr; 108 - u32 battery_id; 108 + __le32 battery_id; 109 109 }; 110 110 111 111 struct qcom_battmgr_charge_time_request { ··· 1282 1282 { 1283 1283 struct qcom_battmgr *battmgr = container_of(work, struct qcom_battmgr, enable_work); 1284 1284 struct qcom_battmgr_enable_request req = { 1285 - .hdr.owner = PMIC_GLINK_OWNER_BATTMGR, 1286 - .hdr.type = PMIC_GLINK_NOTIFY, 1287 - .hdr.opcode = BATTMGR_REQUEST_NOTIFICATION, 1285 + .hdr.owner = cpu_to_le32(PMIC_GLINK_OWNER_BATTMGR), 1286 + .hdr.type = cpu_to_le32(PMIC_GLINK_NOTIFY), 1287 + .hdr.opcode = cpu_to_le32(BATTMGR_REQUEST_NOTIFICATION), 1288 1288 }; 1289 1289 int ret; 1290 1290
+13 -3
drivers/power/supply/rk817_charger.c
··· 1045 1045 queue_delayed_work(system_wq, &charger->work, msecs_to_jiffies(8000)); 1046 1046 } 1047 1047 1048 + static void rk817_cleanup_node(void *data) 1049 + { 1050 + struct device_node *node = data; 1051 + 1052 + of_node_put(node); 1053 + } 1054 + 1048 1055 static int rk817_charger_probe(struct platform_device *pdev) 1049 1056 { 1050 1057 struct rk808 *rk808 = dev_get_drvdata(pdev->dev.parent); ··· 1068 1061 if (!node) 1069 1062 return -ENODEV; 1070 1063 1064 + ret = devm_add_action_or_reset(&pdev->dev, rk817_cleanup_node, node); 1065 + if (ret) 1066 + return ret; 1067 + 1071 1068 charger = devm_kzalloc(&pdev->dev, sizeof(*charger), GFP_KERNEL); 1072 - if (!charger) { 1073 - of_node_put(node); 1069 + if (!charger) 1074 1070 return -ENOMEM; 1075 - } 1076 1071 1077 1072 charger->rk808 = rk808; 1078 1073 ··· 1233 1224 MODULE_AUTHOR("Maya Matuszczyk <maccraft123mc@gmail.com>"); 1234 1225 MODULE_AUTHOR("Chris Morgan <macromorgan@hotmail.com>"); 1235 1226 MODULE_LICENSE("GPL"); 1227 + MODULE_ALIAS("platform:rk817-charger");
+2 -2
drivers/power/supply/rt9467-charger.c
··· 598 598 599 599 reinit_completion(&data->aicl_done); 600 600 ret = wait_for_completion_timeout(&data->aicl_done, msecs_to_jiffies(3500)); 601 - if (ret) 602 - return ret; 601 + if (ret == 0) 602 + return -ETIMEDOUT; 603 603 604 604 ret = rt9467_get_value_from_ranges(data, F_IAICR, RT9467_RANGE_IAICR, &aicr_get); 605 605 if (ret) {
+2 -1
drivers/power/supply/ucs1002_power.c
··· 384 384 case POWER_SUPPLY_PROP_USB_TYPE: 385 385 return ucs1002_get_usb_type(info, val); 386 386 case POWER_SUPPLY_PROP_HEALTH: 387 - return val->intval = info->health; 387 + val->intval = info->health; 388 + return 0; 388 389 case POWER_SUPPLY_PROP_PRESENT: 389 390 val->intval = info->present; 390 391 return 0;