lin
2025-07-31 065ea569db06206874bbfa18eb25ff6121aec09b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef __MACH_COMMON_CLKDEV_H
#define __MACH_COMMON_CLKDEV_H
 
#include <linux/clk.h>
 
struct clk_ops {
   unsigned long (*get_rate)(struct clk *clk);
   unsigned long (*round_rate)(struct clk *clk, unsigned long rate);
   int (*set_rate)(struct clk *clk, unsigned long rate);
   int (*enable)(struct clk *clk);
   int (*disable)(struct clk *clk);
};
 
struct clk {
   const char        *name;
   unsigned long           rate;
   spinlock_t         lock;
   u32            flags;
   const struct clk_ops    *ops;
   const struct params     *params;
   void __iomem            *reg;
   u32            mask;
   u32            shift;
};
 
#endif