diff options
| author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2024-01-05 01:55:11 +0300 |
|---|---|---|
| committer | Stephen Boyd <sboyd@kernel.org> | 2024-02-29 04:01:55 +0300 |
| commit | b0cde62e4c548b2e7cb535caa6eb0df135888601 (patch) | |
| tree | 217c73cf57689bc8526f3693edba34ce271c1f44 /include | |
| parent | 6613476e225e090cc9aad49be7fa504e290dd33d (diff) | |
| download | linux-b0cde62e4c548b2e7cb535caa6eb0df135888601.tar.xz | |
clk: Add a devm variant of clk_rate_exclusive_get()
This allows to simplify drivers that use clk_rate_exclusive_get()
in their probe routine as calling clk_rate_exclusive_put() is cared for
automatically.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20240104225512.1124519-2-u.kleine-koenig@pengutronix.de
Acked-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/clk.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/clk.h b/include/linux/clk.h index 06f1b292f8a0..24c49b01c25d 100644 --- a/include/linux/clk.h +++ b/include/linux/clk.h @@ -202,6 +202,18 @@ bool clk_is_match(const struct clk *p, const struct clk *q); int clk_rate_exclusive_get(struct clk *clk); /** + * devm_clk_rate_exclusive_get - devm variant of clk_rate_exclusive_get + * @dev: device the exclusivity is bound to + * @clk: clock source + * + * Calls clk_rate_exclusive_get() on @clk and registers a devm cleanup handler + * on @dev to call clk_rate_exclusive_put(). + * + * Must not be called from within atomic context. + */ +int devm_clk_rate_exclusive_get(struct device *dev, struct clk *clk); + +/** * clk_rate_exclusive_put - release exclusivity over the rate control of a * producer * @clk: clock source |
