PageRenderTime 23ms CodeModel.GetById 9ms app.highlight 10ms RepoModel.GetById 1ms app.codeStats 0ms

/arch/powerpc/kernel/clock.c

https://github.com/aicjofs/android_kernel_lge_v500_20d_f2fs
C | 82 lines | 67 code | 11 blank | 4 comment | 9 complexity | 205fd750bdf41e584ddedc5aeabf9492 MD5 | raw file
 1/*
 2 * Dummy clk implementations for powerpc.
 3 * These need to be overridden in platform code.
 4 */
 5
 6#include <linux/clk.h>
 7#include <linux/err.h>
 8#include <linux/errno.h>
 9#include <linux/export.h>
10#include <asm/clk_interface.h>
11
12struct clk_interface clk_functions;
13
14struct clk *clk_get(struct device *dev, const char *id)
15{
16	if (clk_functions.clk_get)
17		return clk_functions.clk_get(dev, id);
18	return ERR_PTR(-ENOSYS);
19}
20EXPORT_SYMBOL(clk_get);
21
22void clk_put(struct clk *clk)
23{
24	if (clk_functions.clk_put)
25		clk_functions.clk_put(clk);
26}
27EXPORT_SYMBOL(clk_put);
28
29int clk_enable(struct clk *clk)
30{
31	if (clk_functions.clk_enable)
32		return clk_functions.clk_enable(clk);
33	return -ENOSYS;
34}
35EXPORT_SYMBOL(clk_enable);
36
37void clk_disable(struct clk *clk)
38{
39	if (clk_functions.clk_disable)
40		clk_functions.clk_disable(clk);
41}
42EXPORT_SYMBOL(clk_disable);
43
44unsigned long clk_get_rate(struct clk *clk)
45{
46	if (clk_functions.clk_get_rate)
47		return clk_functions.clk_get_rate(clk);
48	return 0;
49}
50EXPORT_SYMBOL(clk_get_rate);
51
52long clk_round_rate(struct clk *clk, unsigned long rate)
53{
54	if (clk_functions.clk_round_rate)
55		return clk_functions.clk_round_rate(clk, rate);
56	return -ENOSYS;
57}
58EXPORT_SYMBOL(clk_round_rate);
59
60int clk_set_rate(struct clk *clk, unsigned long rate)
61{
62	if (clk_functions.clk_set_rate)
63		return clk_functions.clk_set_rate(clk, rate);
64	return -ENOSYS;
65}
66EXPORT_SYMBOL(clk_set_rate);
67
68struct clk *clk_get_parent(struct clk *clk)
69{
70	if (clk_functions.clk_get_parent)
71		return clk_functions.clk_get_parent(clk);
72	return ERR_PTR(-ENOSYS);
73}
74EXPORT_SYMBOL(clk_get_parent);
75
76int clk_set_parent(struct clk *clk, struct clk *parent)
77{
78	if (clk_functions.clk_set_parent)
79		return clk_functions.clk_set_parent(clk, parent);
80	return -ENOSYS;
81}
82EXPORT_SYMBOL(clk_set_parent);