]> git.ipfire.org Git - thirdparty/linux.git/commit
i2c: designware-platdrv: simplify reset control
authorArtem Shimko <a.shimko.dev@gmail.com>
Fri, 30 Jan 2026 11:10:36 +0000 (14:10 +0300)
committerAndi Shyti <andi.shyti@kernel.org>
Thu, 5 Feb 2026 10:28:17 +0000 (11:28 +0100)
commit78821a753fc911a64b5bccc44cb13fd7203aea13
treef139a75645a7cfe019ba9803a6d51a05519ec71f
parenteddfdab4de202b8781fc0719c2e4790db84f9453
i2c: designware-platdrv: simplify reset control

The current implementation uses separate calls to acquire and deassert
reset control, requiring manual error handling for the deassertion
operation. This can be simplified using the dedicated devm function that
combines both operations.

Replace devm_reset_control_get_optional_exclusive() with
devm_reset_control_get_optional_exclusive_deasserted(), which handles both
reset acquisition and deassertion in a single call as well as
reset_control_put() which is called automatically on driver detach. This
eliminates the need for explicit deassertion and its associated error
checking while maintaining the same functional behavior through automatic
resource management.

Signed-off-by: Artem Shimko <a.shimko.dev@gmail.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20260130111039.874548-2-a.shimko.dev@gmail.com
drivers/i2c/busses/i2c-designware-platdrv.c