···300300301301config POWER_MLXBF302302 tristate "Mellanox BlueField power handling driver"303303- depends on (GPIO_MLXBF2 && ACPI)303303+ depends on (GPIO_MLXBF2 || GPIO_MLXBF3) && ACPI304304 help305305 This driver supports reset or low power mode handling for Mellanox BlueField.306306
+1-1
drivers/power/reset/pwr-mlxbf.c
···11-// SPDX-License-Identifier: GPL-2.0-only or BSD-3-Clause11+// SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause2233/*44 * Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES.
···792792config CHARGER_RT5033793793 tristate "RT5033 battery charger support"794794 depends on MFD_RT5033795795+ depends on EXTCON || !EXTCON795796 help796797 This adds support for battery charger in Richtek RT5033 PMIC.797798 The device supports pre-charge mode, fast charge mode and
···324324325325 if (fl_strobe) {326326 dev_err(priv->dev, "Flash led is still in strobe mode\n");327327- return ret;327327+ return -EINVAL;328328 }329329330330 /* cfo off */
+7
drivers/power/supply/power_supply_sysfs.c
···476476 if (ret)477477 return ret;478478479479+ /*480480+ * Kernel generates KOBJ_REMOVE uevent in device removal path, after481481+ * resources have been freed. Exit early to avoid use-after-free.482482+ */483483+ if (psy->removing)484484+ return 0;485485+479486 prop_buf = (char *)get_zeroed_page(GFP_KERNEL);480487 if (!prop_buf)481488 return -ENOMEM;
···10451045 queue_delayed_work(system_wq, &charger->work, msecs_to_jiffies(8000));10461046}1047104710481048+static void rk817_cleanup_node(void *data)10491049+{10501050+ struct device_node *node = data;10511051+10521052+ of_node_put(node);10531053+}10541054+10481055static int rk817_charger_probe(struct platform_device *pdev)10491056{10501057 struct rk808 *rk808 = dev_get_drvdata(pdev->dev.parent);···10681061 if (!node)10691062 return -ENODEV;1070106310641064+ ret = devm_add_action_or_reset(&pdev->dev, rk817_cleanup_node, node);10651065+ if (ret)10661066+ return ret;10671067+10711068 charger = devm_kzalloc(&pdev->dev, sizeof(*charger), GFP_KERNEL);10721072- if (!charger) {10731073- of_node_put(node);10691069+ if (!charger)10741070 return -ENOMEM;10751075- }1076107110771072 charger->rk808 = rk808;10781073···12331224MODULE_AUTHOR("Maya Matuszczyk <maccraft123mc@gmail.com>");12341225MODULE_AUTHOR("Chris Morgan <macromorgan@hotmail.com>");12351226MODULE_LICENSE("GPL");12271227+MODULE_ALIAS("platform:rk817-charger");
+2-2
drivers/power/supply/rt9467-charger.c
···598598599599 reinit_completion(&data->aicl_done);600600 ret = wait_for_completion_timeout(&data->aicl_done, msecs_to_jiffies(3500));601601- if (ret)602602- return ret;601601+ if (ret == 0)602602+ return -ETIMEDOUT;603603604604 ret = rt9467_get_value_from_ranges(data, F_IAICR, RT9467_RANGE_IAICR, &aicr_get);605605 if (ret) {
+2-1
drivers/power/supply/ucs1002_power.c
···384384 case POWER_SUPPLY_PROP_USB_TYPE:385385 return ucs1002_get_usb_type(info, val);386386 case POWER_SUPPLY_PROP_HEALTH:387387- return val->intval = info->health;387387+ val->intval = info->health;388388+ return 0;388389 case POWER_SUPPLY_PROP_PRESENT:389390 val->intval = info->present;390391 return 0;