PCI / PM: Block races between runtime PM and system sleep
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / arch / arm / mach-w90x900 / clock.h
blobb88a1b16b2e965b29c88417b0c153e662a382e5f
1 /*
2 * linux/arch/arm/mach-w90x900/clock.h
4 * Copyright (c) 2008 Nuvoton technology corporation
6 * Wan ZongShun <mcuos.com@gmail.com>
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.
13 #include <linux/clkdev.h>
15 void nuc900_clk_enable(struct clk *clk, int enable);
16 void nuc900_subclk_enable(struct clk *clk, int enable);
18 struct clk {
19 unsigned long cken;
20 unsigned int enabled;
21 void (*enable)(struct clk *, int enable);
24 #define DEFINE_CLK(_name, _ctrlbit) \
25 struct clk clk_##_name = { \
26 .enable = nuc900_clk_enable, \
27 .cken = (1 << _ctrlbit), \
30 #define DEFINE_SUBCLK(_name, _ctrlbit) \
31 struct clk clk_##_name = { \
32 .enable = nuc900_subclk_enable, \
33 .cken = (1 << _ctrlbit), \
37 #define DEF_CLKLOOK(_clk, _devname, _conname) \
38 { \
39 .clk = _clk, \
40 .dev_id = _devname, \
41 .con_id = _conname, \