]> git.itanic.dy.fi Git - linux-stable/commit
NFC: trf7970a: disable all regulators on removal
authorPaul Geurts <paul_geurts@live.nl>
Thu, 18 Apr 2024 19:25:38 +0000 (21:25 +0200)
committerJakub Kicinski <kuba@kernel.org>
Mon, 22 Apr 2024 21:19:58 +0000 (14:19 -0700)
commit6bea4f03c6a4e973ef369e15aac88f37981db49e
treefb2fc6ddf653f6b92569bf0f38a8c9e6378bcb09
parent97ec32b583bb08f72146eee2c1a1918e05760f8c
NFC: trf7970a: disable all regulators on removal

During module probe, regulator 'vin' and 'vdd-io' are used and enabled,
but the vdd-io regulator overwrites the 'vin' regulator pointer. During
remove, only the vdd-io is disabled, as the vin regulator pointer is not
available anymore. When regulator_put() is called during resource
cleanup a kernel warning is given, as the regulator is still enabled.

Store the two regulators in separate pointers and disable both the
regulators on module remove.

Fixes: 49d22c70aaf0 ("NFC: trf7970a: Add device tree option of 1.8 Volt IO voltage")
Signed-off-by: Paul Geurts <paul_geurts@live.nl>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/DB7PR09MB26847A4EBF88D9EDFEB1DA0F950E2@DB7PR09MB2684.eurprd09.prod.outlook.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/nfc/trf7970a.c