| /* | 
 |  * arch/arm/mach-pnx4008/clock.h | 
 |  * | 
 |  * Clock control driver for PNX4008 - internal header file | 
 |  * | 
 |  * Author: Vitaly Wool <source@mvista.com> | 
 |  * | 
 |  * 2006 (c) MontaVista Software, Inc. This file is licensed under | 
 |  * the terms of the GNU General Public License version 2. This program | 
 |  * is licensed "as is" without any warranty of any kind, whether express | 
 |  * or implied. | 
 |  */ | 
 | #ifndef __ARCH_ARM_PNX4008_CLOCK_H__ | 
 | #define __ARCH_ARM_PNX4008_CLOCK_H__ | 
 |  | 
 | struct clk { | 
 | 	struct list_head node; | 
 | 	struct module *owner; | 
 | 	const char *name; | 
 | 	struct clk *parent; | 
 | 	struct clk *propagate_next; | 
 | 	u32 rate; | 
 | 	u32 user_rate; | 
 | 	s8 usecount; | 
 | 	u32 flags; | 
 | 	u32 scale_reg; | 
 | 	u8 enable_shift; | 
 | 	u32 enable_reg; | 
 | 	u8 enable_shift1; | 
 | 	u32 enable_reg1; | 
 | 	u32 parent_switch_reg; | 
 | 	 u32(*round_rate) (struct clk *, u32); | 
 | 	int (*set_rate) (struct clk *, u32); | 
 | 	int (*set_parent) (struct clk * clk, struct clk * parent); | 
 | }; | 
 |  | 
 | /* Flags */ | 
 | #define RATE_PROPAGATES      (1<<0) | 
 | #define NEEDS_INITIALIZATION (1<<1) | 
 | #define PARENT_SET_RATE      (1<<2) | 
 | #define FIXED_RATE           (1<<3) | 
 |  | 
 | #endif |