| Viewing file:  clock.h (1.04 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
#ifndef __ASM_MIPS_CLOCK_H#define __ASM_MIPS_CLOCK_H
 
 #include <linux/kref.h>
 #include <linux/list.h>
 #include <linux/seq_file.h>
 #include <linux/clk.h>
 
 struct clk;
 
 struct clk_ops {
 void (*init) (struct clk *clk);
 void (*enable) (struct clk *clk);
 void (*disable) (struct clk *clk);
 void (*recalc) (struct clk *clk);
 int (*set_rate) (struct clk *clk, unsigned long rate, int algo_id);
 long (*round_rate) (struct clk *clk, unsigned long rate);
 };
 
 struct clk {
 struct list_head node;
 const char *name;
 int id;
 struct module *owner;
 
 struct clk *parent;
 struct clk_ops *ops;
 
 struct kref kref;
 
 unsigned long rate;
 unsigned long flags;
 };
 
 #define CLK_ALWAYS_ENABLED    (1 << 0)
 #define CLK_RATE_PROPAGATES    (1 << 1)
 
 /* Should be defined by processor-specific code */
 void arch_init_clk_ops(struct clk_ops **, int type);
 
 int clk_init(void);
 
 int __clk_enable(struct clk *);
 void __clk_disable(struct clk *);
 
 void clk_recalc_rate(struct clk *);
 
 int clk_register(struct clk *);
 void clk_unregister(struct clk *);
 
 #endif                /* __ASM_MIPS_CLOCK_H */
 
 |