• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/arch/powerpc/kernel/
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/module.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);
83