Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[linux-2.6] / arch / arm / mach-ns9xxx / clock.h
1 /*
2  * arch/arm/mach-ns9xxx/clock.h
3  *
4  * Copyright (C) 2007 by Digi International Inc.
5  * All rights reserved.
6  *
7  * This program is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License version 2 as published by
9  * the Free Software Foundation.
10  */
11 #ifndef __NS9XXX_CLOCK_H
12 #define __NS9XXX_CLOCK_H
13
14 #include <linux/list.h>
15
16 struct clk {
17         struct module *owner;
18         const char *name;
19         int id;
20
21         struct clk *parent;
22
23         unsigned long rate;
24         int (*endisable)(struct clk *, int enable);
25         unsigned long (*get_rate)(struct clk *);
26
27         struct list_head node;
28         unsigned long refcount;
29         unsigned long usage;
30 };
31
32 int clk_register(struct clk *clk);
33 int clk_unregister(struct clk *clk);
34
35 #endif /* ifndef __NS9XXX_CLOCK_H */