aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/Perf-Trace-Util
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/scripts/python/Perf-Trace-Util')
0 files changed, 0 insertions, 0 deletions
2784617f0f1fae5f96a7fac1ec4c49fadbe'>e5dd1278461
1da177e4c3f
7c71448b8aa
b8c5cec23d5
c6f7e72a3f4
b8c5cec23d5


d462943afee

b8c5cec23d5

d462943afee

b8c5cec23d5



1da177e4c3f

d462943afee











d462943afee
b8c5cec23d5
adf094931ff
1eede070a59
c6f7e72a3f4
1da177e4c3f

d462943afee

1da177e4c3f
d462943afee
1da177e4c3f
1da177e4c3f

d462943afee




1f9ffc049d7


1da177e4c3f
4a7fb6363f2
d462943afee

1da177e4c3f
99178b036c9


116af378201






















0fed80f7a63
b249072ee68
0fed80f7a63
1da177e4c3f
e5dd1278461

1da177e4c3f
e5dd1278461

1da177e4c3f
d462943afee




57c745340a6
e5dd1278461
adf094931ff
1eede070a59
e5dd1278461
1da177e4c3f


d462943afee

1da177e4c3f
d462943afee



d779249ed4c
b23530ebc33
216773a787c
1da177e4c3f
405ae7d3813
1da177e4c3f

d462943afee



1da177e4c3f

d462943afee


1da177e4c3f
d462943afee



1da177e4c3f
cbe9c595f1d



d462943afee







fae3cd00255
1da177e4c3f



d462943afee

1da177e4c3f
d462943afee
d462943afee
e105b8bfc76
1da177e4c3f
d462943afee
1da177e4c3f
d462943afee

7c8265f5107
d462943afee

1eede070a59
adf094931ff
7c71448b8aa
1da177e4c3f

5a3ceb86166




e105b8bfc76

d2a3b9146e4

d462943afee
d2a3b9146e4








5a3ceb86166






93562b53765

fd04897bb20
695794ae0c5

fd04897bb20
1da177e4c3f

d462943afee


1da177e4c3f

d462943afee

1da177e4c3f
d462943afee



1da177e4c3f
1da177e4c3f



c47ed219ba8

1da177e4c3f

4a7fb6363f2
1da177e4c3f

d2a3b9146e4


e9ba6365fd4
e9ba6365fd4
d2a3b9146e4







414264f959c








f9f852df2fa
414264f959c
621a1672f73
7eff2e7a8b6
f9f852df2fa
1eede070a59
adf094931ff
f9f852df2fa

a7fd67062ef








d462943afee

a7fd67062ef
4a7fb6363f2
d462943afee


2589f1887b0



523ded71de0
d462943afee
523ded71de0



9ac7849e35f





d462943afee
9ac7849e35f



d462943afee
9ac7849e35f


d462943afee
9ac7849e35f
d462943afee



9ac7849e35f













6b7b6510552








1da177e4c3f
49a4ec188f9
1da177e4c3f
fb069a5d132

1da177e4c3f
c906a48adc7
f9f852df2fa
1da177e4c3f
af70316af18



d462943afee
1da177e4c3f


e67c85626cd

1da177e4c3f

873481367ed


1da177e4c3f






6b7b6510552

1da177e4c3f



c6dbaef22a2

1da177e4c3f
929d2fa5955

9ac7849e35f


5a3ceb86166
b7a3e813fb8
de0ff00d723
23681e47912
d462943afee
1da177e4c3f

9a3df1f7de0


bf9ca69fc8d
06916639e2f
1fa5ae857bb
06916639e2f

413c239fad6


873481367ed


















7d1d8999b4b
1da177e4c3f



d462943afee
1da177e4c3f



f67f129e519









d305ef5d2a4

3f62e5700b2
d305ef5d2a4

1f21782e63d

1da177e4c3f


d462943afee








a2de48cace5
ffa6a7054d1

1da177e4c3f

0aa0dc41bfd










1da177e4c3f


f86db396ff4
d462943afee

f86db396ff4

1da177e4c3f
23681e47912


8882b39421b





4e10673944a


8882b39421b
23681e47912
1da177e4c3f
1da177e4c3f





d462943afee
1da177e4c3f
d462943afee
1da177e4c3f





d462943afee

1da177e4c3f
d4d5291c8cd
1da177e4c3f
116f232b379
1da177e4c3f

58b3b71dfaa


1da177e4c3f
bf9ca69fc8d
1da177e4c3f
d462943afee
06916639e2f
1da177e4c3f
7b8712e563d














d0d85ff9892


e9d376f0fa6
346e15beb53


1da177e4c3f
1429db83e27

1da177e4c3f

aebdc3b450a


1429db83e27


aebdc3b450a

e61396627f9







1da177e4c3f





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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606



                                                           
                                                              








                                                        

                          
                        
                       
                          
                           


                         
                            
                       
                       
 
                                  
 
              
                      
                     
                      
             
                     
                
                        


                                     

                                                                              

  

                                                                           



                                                                       

                 











                                                                       
                                          
 
                              
 
                                   

  

                                                           
 
                                                                 
 

                                




                                                                             


                                                            
 
                                                       

                                                                             
 


                                                                   






















                                                                               
                                                       
                                                                
 
                      

                                      
 

                                                                               
 




                                                                
                                        
 
                              
 
                                 


  

                                                                   
 



                                                                   
                                   
                                        
 
 
                                                     

                         



                                                                       

  


                                                         
 



                                                                          
 



                                                                  







                                                                                
 



                 

                                       
 
                                                     
                                                   
                                                  
 
                                                                           
 

                                                   
 

                                                               
 
                              
                                

  




                                              

                                            

                                                                     
                                                  








                                                                






                                                                       

                                                                           
                                                                            

                                                                         
                                                                               

                        


                                                                             

  

                                                                               
 



                                                                              
 



                                       

                                                                            

  
                                                                           

                                                                 


                                                                              
                                             
 







                                                                








                                                              
                    
                         
                                        
                                                                       
                                            
 
                              

  








                                                                           

                                                                              
 
                                                                 


                                                                           



                                                                           
                                                             
                                                                        



                                                                 





                                                                           
                                                                         



                                                    
                                                                        


                                                      
                                                                  
                                                             



                                                                    













                                                                              








                                                                     
               
                                        
 

                                   
                            
                                                                            
                                      
 



                                                                            
                                                                      


                                                                          

                                                                         

                                      


                                                                               






                                                                             

                                                



                                                                            

                                         
 

                                                                            


                                            
                                            
                                       
                                                                     
 
                                               

  


                                                            
                                                            
 
                                        

 


                                                                  


















                                                             
                                                             



                                
                                                                  



                                









                                                                            

                                                          
                                        

 

                       


                                                 








                                                                              
                                                             

                                                                     

  










                                                                   


                                                               
                                                               

                                                           

                                                                 
 


                                                             





                                                                


                                                                             
                                                                          
                                                          
 





                                                                    
                                                  
 
                                                         





                                                                        

                                                     
 
                                        
 
                                   

                                  


                                  
                                                       
                                                               
                                                 
                                                                  
                                      
 














                                                        


                                                      
                                   


                                                      
     

                                                                   

      


                               


                                                                   

      







                                                                       





                                                                             
/*
 * device.h - generic, centralized driver model
 *
 * Copyright (c) 2001-2003 Patrick Mochel <mochel@osdl.org>
 * Copyright (c) 2004-2007 Greg Kroah-Hartman <gregkh@suse.de>
 *
 * This file is released under the GPLv2
 *
 * See Documentation/driver-model/ for more information.
 */

#ifndef _DEVICE_H_
#define _DEVICE_H_

#include <linux/ioport.h>
#include <linux/kobject.h>
#include <linux/klist.h>
#include <linux/list.h>
#include <linux/lockdep.h>
#include <linux/compiler.h>
#include <linux/types.h>
#include <linux/module.h>
#include <linux/pm.h>
#include <linux/semaphore.h>
#include <asm/atomic.h>
#include <asm/device.h>

#define BUS_ID_SIZE		20

struct device;
struct device_private;
struct device_driver;
struct driver_private;
struct class;
struct class_private;
struct bus_type;
struct bus_type_private;

struct bus_attribute {
	struct attribute	attr;
	ssize_t (*show)(struct bus_type *bus, char *buf);
	ssize_t (*store)(struct bus_type *bus, const char *buf, size_t count);
};

#define BUS_ATTR(_name, _mode, _show, _store)	\
struct bus_attribute bus_attr_##_name = __ATTR(_name, _mode, _show, _store)

extern int __must_check bus_create_file(struct bus_type *,
					struct bus_attribute *);
extern void bus_remove_file(struct bus_type *, struct bus_attribute *);

struct bus_type {
	const char		*name;
	struct bus_attribute	*bus_attrs;
	struct device_attribute	*dev_attrs;
	struct driver_attribute	*drv_attrs;

	int (*match)(struct device *dev, struct device_driver *drv);
	int (*uevent)(struct device *dev, struct kobj_uevent_env *env);
	int (*probe)(struct device *dev);
	int (*remove)(struct device *dev);
	void (*shutdown)(struct device *dev);

	int (*suspend)(struct device *dev, pm_message_t state);
	int (*resume)(struct device *dev);

	struct dev_pm_ops *pm;

	struct bus_type_private *p;
};

extern int __must_check bus_register(struct bus_type *bus);
extern void bus_unregister(struct bus_type *bus);

extern int __must_check bus_rescan_devices(struct bus_type *bus);

/* iterator helpers for buses */

int bus_for_each_dev(struct bus_type *bus, struct device *start, void *data,
		     int (*fn)(struct device *dev, void *data));
struct device *bus_find_device(struct bus_type *bus, struct device *start,
			       void *data,
			       int (*match)(struct device *dev, void *data));
struct device *bus_find_device_by_name(struct bus_type *bus,
				       struct device *start,
				       const char *name);

int __must_check bus_for_each_drv(struct bus_type *bus,
				  struct device_driver *start, void *data,
				  int (*fn)(struct device_driver *, void *));

void bus_sort_breadthfirst(struct bus_type *bus,
			   int (*compare)(const struct device *a,
					  const struct device *b));
/*
 * Bus notifiers: Get notified of addition/removal of devices
 * and binding/unbinding of drivers to devices.
 * In the long run, it should be a replacement for the platform
 * notify hooks.
 */
struct notifier_block;

extern int bus_register_notifier(struct bus_type *bus,
				 struct notifier_block *nb);
extern int bus_unregister_notifier(struct bus_type *bus,
				   struct notifier_block *nb);

/* All 4 notifers below get called with the target struct device *
 * as an argument. Note that those functions are likely to be called
 * with the device semaphore held in the core, so be careful.
 */
#define BUS_NOTIFY_ADD_DEVICE		0x00000001 /* device added */
#define BUS_NOTIFY_DEL_DEVICE		0x00000002 /* device removed */
#define BUS_NOTIFY_BOUND_DRIVER		0x00000003 /* driver bound to device */
#define BUS_NOTIFY_UNBIND_DRIVER	0x00000004 /* driver about to be
						      unbound */

extern struct kset *bus_get_kset(struct bus_type *bus);
extern struct klist *bus_get_device_klist(struct bus_type *bus);

struct device_driver {
	const char		*name;
	struct bus_type		*bus;

	struct module		*owner;
	const char 		*mod_name;	/* used for built-in modules */

	int (*probe) (struct device *dev);
	int (*remove) (struct device *dev);
	void (*shutdown) (struct device *dev);
	int (*suspend) (struct device *dev, pm_message_t state);
	int (*resume) (struct device *dev);
	struct attribute_group **groups;

	struct dev_pm_ops *pm;

	struct driver_private *p;
};


extern int __must_check driver_register(struct device_driver *drv);
extern void driver_unregister(struct device_driver *drv);

extern struct device_driver *get_driver(struct device_driver *drv);
extern void put_driver(struct device_driver *drv);
extern struct device_driver *driver_find(const char *name,
					 struct bus_type *bus);
extern int driver_probe_done(void);
extern void wait_for_device_probe(void);


/* sysfs interface for exporting driver attributes */

struct driver_attribute {
	struct attribute attr;
	ssize_t (*show)(struct device_driver *driver, char *buf);
	ssize_t (*store)(struct device_driver *driver, const char *buf,
			 size_t count);
};

#define DRIVER_ATTR(_name, _mode, _show, _store)	\
struct driver_attribute driver_attr_##_name =		\
	__ATTR(_name, _mode, _show, _store)

extern int __must_check driver_create_file(struct device_driver *driver,
					   struct driver_attribute *attr);
extern void driver_remove_file(struct device_driver *driver,
			       struct driver_attribute *attr);

extern int __must_check driver_add_kobj(struct device_driver *drv,
					struct kobject *kobj,
					const char *fmt, ...);

extern int __must_check driver_for_each_device(struct device_driver *drv,
					       struct device *start,
					       void *data,
					       int (*fn)(struct device *dev,
							 void *));
struct device *driver_find_device(struct device_driver *drv,
				  struct device *start, void *data,
				  int (*match)(struct device *dev, void *data));

/*
 * device classes
 */
struct class {
	const char		*name;
	struct module		*owner;

	struct class_attribute		*class_attrs;
	struct device_attribute		*dev_attrs;
	struct kobject			*dev_kobj;

	int (*dev_uevent)(struct device *dev, struct kobj_uevent_env *env);

	void (*class_release)(struct class *class);
	void (*dev_release)(struct device *dev);

	int (*suspend)(struct device *dev, pm_message_t state);
	int (*resume)(struct device *dev);

	struct dev_pm_ops *pm;
	struct class_private *p;
};

struct class_dev_iter {
	struct klist_iter		ki;
	const struct device_type	*type;
};

extern struct kobject *sysfs_dev_block_kobj;
extern struct kobject *sysfs_dev_char_kobj;
extern int __must_check __class_register(struct class *class,
					 struct lock_class_key *key);
extern void class_unregister(struct class *class);

/* This is a #define to keep the compiler from merging different
 * instances of the __key variable */
#define class_register(class)			\
({						\
	static struct lock_class_key __key;	\
	__class_register(class, &__key);	\
})

extern void class_dev_iter_init(struct class_dev_iter *iter,
				struct class *class,
				struct device *start,
				const struct device_type *type);
extern struct device *class_dev_iter_next(struct class_dev_iter *iter);
extern void class_dev_iter_exit(struct class_dev_iter *iter);

extern int class_for_each_device(struct class *class, struct device *start,
				 void *data,
				 int (*fn)(struct device *dev, void *data));
extern struct device *class_find_device(struct class *class,
					struct device *start, void *data,
					int (*match)(struct device *, void *));

struct class_attribute {
	struct attribute attr;
	ssize_t (*show)(struct class *class, char *buf);
	ssize_t (*store)(struct class *class, const char *buf, size_t count);
};

#define CLASS_ATTR(_name, _mode, _show, _store)			\
struct class_attribute class_attr_##_name = __ATTR(_name, _mode, _show, _store)

extern int __must_check class_create_file(struct class *class,
					  const struct class_attribute *attr);
extern void class_remove_file(struct class *class,
			      const struct class_attribute *attr);

struct class_interface {
	struct list_head	node;
	struct class		*class;

	int (*add_dev)		(struct device *, struct class_interface *);
	void (*remove_dev)	(struct device *, struct class_interface *);
};

extern int __must_check class_interface_register(struct class_interface *);
extern void class_interface_unregister(struct class_interface *);

extern struct class * __must_check __class_create(struct module *owner,
						  const char *name,
						  struct lock_class_key *key);
extern void class_destroy(struct class *cls);

/* This is a #define to keep the compiler from merging different
 * instances of the __key variable */
#define class_create(owner, name)		\
({						\
	static struct lock_class_key __key;	\
	__class_create(owner, name, &__key);	\
})

/*
 * The type of device, "struct device" is embedded in. A class
 * or bus can contain devices of different types
 * like "partitions" and "disks", "mouse" and "event".
 * This identifies the device type and carries type-specific
 * information, equivalent to the kobj_type of a kobject.
 * If "name" is specified, the uevent will contain it in
 * the DEVTYPE variable.
 */
struct device_type {
	const char *name;
	struct attribute_group **groups;
	int (*uevent)(struct device *dev, struct kobj_uevent_env *env);
	void (*release)(struct device *dev);

	struct dev_pm_ops *pm;
};

/* interface for exporting device attributes */
struct device_attribute {
	struct attribute	attr;
	ssize_t (*show)(struct device *dev, struct device_attribute *attr,
			char *buf);
	ssize_t (*store)(struct device *dev, struct device_attribute *attr,
			 const char *buf, size_t count);
};

#define DEVICE_ATTR(_name, _mode, _show, _store) \
struct device_attribute dev_attr_##_name = __ATTR(_name, _mode, _show, _store)

extern int __must_check device_create_file(struct device *device,
					   struct device_attribute *entry);
extern void device_remove_file(struct device *dev,
			       struct device_attribute *attr);
extern int __must_check device_create_bin_file(struct device *dev,
					       struct bin_attribute *attr);
extern void device_remove_bin_file(struct device *dev,
				   struct bin_attribute *attr);
extern int device_schedule_callback_owner(struct device *dev,
		void (*func)(struct device *dev), struct module *owner);