]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/plat-omap/include/mach/clock.h
[ARM] OMAP clock: drop clk_get_usecount()
[linux-2.6-omap-h63xx.git] / arch / arm / plat-omap / include / mach / clock.h
index 681c65105e2558c77a172a188d671ce3794ea08e..0ba28462a497e61cac139fb28aa9322cc469cfe2 100644 (file)
@@ -43,6 +43,7 @@ struct dpll_data {
        unsigned long           last_rounded_rate;
        u16                     last_rounded_m;
        u8                      last_rounded_n;
+       u8                      min_divider;
        u8                      max_divider;
        u32                     max_tolerance;
        u16                     max_multiplier;
@@ -54,10 +55,10 @@ struct dpll_data {
        u32                     enable_mask;
        u32                     autoidle_mask;
        u32                     freqsel_mask;
+       u32                     idlest_mask;
        u8                      auto_recal_bit;
        u8                      recal_en_bit;
        u8                      recal_st_bit;
-       u8                      idlest_bit;
 #  endif
 };
 
@@ -69,6 +70,8 @@ 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;
@@ -114,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 void clk_enable_init_clocks(void);
 #ifdef CONFIG_CPU_FREQ
 extern void clk_init_cpufreq_table(struct cpufreq_frequency_table **table);
@@ -130,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 */