[ARM] omap: arrange for clock recalc methods to return the rate
[safe/jmp/linux-2.6] / arch / arm / plat-omap / include / mach / clock.h
index cd69111..7b6f6bc 100644 (file)
@@ -70,10 +70,12 @@ struct clk {
        const char              *name;
        int                     id;
        struct clk              *parent;
+       struct list_head        children;
+       struct list_head        sibling;        /* node for children */
        unsigned long           rate;
        __u32                   flags;
        void __iomem            *enable_reg;
-       void                    (*recalc)(struct clk *);
+       unsigned long           (*recalc)(struct clk *);
        int                     (*set_rate)(struct clk *, unsigned long);
        long                    (*round_rate)(struct clk *, unsigned long);
        void                    (*init)(struct clk *);
@@ -115,12 +117,13 @@ struct clk_functions {
 extern unsigned int mpurate;
 
 extern int clk_init(struct clk_functions *custom_clocks);
+extern void clk_init_one(struct clk *clk);
 extern int clk_register(struct clk *clk);
+extern void clk_reparent(struct clk *child, struct clk *parent);
 extern void clk_unregister(struct clk *clk);
 extern void propagate_rate(struct clk *clk);
 extern void recalculate_root_clocks(void);
-extern void followparent_recalc(struct clk *clk);
-extern int clk_get_usecount(struct clk *clk);
+extern unsigned long followparent_recalc(struct clk *clk);
 extern void clk_enable_init_clocks(void);
 #ifdef CONFIG_CPU_FREQ
 extern void clk_init_cpufreq_table(struct cpufreq_frequency_table **table);
@@ -131,10 +134,8 @@ extern const struct clkops clkops_null;
 /* Clock flags */
 /* bit 0 is free */
 #define RATE_FIXED             (1 << 1)        /* Fixed clock rate */
-#define RATE_PROPAGATES                (1 << 2)        /* Program children too */
-/* bits 3-4 are free */
+/* bits 2-4 are free */
 #define ENABLE_REG_32BIT       (1 << 5)        /* Use 32-bit access */
-#define VIRTUAL_IO_ADDRESS     (1 << 6)        /* Clock in virtual address */
 #define CLOCK_IDLE_CONTROL     (1 << 7)
 #define CLOCK_NO_IDLE_PARENT   (1 << 8)
 #define DELAYED_APP            (1 << 9)        /* Delay application of clock */