diff options
| author | Frank Li <Frank.Li@nxp.com> | 2026-05-04 19:54:38 -0400 |
|---|---|---|
| committer | Linus Walleij <linusw@kernel.org> | 2026-05-05 14:48:12 +0200 |
| commit | 418a2bbdee2927d543db6913073d0e7ec8b540ee (patch) | |
| tree | 65c97fd40d32efb1a0ec9d97e58c05b1fbf8b27d /include/linux/timerqueue.h | |
| parent | aaaf31be04260316036f50a05b7d015c0d36b55a (diff) | |
pinctrl: add optional .release_mux() callback
Add an optional .release_mux() callback to struct pinmux_ops.
Some drivers acquire additional resources in .set_mux(), such as software
locks. These resources may need to be released when the mux function is no
longer active. Introducing a dedicated .release_mux() callback allows
drivers to clean up such resources.
The callback is optional and does not affect existing drivers.
Commit 2243a87d90b42 ("pinctrl: avoid duplicated calling
enable_pinmux_setting for a pin") removed the .disable() callback
to resolve two issues:
1. desc->mux_usecount increasing monotonically
2. Hardware glitches caused by repeated .disable()/.enable() calls
Adding .release_mux() does not reintroduce those problems. The callback is
intended only for releasing driver-side resources (e.g. locks) and must not
modify hardware registers.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Linus Walleij <linusw@kernel.org>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions
