Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/rust/helpers/clk.c
29266 views
1
// SPDX-License-Identifier: GPL-2.0
2
3
#include <linux/clk.h>
4
5
/*
6
* The "inline" implementation of below helpers are only available when
7
* CONFIG_HAVE_CLK or CONFIG_HAVE_CLK_PREPARE aren't set.
8
*/
9
#ifndef CONFIG_HAVE_CLK
10
struct clk *rust_helper_clk_get(struct device *dev, const char *id)
11
{
12
return clk_get(dev, id);
13
}
14
15
void rust_helper_clk_put(struct clk *clk)
16
{
17
clk_put(clk);
18
}
19
20
int rust_helper_clk_enable(struct clk *clk)
21
{
22
return clk_enable(clk);
23
}
24
25
void rust_helper_clk_disable(struct clk *clk)
26
{
27
clk_disable(clk);
28
}
29
30
unsigned long rust_helper_clk_get_rate(struct clk *clk)
31
{
32
return clk_get_rate(clk);
33
}
34
35
int rust_helper_clk_set_rate(struct clk *clk, unsigned long rate)
36
{
37
return clk_set_rate(clk, rate);
38
}
39
#endif
40
41
#ifndef CONFIG_HAVE_CLK_PREPARE
42
int rust_helper_clk_prepare(struct clk *clk)
43
{
44
return clk_prepare(clk);
45
}
46
47
void rust_helper_clk_unprepare(struct clk *clk)
48
{
49
clk_unprepare(clk);
50
}
51
#endif
52
53
struct clk *rust_helper_clk_get_optional(struct device *dev, const char *id)
54
{
55
return clk_get_optional(dev, id);
56
}
57
58
int rust_helper_clk_prepare_enable(struct clk *clk)
59
{
60
return clk_prepare_enable(clk);
61
}
62
63
void rust_helper_clk_disable_unprepare(struct clk *clk)
64
{
65
clk_disable_unprepare(clk);
66
}
67
68