Merge branch 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[pandora-kernel.git] / arch / arm / mach-pxa / clock.h
index d848874..f9f349a 100644 (file)
@@ -1,4 +1,5 @@
-#include <asm/clkdev.h>
+#include <linux/clkdev.h>
+#include <linux/sysdev.h>
 
 struct clkops {
        void                    (*enable)(struct clk *);
@@ -14,6 +15,12 @@ struct clk {
        unsigned int            enabled;
 };
 
+void clk_dummy_enable(struct clk *);
+void clk_dummy_disable(struct clk *);
+
+extern const struct clkops clk_dummy_ops;
+extern struct clk clk_dummy;
+
 #define INIT_CLKREG(_clk,_devname,_conname)            \
        {                                               \
                .clk            = _clk,                 \
@@ -21,14 +28,6 @@ struct clk {
                .con_id         = _conname,             \
        }
 
-#define DEFINE_CKEN(_name, _cken, _rate, _delay)       \
-struct clk clk_##_name = {                             \
-               .ops    = &clk_cken_ops,                \
-               .rate   = _rate,                        \
-               .cken   = CKEN_##_cken,                 \
-               .delay  = _delay,                       \
-       }
-
 #define DEFINE_CK(_name, _cken, _ops)                  \
 struct clk clk_##_name = {                             \
                .ops    = _ops,                         \
@@ -42,28 +41,38 @@ struct clk clk_##_name = {                          \
                .delay  = _delay,                       \
        }
 
-extern const struct clkops clk_cken_ops;
-
-void clk_cken_enable(struct clk *clk);
-void clk_cken_disable(struct clk *clk);
-
-#ifdef CONFIG_PXA3xx
-#define DEFINE_PXA3_CKEN(_name, _cken, _rate, _delay)  \
+#define DEFINE_PXA2_CKEN(_name, _cken, _rate, _delay)  \
 struct clk clk_##_name = {                             \
-               .ops    = &clk_pxa3xx_cken_ops,         \
+               .ops    = &clk_pxa2xx_cken_ops,         \
                .rate   = _rate,                        \
                .cken   = CKEN_##_cken,                 \
                .delay  = _delay,                       \
        }
 
-#define DEFINE_PXA3_CK(_name, _cken, _ops)             \
+extern const struct clkops clk_pxa2xx_cken_ops;
+
+void clk_pxa2xx_cken_enable(struct clk *clk);
+void clk_pxa2xx_cken_disable(struct clk *clk);
+
+extern struct sysdev_class pxa2xx_clock_sysclass;
+
+#if defined(CONFIG_PXA3xx) || defined(CONFIG_PXA95x)
+#define DEFINE_PXA3_CKEN(_name, _cken, _rate, _delay)  \
 struct clk clk_##_name = {                             \
-               .ops    = _ops,                         \
+               .ops    = &clk_pxa3xx_cken_ops,         \
+               .rate   = _rate,                        \
                .cken   = CKEN_##_cken,                 \
+               .delay  = _delay,                       \
        }
 
 extern const struct clkops clk_pxa3xx_cken_ops;
+extern const struct clkops clk_pxa3xx_hsio_ops;
+extern const struct clkops clk_pxa3xx_ac97_ops;
+extern const struct clkops clk_pxa3xx_pout_ops;
+extern const struct clkops clk_pxa3xx_smemc_ops;
+
 extern void clk_pxa3xx_cken_enable(struct clk *);
 extern void clk_pxa3xx_cken_disable(struct clk *);
-#endif
 
+extern struct sysdev_class pxa3xx_clock_sysclass;
+#endif