Merge branch 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penber...
[linux-2.6-block.git] / arch / arm / mach-w90x900 / clock.h
CommitLineData
0e4a34bb 1/*
2 * linux/arch/arm/mach-w90x900/clock.h
3 *
4 * Copyright (c) 2008 Nuvoton technology corporation
5 *
6 * Wan ZongShun <mcuos.com@gmail.com>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License.
11 */
12
6d803ba7 13#include <linux/clkdev.h>
0e4a34bb 14
35c9221a 15void nuc900_clk_enable(struct clk *clk, int enable);
16void nuc900_subclk_enable(struct clk *clk, int enable);
0e4a34bb 17
18struct clk {
19 unsigned long cken;
20 unsigned int enabled;
21 void (*enable)(struct clk *, int enable);
22};
23
24#define DEFINE_CLK(_name, _ctrlbit) \
25struct clk clk_##_name = { \
35c9221a 26 .enable = nuc900_clk_enable, \
0e4a34bb 27 .cken = (1 << _ctrlbit), \
28 }
29
db58e90f 30#define DEFINE_SUBCLK(_name, _ctrlbit) \
31struct clk clk_##_name = { \
35c9221a 32 .enable = nuc900_subclk_enable, \
db58e90f 33 .cken = (1 << _ctrlbit), \
34 }
35
36
0e4a34bb 37#define DEF_CLKLOOK(_clk, _devname, _conname) \
38 { \
39 .clk = _clk, \
40 .dev_id = _devname, \
41 .con_id = _conname, \
42 }
43