diff options
Diffstat (limited to 'include/linux/perf_event.h')
| -rw-r--r-- | include/linux/perf_event.h | 20 | 
1 files changed, 18 insertions, 2 deletions
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h index 6bfb2faa0b1..e47ee462c2f 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h @@ -135,16 +135,21 @@ struct hw_perf_event {  		struct { /* software */  			struct hrtimer	hrtimer;  		}; +		struct { /* tracepoint */ +			struct task_struct	*tp_target; +			/* for tp_event->class */ +			struct list_head	tp_list; +		};  #ifdef CONFIG_HAVE_HW_BREAKPOINT  		struct { /* breakpoint */ -			struct arch_hw_breakpoint	info; -			struct list_head		bp_list;  			/*  			 * Crufty hack to avoid the chicken and egg  			 * problem hw_breakpoint has with context  			 * creation and event initalization.  			 */  			struct task_struct		*bp_target; +			struct arch_hw_breakpoint	info; +			struct list_head		bp_list;  		};  #endif  	}; @@ -817,6 +822,17 @@ do {									\  } while (0) +struct perf_pmu_events_attr { +	struct device_attribute attr; +	u64 id; +}; + +#define PMU_EVENT_ATTR(_name, _var, _id, _show)				\ +static struct perf_pmu_events_attr _var = {				\ +	.attr = __ATTR(_name, 0444, _show, NULL),			\ +	.id   =  _id,							\ +}; +  #define PMU_FORMAT_ATTR(_name, _format)					\  static ssize_t								\  _name##_show(struct device *dev,					\  |