]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
power: supply: core: Add power_supply_get/set_property_direct()
authorArmin Wolf <W_Armin@gmx.de>
Fri, 27 Jun 2025 20:51:22 +0000 (22:51 +0200)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Mon, 7 Jul 2025 12:19:46 +0000 (15:19 +0300)
commit3ebed2fddf6fac5729ffc8c471c87d111b641678
treec997d6a01f0f7d4e4a561c5dd74fc101ee3d5cf6
parent8346c6af27f1c1410eb314f4be5875fdf1579a10
power: supply: core: Add power_supply_get/set_property_direct()

Power supply extensions might want to interact with the underlying
power supply to retrieve data like serial numbers, charging status
and more. However doing so causes psy->extensions_sem to be locked
twice, possibly causing a deadlock.

Provide special variants of power_supply_get/set_property() that
ignore any power supply extensions and thus do not touch the
associated psy->extensions_sem lock.

Suggested-by: Hans de Goede <hansg@kernel.org>
Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Acked-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Hans de Goede <hansg@kernel.org>
Link: https://lore.kernel.org/r/20250627205124.250433-1-W_Armin@gmx.de
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/power/supply/power_supply_core.c
include/linux/power_supply.h