| 
									
										
										
										
											2011-07-24 21:30:55 +01:00
										 |  |  | #undef TRACE_SYSTEM
 | 
					
						
							|  |  |  | #define TRACE_SYSTEM regmap
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #if !defined(_TRACE_REGMAP_H) || defined(TRACE_HEADER_MULTI_READ)
 | 
					
						
							|  |  |  | #define _TRACE_REGMAP_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/ktime.h>
 | 
					
						
							|  |  |  | #include <linux/tracepoint.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-01-30 11:46:54 -05:00
										 |  |  | struct device; | 
					
						
							| 
									
										
										
										
											2011-07-24 21:30:55 +01:00
										 |  |  | struct regmap; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * Log register events | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | DECLARE_EVENT_CLASS(regmap_reg, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct device *dev, unsigned int reg, | 
					
						
							|  |  |  | 		 unsigned int val), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(dev, reg, val), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__string(	name,		dev_name(dev)	) | 
					
						
							|  |  |  | 		__field(	unsigned int,	reg		) | 
					
						
							|  |  |  | 		__field(	unsigned int,	val		) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__assign_str(name, dev_name(dev)); | 
					
						
							|  |  |  | 		__entry->reg = reg; | 
					
						
							|  |  |  | 		__entry->val = val; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("%s reg=%x val=%x", __get_str(name), | 
					
						
							|  |  |  | 		  (unsigned int)__entry->reg, | 
					
						
							|  |  |  | 		  (unsigned int)__entry->val) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(regmap_reg, regmap_reg_write, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct device *dev, unsigned int reg, | 
					
						
							|  |  |  | 		 unsigned int val), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(dev, reg, val) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(regmap_reg, regmap_reg_read, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct device *dev, unsigned int reg, | 
					
						
							|  |  |  | 		 unsigned int val), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(dev, reg, val) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-30 14:27:08 +00:00
										 |  |  | DEFINE_EVENT(regmap_reg, regmap_reg_read_cache, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct device *dev, unsigned int reg, | 
					
						
							|  |  |  | 		 unsigned int val), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(dev, reg, val) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-07-24 21:30:55 +01:00
										 |  |  | DECLARE_EVENT_CLASS(regmap_block, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-08-09 16:42:27 +09:00
										 |  |  | 	TP_PROTO(struct device *dev, unsigned int reg, int count), | 
					
						
							| 
									
										
										
										
											2011-07-24 21:30:55 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(dev, reg, count), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__string(	name,		dev_name(dev)	) | 
					
						
							|  |  |  | 		__field(	unsigned int,	reg		) | 
					
						
							| 
									
										
										
										
											2011-08-09 16:42:27 +09:00
										 |  |  | 		__field(	int,		count		) | 
					
						
							| 
									
										
										
										
											2011-07-24 21:30:55 +01:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__assign_str(name, dev_name(dev)); | 
					
						
							|  |  |  | 		__entry->reg = reg; | 
					
						
							|  |  |  | 		__entry->count = count; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("%s reg=%x count=%d", __get_str(name), | 
					
						
							|  |  |  | 		  (unsigned int)__entry->reg, | 
					
						
							| 
									
										
										
										
											2011-08-09 16:42:27 +09:00
										 |  |  | 		  (int)__entry->count) | 
					
						
							| 
									
										
										
										
											2011-07-24 21:30:55 +01:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(regmap_block, regmap_hw_read_start, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-08-09 16:42:27 +09:00
										 |  |  | 	TP_PROTO(struct device *dev, unsigned int reg, int count), | 
					
						
							| 
									
										
										
										
											2011-07-24 21:30:55 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(dev, reg, count) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(regmap_block, regmap_hw_read_done, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-08-09 16:42:27 +09:00
										 |  |  | 	TP_PROTO(struct device *dev, unsigned int reg, int count), | 
					
						
							| 
									
										
										
										
											2011-07-24 21:30:55 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(dev, reg, count) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(regmap_block, regmap_hw_write_start, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-08-09 16:42:27 +09:00
										 |  |  | 	TP_PROTO(struct device *dev, unsigned int reg, int count), | 
					
						
							| 
									
										
										
										
											2011-07-24 21:30:55 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(dev, reg, count) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(regmap_block, regmap_hw_write_done, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-08-09 16:42:27 +09:00
										 |  |  | 	TP_PROTO(struct device *dev, unsigned int reg, int count), | 
					
						
							| 
									
										
										
										
											2011-07-24 21:30:55 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(dev, reg, count) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-19 14:34:04 +01:00
										 |  |  | TRACE_EVENT(regcache_sync, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct device *dev, const char *type, | 
					
						
							|  |  |  | 		 const char *status), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(dev, type, status), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__string(       name,           dev_name(dev)   ) | 
					
						
							|  |  |  | 		__string(	status,		status		) | 
					
						
							|  |  |  | 		__string(	type,		type		) | 
					
						
							|  |  |  | 		__field(	int,		type		) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__assign_str(name, dev_name(dev)); | 
					
						
							|  |  |  | 		__assign_str(status, status); | 
					
						
							|  |  |  | 		__assign_str(type, type); | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("%s type=%s status=%s", __get_str(name), | 
					
						
							|  |  |  | 		  __get_str(type), __get_str(status)) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-02-23 22:02:57 +00:00
										 |  |  | DECLARE_EVENT_CLASS(regmap_bool, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct device *dev, bool flag), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(dev, flag), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__string(	name,		dev_name(dev)	) | 
					
						
							|  |  |  | 		__field(	int,		flag		) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__assign_str(name, dev_name(dev)); | 
					
						
							|  |  |  | 		__entry->flag = flag; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("%s flag=%d", __get_str(name), | 
					
						
							|  |  |  | 		  (int)__entry->flag) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(regmap_bool, regmap_cache_only, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct device *dev, bool flag), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(dev, flag) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(regmap_bool, regmap_cache_bypass, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct device *dev, bool flag), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(dev, flag) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-07-24 21:30:55 +01:00
										 |  |  | #endif /* _TRACE_REGMAP_H */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* This part must be outside protection */ | 
					
						
							|  |  |  | #include <trace/define_trace.h>
 |