]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm/mach-msm/clock.h
Merge git://git.infradead.org/battery-2.6
[karo-tx-linux.git] / arch / arm / mach-msm / clock.h
index c270b552ed1356609cb96e9bbc551fb50908615f..2c007f606d2921e61d8692bd7a3e288cf08d588b 100644 (file)
 #ifndef __ARCH_ARM_MACH_MSM_CLOCK_H
 #define __ARCH_ARM_MACH_MSM_CLOCK_H
 
+#include <linux/init.h>
 #include <linux/list.h>
 #include <mach/clk.h>
 
-#include "clock-pcom.h"
-#include "clock-7x30.h"
-
 #define CLKFLAG_INVERT                 0x00000001
 #define CLKFLAG_NOINVERT               0x00000002
 #define CLKFLAG_NONEST                 0x00000004
@@ -45,6 +43,7 @@ struct clk_ops {
        unsigned (*get_rate)(unsigned id);
        unsigned (*is_enabled)(unsigned id);
        long (*round_rate)(unsigned id, unsigned rate);
+       bool (*is_local)(unsigned id);
 };
 
 struct clk {
@@ -52,58 +51,22 @@ struct clk {
        uint32_t remote_id;
        uint32_t count;
        uint32_t flags;
-       const char *name;
        struct clk_ops *ops;
        const char *dbg_name;
        struct list_head list;
-       struct device *dev;
 };
 
-#define A11S_CLK_CNTL_ADDR             (MSM_CSR_BASE + 0x100)
-#define A11S_CLK_SEL_ADDR              (MSM_CSR_BASE + 0x104)
-#define A11S_VDD_SVS_PLEVEL_ADDR       (MSM_CSR_BASE + 0x124)
-
-#ifdef CONFIG_DEBUG_FS
-#define CLOCK_DBG_NAME(x) .dbg_name = x,
-#else
-#define CLOCK_DBG_NAME(x)
-#endif
-
-#define CLOCK(clk_name, clk_id, clk_dev, clk_flags) {  \
-       .name = clk_name, \
-       .id = clk_id, \
-       .flags = clk_flags, \
-       .dev = clk_dev, \
-        CLOCK_DBG_NAME(#clk_id) \
-       }
-
 #define OFF CLKFLAG_AUTO_OFF
 #define CLK_MIN CLKFLAG_MIN
 #define CLK_MAX CLKFLAG_MAX
 #define CLK_MINMAX (CLK_MIN | CLK_MAX)
-#define NR_CLKS        P_NR_CLKS
-
-enum {
-       PLL_0 = 0,
-       PLL_1,
-       PLL_2,
-       PLL_3,
-       PLL_4,
-       PLL_5,
-       PLL_6,
-       NUM_PLL
-};
-
-enum clkvote_client {
-       CLKVOTE_ACPUCLK = 0,
-       CLKVOTE_PMQOS,
-       CLKVOTE_MAX,
-};
-
-int msm_clock_require_tcxo(unsigned long *reason, int nbits);
-int msm_clock_get_name(uint32_t id, char *name, uint32_t size);
-int ebi1_clk_set_min_rate(enum clkvote_client client, unsigned long rate);
-unsigned long clk_get_max_axi_khz(void);
 
+#ifdef CONFIG_DEBUG_FS
+int __init clock_debug_init(void);
+int __init clock_debug_add(struct clk *clock);
+#else
+static inline int __init clock_debug_init(void) { return 0; }
+static inline int __init clock_debug_add(struct clk *clock) { return 0; }
 #endif
 
+#endif