1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 20 "include/asm-generic/int-ll64.h"
7typedef unsigned char __u8;
8#line 22 "include/asm-generic/int-ll64.h"
9typedef short __s16;
10#line 23 "include/asm-generic/int-ll64.h"
11typedef unsigned short __u16;
12#line 25 "include/asm-generic/int-ll64.h"
13typedef int __s32;
14#line 26 "include/asm-generic/int-ll64.h"
15typedef unsigned int __u32;
16#line 29 "include/asm-generic/int-ll64.h"
17typedef long long __s64;
18#line 30 "include/asm-generic/int-ll64.h"
19typedef unsigned long long __u64;
20#line 43 "include/asm-generic/int-ll64.h"
21typedef unsigned char u8;
22#line 45 "include/asm-generic/int-ll64.h"
23typedef short s16;
24#line 46 "include/asm-generic/int-ll64.h"
25typedef unsigned short u16;
26#line 48 "include/asm-generic/int-ll64.h"
27typedef int s32;
28#line 49 "include/asm-generic/int-ll64.h"
29typedef unsigned int u32;
30#line 51 "include/asm-generic/int-ll64.h"
31typedef long long s64;
32#line 52 "include/asm-generic/int-ll64.h"
33typedef unsigned long long u64;
34#line 14 "include/asm-generic/posix_types.h"
35typedef long __kernel_long_t;
36#line 15 "include/asm-generic/posix_types.h"
37typedef unsigned long __kernel_ulong_t;
38#line 31 "include/asm-generic/posix_types.h"
39typedef int __kernel_pid_t;
40#line 52 "include/asm-generic/posix_types.h"
41typedef unsigned int __kernel_uid32_t;
42#line 53 "include/asm-generic/posix_types.h"
43typedef unsigned int __kernel_gid32_t;
44#line 75 "include/asm-generic/posix_types.h"
45typedef __kernel_ulong_t __kernel_size_t;
46#line 76 "include/asm-generic/posix_types.h"
47typedef __kernel_long_t __kernel_ssize_t;
48#line 91 "include/asm-generic/posix_types.h"
49typedef long long __kernel_loff_t;
50#line 92 "include/asm-generic/posix_types.h"
51typedef __kernel_long_t __kernel_time_t;
52#line 93 "include/asm-generic/posix_types.h"
53typedef __kernel_long_t __kernel_clock_t;
54#line 94 "include/asm-generic/posix_types.h"
55typedef int __kernel_timer_t;
56#line 95 "include/asm-generic/posix_types.h"
57typedef int __kernel_clockid_t;
58#line 21 "include/linux/types.h"
59typedef __u32 __kernel_dev_t;
60#line 24 "include/linux/types.h"
61typedef __kernel_dev_t dev_t;
62#line 27 "include/linux/types.h"
63typedef unsigned short umode_t;
64#line 30 "include/linux/types.h"
65typedef __kernel_pid_t pid_t;
66#line 35 "include/linux/types.h"
67typedef __kernel_clockid_t clockid_t;
68#line 38 "include/linux/types.h"
69typedef _Bool bool;
70#line 40 "include/linux/types.h"
71typedef __kernel_uid32_t uid_t;
72#line 41 "include/linux/types.h"
73typedef __kernel_gid32_t gid_t;
74#line 54 "include/linux/types.h"
75typedef __kernel_loff_t loff_t;
76#line 63 "include/linux/types.h"
77typedef __kernel_size_t size_t;
78#line 68 "include/linux/types.h"
79typedef __kernel_ssize_t ssize_t;
80#line 78 "include/linux/types.h"
81typedef __kernel_time_t time_t;
82#line 111 "include/linux/types.h"
83typedef __s32 int32_t;
84#line 117 "include/linux/types.h"
85typedef __u32 uint32_t;
86#line 142 "include/linux/types.h"
87typedef unsigned long sector_t;
88#line 143 "include/linux/types.h"
89typedef unsigned long blkcnt_t;
90#line 202 "include/linux/types.h"
91typedef unsigned int gfp_t;
92#line 203 "include/linux/types.h"
93typedef unsigned int fmode_t;
94#line 219 "include/linux/types.h"
95struct __anonstruct_atomic_t_7 {
96 int counter ;
97};
98#line 219 "include/linux/types.h"
99typedef struct __anonstruct_atomic_t_7 atomic_t;
100#line 224 "include/linux/types.h"
101struct __anonstruct_atomic64_t_8 {
102 long counter ;
103};
104#line 224 "include/linux/types.h"
105typedef struct __anonstruct_atomic64_t_8 atomic64_t;
106#line 229 "include/linux/types.h"
107struct list_head {
108 struct list_head *next ;
109 struct list_head *prev ;
110};
111#line 233
112struct hlist_node;
113#line 233 "include/linux/types.h"
114struct hlist_head {
115 struct hlist_node *first ;
116};
117#line 237 "include/linux/types.h"
118struct hlist_node {
119 struct hlist_node *next ;
120 struct hlist_node **pprev ;
121};
122#line 253 "include/linux/types.h"
123struct rcu_head {
124 struct rcu_head *next ;
125 void (*func)(struct rcu_head *head ) ;
126};
127#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
128struct module;
129#line 56
130struct module;
131#line 146 "include/linux/init.h"
132typedef void (*ctor_fn_t)(void);
133#line 9 "include/linux/dynamic_debug.h"
134struct _ddebug {
135 char const *modname ;
136 char const *function ;
137 char const *filename ;
138 char const *format ;
139 unsigned int lineno : 18 ;
140 unsigned int flags : 8 ;
141} __attribute__((__aligned__(8))) ;
142#line 47
143struct device;
144#line 47
145struct device;
146#line 135 "include/linux/kernel.h"
147struct completion;
148#line 135
149struct completion;
150#line 136
151struct pt_regs;
152#line 136
153struct pt_regs;
154#line 349
155struct pid;
156#line 349
157struct pid;
158#line 12 "include/linux/thread_info.h"
159struct timespec;
160#line 12
161struct timespec;
162#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
163struct page;
164#line 18
165struct page;
166#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
167struct task_struct;
168#line 20
169struct task_struct;
170#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
171struct task_struct;
172#line 8
173struct mm_struct;
174#line 8
175struct mm_struct;
176#line 99 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
177struct pt_regs {
178 unsigned long r15 ;
179 unsigned long r14 ;
180 unsigned long r13 ;
181 unsigned long r12 ;
182 unsigned long bp ;
183 unsigned long bx ;
184 unsigned long r11 ;
185 unsigned long r10 ;
186 unsigned long r9 ;
187 unsigned long r8 ;
188 unsigned long ax ;
189 unsigned long cx ;
190 unsigned long dx ;
191 unsigned long si ;
192 unsigned long di ;
193 unsigned long orig_ax ;
194 unsigned long ip ;
195 unsigned long cs ;
196 unsigned long flags ;
197 unsigned long sp ;
198 unsigned long ss ;
199};
200#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
201struct __anonstruct____missing_field_name_15 {
202 unsigned int a ;
203 unsigned int b ;
204};
205#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
206struct __anonstruct____missing_field_name_16 {
207 u16 limit0 ;
208 u16 base0 ;
209 unsigned int base1 : 8 ;
210 unsigned int type : 4 ;
211 unsigned int s : 1 ;
212 unsigned int dpl : 2 ;
213 unsigned int p : 1 ;
214 unsigned int limit : 4 ;
215 unsigned int avl : 1 ;
216 unsigned int l : 1 ;
217 unsigned int d : 1 ;
218 unsigned int g : 1 ;
219 unsigned int base2 : 8 ;
220};
221#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
222union __anonunion____missing_field_name_14 {
223 struct __anonstruct____missing_field_name_15 __annonCompField5 ;
224 struct __anonstruct____missing_field_name_16 __annonCompField6 ;
225};
226#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
227struct desc_struct {
228 union __anonunion____missing_field_name_14 __annonCompField7 ;
229} __attribute__((__packed__)) ;
230#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
231typedef unsigned long pgdval_t;
232#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
233typedef unsigned long pgprotval_t;
234#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
235struct pgprot {
236 pgprotval_t pgprot ;
237};
238#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
239typedef struct pgprot pgprot_t;
240#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
241struct __anonstruct_pgd_t_20 {
242 pgdval_t pgd ;
243};
244#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
245typedef struct __anonstruct_pgd_t_20 pgd_t;
246#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
247typedef struct page *pgtable_t;
248#line 295
249struct file;
250#line 295
251struct file;
252#line 313
253struct seq_file;
254#line 313
255struct seq_file;
256#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
257struct page;
258#line 47
259struct thread_struct;
260#line 47
261struct thread_struct;
262#line 50
263struct mm_struct;
264#line 51
265struct desc_struct;
266#line 52
267struct task_struct;
268#line 53
269struct cpumask;
270#line 53
271struct cpumask;
272#line 329
273struct arch_spinlock;
274#line 329
275struct arch_spinlock;
276#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
277struct task_struct;
278#line 141 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
279struct kernel_vm86_regs {
280 struct pt_regs pt ;
281 unsigned short es ;
282 unsigned short __esh ;
283 unsigned short ds ;
284 unsigned short __dsh ;
285 unsigned short fs ;
286 unsigned short __fsh ;
287 unsigned short gs ;
288 unsigned short __gsh ;
289};
290#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
291union __anonunion____missing_field_name_24 {
292 struct pt_regs *regs ;
293 struct kernel_vm86_regs *vm86 ;
294};
295#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
296struct math_emu_info {
297 long ___orig_eip ;
298 union __anonunion____missing_field_name_24 __annonCompField8 ;
299};
300#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
301struct task_struct;
302#line 10 "include/asm-generic/bug.h"
303struct bug_entry {
304 int bug_addr_disp ;
305 int file_disp ;
306 unsigned short line ;
307 unsigned short flags ;
308};
309#line 12 "include/linux/bug.h"
310struct pt_regs;
311#line 14 "include/linux/cpumask.h"
312struct cpumask {
313 unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
314};
315#line 14 "include/linux/cpumask.h"
316typedef struct cpumask cpumask_t;
317#line 637 "include/linux/cpumask.h"
318typedef struct cpumask *cpumask_var_t;
319#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
320struct static_key;
321#line 234
322struct static_key;
323#line 11 "include/linux/personality.h"
324struct pt_regs;
325#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
326struct i387_fsave_struct {
327 u32 cwd ;
328 u32 swd ;
329 u32 twd ;
330 u32 fip ;
331 u32 fcs ;
332 u32 foo ;
333 u32 fos ;
334 u32 st_space[20] ;
335 u32 status ;
336};
337#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
338struct __anonstruct____missing_field_name_31 {
339 u64 rip ;
340 u64 rdp ;
341};
342#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
343struct __anonstruct____missing_field_name_32 {
344 u32 fip ;
345 u32 fcs ;
346 u32 foo ;
347 u32 fos ;
348};
349#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
350union __anonunion____missing_field_name_30 {
351 struct __anonstruct____missing_field_name_31 __annonCompField12 ;
352 struct __anonstruct____missing_field_name_32 __annonCompField13 ;
353};
354#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
355union __anonunion____missing_field_name_33 {
356 u32 padding1[12] ;
357 u32 sw_reserved[12] ;
358};
359#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
360struct i387_fxsave_struct {
361 u16 cwd ;
362 u16 swd ;
363 u16 twd ;
364 u16 fop ;
365 union __anonunion____missing_field_name_30 __annonCompField14 ;
366 u32 mxcsr ;
367 u32 mxcsr_mask ;
368 u32 st_space[32] ;
369 u32 xmm_space[64] ;
370 u32 padding[12] ;
371 union __anonunion____missing_field_name_33 __annonCompField15 ;
372} __attribute__((__aligned__(16))) ;
373#line 341 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
374struct i387_soft_struct {
375 u32 cwd ;
376 u32 swd ;
377 u32 twd ;
378 u32 fip ;
379 u32 fcs ;
380 u32 foo ;
381 u32 fos ;
382 u32 st_space[20] ;
383 u8 ftop ;
384 u8 changed ;
385 u8 lookahead ;
386 u8 no_update ;
387 u8 rm ;
388 u8 alimit ;
389 struct math_emu_info *info ;
390 u32 entry_eip ;
391};
392#line 361 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
393struct ymmh_struct {
394 u32 ymmh_space[64] ;
395};
396#line 366 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
397struct xsave_hdr_struct {
398 u64 xstate_bv ;
399 u64 reserved1[2] ;
400 u64 reserved2[5] ;
401} __attribute__((__packed__)) ;
402#line 372 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
403struct xsave_struct {
404 struct i387_fxsave_struct i387 ;
405 struct xsave_hdr_struct xsave_hdr ;
406 struct ymmh_struct ymmh ;
407} __attribute__((__packed__, __aligned__(64))) ;
408#line 379 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
409union thread_xstate {
410 struct i387_fsave_struct fsave ;
411 struct i387_fxsave_struct fxsave ;
412 struct i387_soft_struct soft ;
413 struct xsave_struct xsave ;
414};
415#line 386 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
416struct fpu {
417 unsigned int last_cpu ;
418 unsigned int has_fpu ;
419 union thread_xstate *state ;
420};
421#line 433
422struct kmem_cache;
423#line 435
424struct perf_event;
425#line 435
426struct perf_event;
427#line 437 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
428struct thread_struct {
429 struct desc_struct tls_array[3] ;
430 unsigned long sp0 ;
431 unsigned long sp ;
432 unsigned long usersp ;
433 unsigned short es ;
434 unsigned short ds ;
435 unsigned short fsindex ;
436 unsigned short gsindex ;
437 unsigned long fs ;
438 unsigned long gs ;
439 struct perf_event *ptrace_bps[4] ;
440 unsigned long debugreg6 ;
441 unsigned long ptrace_dr7 ;
442 unsigned long cr2 ;
443 unsigned long trap_nr ;
444 unsigned long error_code ;
445 struct fpu fpu ;
446 unsigned long *io_bitmap_ptr ;
447 unsigned long iopl ;
448 unsigned int io_bitmap_max ;
449};
450#line 23 "include/asm-generic/atomic-long.h"
451typedef atomic64_t atomic_long_t;
452#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
453typedef u16 __ticket_t;
454#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
455typedef u32 __ticketpair_t;
456#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
457struct __raw_tickets {
458 __ticket_t head ;
459 __ticket_t tail ;
460};
461#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
462union __anonunion____missing_field_name_36 {
463 __ticketpair_t head_tail ;
464 struct __raw_tickets tickets ;
465};
466#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
467struct arch_spinlock {
468 union __anonunion____missing_field_name_36 __annonCompField17 ;
469};
470#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
471typedef struct arch_spinlock arch_spinlock_t;
472#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
473struct __anonstruct____missing_field_name_38 {
474 u32 read ;
475 s32 write ;
476};
477#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
478union __anonunion_arch_rwlock_t_37 {
479 s64 lock ;
480 struct __anonstruct____missing_field_name_38 __annonCompField18 ;
481};
482#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
483typedef union __anonunion_arch_rwlock_t_37 arch_rwlock_t;
484#line 12 "include/linux/lockdep.h"
485struct task_struct;
486#line 391 "include/linux/lockdep.h"
487struct lock_class_key {
488
489};
490#line 20 "include/linux/spinlock_types.h"
491struct raw_spinlock {
492 arch_spinlock_t raw_lock ;
493 unsigned int magic ;
494 unsigned int owner_cpu ;
495 void *owner ;
496};
497#line 20 "include/linux/spinlock_types.h"
498typedef struct raw_spinlock raw_spinlock_t;
499#line 64 "include/linux/spinlock_types.h"
500union __anonunion____missing_field_name_39 {
501 struct raw_spinlock rlock ;
502};
503#line 64 "include/linux/spinlock_types.h"
504struct spinlock {
505 union __anonunion____missing_field_name_39 __annonCompField19 ;
506};
507#line 64 "include/linux/spinlock_types.h"
508typedef struct spinlock spinlock_t;
509#line 11 "include/linux/rwlock_types.h"
510struct __anonstruct_rwlock_t_40 {
511 arch_rwlock_t raw_lock ;
512 unsigned int magic ;
513 unsigned int owner_cpu ;
514 void *owner ;
515};
516#line 11 "include/linux/rwlock_types.h"
517typedef struct __anonstruct_rwlock_t_40 rwlock_t;
518#line 119 "include/linux/seqlock.h"
519struct seqcount {
520 unsigned int sequence ;
521};
522#line 119 "include/linux/seqlock.h"
523typedef struct seqcount seqcount_t;
524#line 14 "include/linux/time.h"
525struct timespec {
526 __kernel_time_t tv_sec ;
527 long tv_nsec ;
528};
529#line 62 "include/linux/stat.h"
530struct kstat {
531 u64 ino ;
532 dev_t dev ;
533 umode_t mode ;
534 unsigned int nlink ;
535 uid_t uid ;
536 gid_t gid ;
537 dev_t rdev ;
538 loff_t size ;
539 struct timespec atime ;
540 struct timespec mtime ;
541 struct timespec ctime ;
542 unsigned long blksize ;
543 unsigned long long blocks ;
544};
545#line 49 "include/linux/wait.h"
546struct __wait_queue_head {
547 spinlock_t lock ;
548 struct list_head task_list ;
549};
550#line 53 "include/linux/wait.h"
551typedef struct __wait_queue_head wait_queue_head_t;
552#line 55
553struct task_struct;
554#line 98 "include/linux/nodemask.h"
555struct __anonstruct_nodemask_t_42 {
556 unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
557};
558#line 98 "include/linux/nodemask.h"
559typedef struct __anonstruct_nodemask_t_42 nodemask_t;
560#line 60 "include/linux/pageblock-flags.h"
561struct page;
562#line 48 "include/linux/mutex.h"
563struct mutex {
564 atomic_t count ;
565 spinlock_t wait_lock ;
566 struct list_head wait_list ;
567 struct task_struct *owner ;
568 char const *name ;
569 void *magic ;
570};
571#line 69 "include/linux/mutex.h"
572struct mutex_waiter {
573 struct list_head list ;
574 struct task_struct *task ;
575 void *magic ;
576};
577#line 19 "include/linux/rwsem.h"
578struct rw_semaphore;
579#line 19
580struct rw_semaphore;
581#line 25 "include/linux/rwsem.h"
582struct rw_semaphore {
583 long count ;
584 raw_spinlock_t wait_lock ;
585 struct list_head wait_list ;
586};
587#line 25 "include/linux/completion.h"
588struct completion {
589 unsigned int done ;
590 wait_queue_head_t wait ;
591};
592#line 9 "include/linux/memory_hotplug.h"
593struct page;
594#line 202 "include/linux/ioport.h"
595struct device;
596#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
597struct device;
598#line 46 "include/linux/ktime.h"
599union ktime {
600 s64 tv64 ;
601};
602#line 59 "include/linux/ktime.h"
603typedef union ktime ktime_t;
604#line 10 "include/linux/timer.h"
605struct tvec_base;
606#line 10
607struct tvec_base;
608#line 12 "include/linux/timer.h"
609struct timer_list {
610 struct list_head entry ;
611 unsigned long expires ;
612 struct tvec_base *base ;
613 void (*function)(unsigned long ) ;
614 unsigned long data ;
615 int slack ;
616 int start_pid ;
617 void *start_site ;
618 char start_comm[16] ;
619};
620#line 289
621struct hrtimer;
622#line 289
623struct hrtimer;
624#line 290
625enum hrtimer_restart;
626#line 17 "include/linux/workqueue.h"
627struct work_struct;
628#line 17
629struct work_struct;
630#line 79 "include/linux/workqueue.h"
631struct work_struct {
632 atomic_long_t data ;
633 struct list_head entry ;
634 void (*func)(struct work_struct *work ) ;
635};
636#line 92 "include/linux/workqueue.h"
637struct delayed_work {
638 struct work_struct work ;
639 struct timer_list timer ;
640};
641#line 42 "include/linux/pm.h"
642struct device;
643#line 50 "include/linux/pm.h"
644struct pm_message {
645 int event ;
646};
647#line 50 "include/linux/pm.h"
648typedef struct pm_message pm_message_t;
649#line 264 "include/linux/pm.h"
650struct dev_pm_ops {
651 int (*prepare)(struct device *dev ) ;
652 void (*complete)(struct device *dev ) ;
653 int (*suspend)(struct device *dev ) ;
654 int (*resume)(struct device *dev ) ;
655 int (*freeze)(struct device *dev ) ;
656 int (*thaw)(struct device *dev ) ;
657 int (*poweroff)(struct device *dev ) ;
658 int (*restore)(struct device *dev ) ;
659 int (*suspend_late)(struct device *dev ) ;
660 int (*resume_early)(struct device *dev ) ;
661 int (*freeze_late)(struct device *dev ) ;
662 int (*thaw_early)(struct device *dev ) ;
663 int (*poweroff_late)(struct device *dev ) ;
664 int (*restore_early)(struct device *dev ) ;
665 int (*suspend_noirq)(struct device *dev ) ;
666 int (*resume_noirq)(struct device *dev ) ;
667 int (*freeze_noirq)(struct device *dev ) ;
668 int (*thaw_noirq)(struct device *dev ) ;
669 int (*poweroff_noirq)(struct device *dev ) ;
670 int (*restore_noirq)(struct device *dev ) ;
671 int (*runtime_suspend)(struct device *dev ) ;
672 int (*runtime_resume)(struct device *dev ) ;
673 int (*runtime_idle)(struct device *dev ) ;
674};
675#line 458
676enum rpm_status {
677 RPM_ACTIVE = 0,
678 RPM_RESUMING = 1,
679 RPM_SUSPENDED = 2,
680 RPM_SUSPENDING = 3
681} ;
682#line 480
683enum rpm_request {
684 RPM_REQ_NONE = 0,
685 RPM_REQ_IDLE = 1,
686 RPM_REQ_SUSPEND = 2,
687 RPM_REQ_AUTOSUSPEND = 3,
688 RPM_REQ_RESUME = 4
689} ;
690#line 488
691struct wakeup_source;
692#line 488
693struct wakeup_source;
694#line 495 "include/linux/pm.h"
695struct pm_subsys_data {
696 spinlock_t lock ;
697 unsigned int refcount ;
698};
699#line 506
700struct dev_pm_qos_request;
701#line 506
702struct pm_qos_constraints;
703#line 506 "include/linux/pm.h"
704struct dev_pm_info {
705 pm_message_t power_state ;
706 unsigned int can_wakeup : 1 ;
707 unsigned int async_suspend : 1 ;
708 bool is_prepared : 1 ;
709 bool is_suspended : 1 ;
710 bool ignore_children : 1 ;
711 spinlock_t lock ;
712 struct list_head entry ;
713 struct completion completion ;
714 struct wakeup_source *wakeup ;
715 bool wakeup_path : 1 ;
716 struct timer_list suspend_timer ;
717 unsigned long timer_expires ;
718 struct work_struct work ;
719 wait_queue_head_t wait_queue ;
720 atomic_t usage_count ;
721 atomic_t child_count ;
722 unsigned int disable_depth : 3 ;
723 unsigned int idle_notification : 1 ;
724 unsigned int request_pending : 1 ;
725 unsigned int deferred_resume : 1 ;
726 unsigned int run_wake : 1 ;
727 unsigned int runtime_auto : 1 ;
728 unsigned int no_callbacks : 1 ;
729 unsigned int irq_safe : 1 ;
730 unsigned int use_autosuspend : 1 ;
731 unsigned int timer_autosuspends : 1 ;
732 enum rpm_request request ;
733 enum rpm_status runtime_status ;
734 int runtime_error ;
735 int autosuspend_delay ;
736 unsigned long last_busy ;
737 unsigned long active_jiffies ;
738 unsigned long suspended_jiffies ;
739 unsigned long accounting_timestamp ;
740 ktime_t suspend_time ;
741 s64 max_time_suspended_ns ;
742 struct dev_pm_qos_request *pq_req ;
743 struct pm_subsys_data *subsys_data ;
744 struct pm_qos_constraints *constraints ;
745};
746#line 564 "include/linux/pm.h"
747struct dev_pm_domain {
748 struct dev_pm_ops ops ;
749};
750#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
751struct __anonstruct_mm_context_t_112 {
752 void *ldt ;
753 int size ;
754 unsigned short ia32_compat ;
755 struct mutex lock ;
756 void *vdso ;
757};
758#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
759typedef struct __anonstruct_mm_context_t_112 mm_context_t;
760#line 8 "include/linux/vmalloc.h"
761struct vm_area_struct;
762#line 8
763struct vm_area_struct;
764#line 994 "include/linux/mmzone.h"
765struct page;
766#line 10 "include/linux/gfp.h"
767struct vm_area_struct;
768#line 29 "include/linux/sysctl.h"
769struct completion;
770#line 100 "include/linux/rbtree.h"
771struct rb_node {
772 unsigned long rb_parent_color ;
773 struct rb_node *rb_right ;
774 struct rb_node *rb_left ;
775} __attribute__((__aligned__(sizeof(long )))) ;
776#line 110 "include/linux/rbtree.h"
777struct rb_root {
778 struct rb_node *rb_node ;
779};
780#line 939 "include/linux/sysctl.h"
781struct nsproxy;
782#line 939
783struct nsproxy;
784#line 48 "include/linux/kmod.h"
785struct cred;
786#line 48
787struct cred;
788#line 49
789struct file;
790#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
791struct task_struct;
792#line 18 "include/linux/elf.h"
793typedef __u64 Elf64_Addr;
794#line 19 "include/linux/elf.h"
795typedef __u16 Elf64_Half;
796#line 23 "include/linux/elf.h"
797typedef __u32 Elf64_Word;
798#line 24 "include/linux/elf.h"
799typedef __u64 Elf64_Xword;
800#line 194 "include/linux/elf.h"
801struct elf64_sym {
802 Elf64_Word st_name ;
803 unsigned char st_info ;
804 unsigned char st_other ;
805 Elf64_Half st_shndx ;
806 Elf64_Addr st_value ;
807 Elf64_Xword st_size ;
808};
809#line 194 "include/linux/elf.h"
810typedef struct elf64_sym Elf64_Sym;
811#line 438
812struct file;
813#line 20 "include/linux/kobject_ns.h"
814struct sock;
815#line 20
816struct sock;
817#line 21
818struct kobject;
819#line 21
820struct kobject;
821#line 27
822enum kobj_ns_type {
823 KOBJ_NS_TYPE_NONE = 0,
824 KOBJ_NS_TYPE_NET = 1,
825 KOBJ_NS_TYPES = 2
826} ;
827#line 40 "include/linux/kobject_ns.h"
828struct kobj_ns_type_operations {
829 enum kobj_ns_type type ;
830 void *(*grab_current_ns)(void) ;
831 void const *(*netlink_ns)(struct sock *sk ) ;
832 void const *(*initial_ns)(void) ;
833 void (*drop_ns)(void * ) ;
834};
835#line 22 "include/linux/sysfs.h"
836struct kobject;
837#line 23
838struct module;
839#line 24
840enum kobj_ns_type;
841#line 26 "include/linux/sysfs.h"
842struct attribute {
843 char const *name ;
844 umode_t mode ;
845};
846#line 56 "include/linux/sysfs.h"
847struct attribute_group {
848 char const *name ;
849 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
850 struct attribute **attrs ;
851};
852#line 85
853struct file;
854#line 86
855struct vm_area_struct;
856#line 88 "include/linux/sysfs.h"
857struct bin_attribute {
858 struct attribute attr ;
859 size_t size ;
860 void *private ;
861 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
862 loff_t , size_t ) ;
863 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
864 loff_t , size_t ) ;
865 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
866};
867#line 112 "include/linux/sysfs.h"
868struct sysfs_ops {
869 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
870 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
871 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
872};
873#line 118
874struct sysfs_dirent;
875#line 118
876struct sysfs_dirent;
877#line 22 "include/linux/kref.h"
878struct kref {
879 atomic_t refcount ;
880};
881#line 60 "include/linux/kobject.h"
882struct kset;
883#line 60
884struct kobj_type;
885#line 60 "include/linux/kobject.h"
886struct kobject {
887 char const *name ;
888 struct list_head entry ;
889 struct kobject *parent ;
890 struct kset *kset ;
891 struct kobj_type *ktype ;
892 struct sysfs_dirent *sd ;
893 struct kref kref ;
894 unsigned int state_initialized : 1 ;
895 unsigned int state_in_sysfs : 1 ;
896 unsigned int state_add_uevent_sent : 1 ;
897 unsigned int state_remove_uevent_sent : 1 ;
898 unsigned int uevent_suppress : 1 ;
899};
900#line 108 "include/linux/kobject.h"
901struct kobj_type {
902 void (*release)(struct kobject *kobj ) ;
903 struct sysfs_ops const *sysfs_ops ;
904 struct attribute **default_attrs ;
905 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
906 void const *(*namespace)(struct kobject *kobj ) ;
907};
908#line 116 "include/linux/kobject.h"
909struct kobj_uevent_env {
910 char *envp[32] ;
911 int envp_idx ;
912 char buf[2048] ;
913 int buflen ;
914};
915#line 123 "include/linux/kobject.h"
916struct kset_uevent_ops {
917 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
918 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
919 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
920};
921#line 140
922struct sock;
923#line 159 "include/linux/kobject.h"
924struct kset {
925 struct list_head list ;
926 spinlock_t list_lock ;
927 struct kobject kobj ;
928 struct kset_uevent_ops const *uevent_ops ;
929};
930#line 39 "include/linux/moduleparam.h"
931struct kernel_param;
932#line 39
933struct kernel_param;
934#line 41 "include/linux/moduleparam.h"
935struct kernel_param_ops {
936 int (*set)(char const *val , struct kernel_param const *kp ) ;
937 int (*get)(char *buffer , struct kernel_param const *kp ) ;
938 void (*free)(void *arg ) ;
939};
940#line 50
941struct kparam_string;
942#line 50
943struct kparam_array;
944#line 50 "include/linux/moduleparam.h"
945union __anonunion____missing_field_name_199 {
946 void *arg ;
947 struct kparam_string const *str ;
948 struct kparam_array const *arr ;
949};
950#line 50 "include/linux/moduleparam.h"
951struct kernel_param {
952 char const *name ;
953 struct kernel_param_ops const *ops ;
954 u16 perm ;
955 s16 level ;
956 union __anonunion____missing_field_name_199 __annonCompField32 ;
957};
958#line 63 "include/linux/moduleparam.h"
959struct kparam_string {
960 unsigned int maxlen ;
961 char *string ;
962};
963#line 69 "include/linux/moduleparam.h"
964struct kparam_array {
965 unsigned int max ;
966 unsigned int elemsize ;
967 unsigned int *num ;
968 struct kernel_param_ops const *ops ;
969 void *elem ;
970};
971#line 445
972struct module;
973#line 80 "include/linux/jump_label.h"
974struct module;
975#line 143 "include/linux/jump_label.h"
976struct static_key {
977 atomic_t enabled ;
978};
979#line 22 "include/linux/tracepoint.h"
980struct module;
981#line 23
982struct tracepoint;
983#line 23
984struct tracepoint;
985#line 25 "include/linux/tracepoint.h"
986struct tracepoint_func {
987 void *func ;
988 void *data ;
989};
990#line 30 "include/linux/tracepoint.h"
991struct tracepoint {
992 char const *name ;
993 struct static_key key ;
994 void (*regfunc)(void) ;
995 void (*unregfunc)(void) ;
996 struct tracepoint_func *funcs ;
997};
998#line 19 "include/linux/export.h"
999struct kernel_symbol {
1000 unsigned long value ;
1001 char const *name ;
1002};
1003#line 8 "include/asm-generic/module.h"
1004struct mod_arch_specific {
1005
1006};
1007#line 35 "include/linux/module.h"
1008struct module;
1009#line 37
1010struct module_param_attrs;
1011#line 37 "include/linux/module.h"
1012struct module_kobject {
1013 struct kobject kobj ;
1014 struct module *mod ;
1015 struct kobject *drivers_dir ;
1016 struct module_param_attrs *mp ;
1017};
1018#line 44 "include/linux/module.h"
1019struct module_attribute {
1020 struct attribute attr ;
1021 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1022 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
1023 size_t count ) ;
1024 void (*setup)(struct module * , char const * ) ;
1025 int (*test)(struct module * ) ;
1026 void (*free)(struct module * ) ;
1027};
1028#line 71
1029struct exception_table_entry;
1030#line 71
1031struct exception_table_entry;
1032#line 199
1033enum module_state {
1034 MODULE_STATE_LIVE = 0,
1035 MODULE_STATE_COMING = 1,
1036 MODULE_STATE_GOING = 2
1037} ;
1038#line 215 "include/linux/module.h"
1039struct module_ref {
1040 unsigned long incs ;
1041 unsigned long decs ;
1042} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
1043#line 220
1044struct module_sect_attrs;
1045#line 220
1046struct module_notes_attrs;
1047#line 220
1048struct ftrace_event_call;
1049#line 220 "include/linux/module.h"
1050struct module {
1051 enum module_state state ;
1052 struct list_head list ;
1053 char name[64UL - sizeof(unsigned long )] ;
1054 struct module_kobject mkobj ;
1055 struct module_attribute *modinfo_attrs ;
1056 char const *version ;
1057 char const *srcversion ;
1058 struct kobject *holders_dir ;
1059 struct kernel_symbol const *syms ;
1060 unsigned long const *crcs ;
1061 unsigned int num_syms ;
1062 struct kernel_param *kp ;
1063 unsigned int num_kp ;
1064 unsigned int num_gpl_syms ;
1065 struct kernel_symbol const *gpl_syms ;
1066 unsigned long const *gpl_crcs ;
1067 struct kernel_symbol const *unused_syms ;
1068 unsigned long const *unused_crcs ;
1069 unsigned int num_unused_syms ;
1070 unsigned int num_unused_gpl_syms ;
1071 struct kernel_symbol const *unused_gpl_syms ;
1072 unsigned long const *unused_gpl_crcs ;
1073 struct kernel_symbol const *gpl_future_syms ;
1074 unsigned long const *gpl_future_crcs ;
1075 unsigned int num_gpl_future_syms ;
1076 unsigned int num_exentries ;
1077 struct exception_table_entry *extable ;
1078 int (*init)(void) ;
1079 void *module_init ;
1080 void *module_core ;
1081 unsigned int init_size ;
1082 unsigned int core_size ;
1083 unsigned int init_text_size ;
1084 unsigned int core_text_size ;
1085 unsigned int init_ro_size ;
1086 unsigned int core_ro_size ;
1087 struct mod_arch_specific arch ;
1088 unsigned int taints ;
1089 unsigned int num_bugs ;
1090 struct list_head bug_list ;
1091 struct bug_entry *bug_table ;
1092 Elf64_Sym *symtab ;
1093 Elf64_Sym *core_symtab ;
1094 unsigned int num_symtab ;
1095 unsigned int core_num_syms ;
1096 char *strtab ;
1097 char *core_strtab ;
1098 struct module_sect_attrs *sect_attrs ;
1099 struct module_notes_attrs *notes_attrs ;
1100 char *args ;
1101 void *percpu ;
1102 unsigned int percpu_size ;
1103 unsigned int num_tracepoints ;
1104 struct tracepoint * const *tracepoints_ptrs ;
1105 unsigned int num_trace_bprintk_fmt ;
1106 char const **trace_bprintk_fmt_start ;
1107 struct ftrace_event_call **trace_events ;
1108 unsigned int num_trace_events ;
1109 struct list_head source_list ;
1110 struct list_head target_list ;
1111 struct task_struct *waiter ;
1112 void (*exit)(void) ;
1113 struct module_ref *refptr ;
1114 ctor_fn_t *ctors ;
1115 unsigned int num_ctors ;
1116};
1117#line 10 "include/linux/irqreturn.h"
1118enum irqreturn {
1119 IRQ_NONE = 0,
1120 IRQ_HANDLED = 1,
1121 IRQ_WAKE_THREAD = 2
1122} ;
1123#line 16 "include/linux/irqreturn.h"
1124typedef enum irqreturn irqreturn_t;
1125#line 31 "include/linux/irq.h"
1126struct seq_file;
1127#line 32
1128struct module;
1129#line 12 "include/linux/irqdesc.h"
1130struct proc_dir_entry;
1131#line 12
1132struct proc_dir_entry;
1133#line 14
1134struct module;
1135#line 16 "include/linux/profile.h"
1136struct proc_dir_entry;
1137#line 17
1138struct pt_regs;
1139#line 65
1140struct task_struct;
1141#line 66
1142struct mm_struct;
1143#line 88
1144struct pt_regs;
1145#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
1146struct exception_table_entry {
1147 unsigned long insn ;
1148 unsigned long fixup ;
1149};
1150#line 132 "include/linux/hardirq.h"
1151struct task_struct;
1152#line 8 "include/linux/timerqueue.h"
1153struct timerqueue_node {
1154 struct rb_node node ;
1155 ktime_t expires ;
1156};
1157#line 13 "include/linux/timerqueue.h"
1158struct timerqueue_head {
1159 struct rb_root head ;
1160 struct timerqueue_node *next ;
1161};
1162#line 27 "include/linux/hrtimer.h"
1163struct hrtimer_clock_base;
1164#line 27
1165struct hrtimer_clock_base;
1166#line 28
1167struct hrtimer_cpu_base;
1168#line 28
1169struct hrtimer_cpu_base;
1170#line 44
1171enum hrtimer_restart {
1172 HRTIMER_NORESTART = 0,
1173 HRTIMER_RESTART = 1
1174} ;
1175#line 108 "include/linux/hrtimer.h"
1176struct hrtimer {
1177 struct timerqueue_node node ;
1178 ktime_t _softexpires ;
1179 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1180 struct hrtimer_clock_base *base ;
1181 unsigned long state ;
1182 int start_pid ;
1183 void *start_site ;
1184 char start_comm[16] ;
1185};
1186#line 145 "include/linux/hrtimer.h"
1187struct hrtimer_clock_base {
1188 struct hrtimer_cpu_base *cpu_base ;
1189 int index ;
1190 clockid_t clockid ;
1191 struct timerqueue_head active ;
1192 ktime_t resolution ;
1193 ktime_t (*get_time)(void) ;
1194 ktime_t softirq_time ;
1195 ktime_t offset ;
1196};
1197#line 178 "include/linux/hrtimer.h"
1198struct hrtimer_cpu_base {
1199 raw_spinlock_t lock ;
1200 unsigned long active_bases ;
1201 ktime_t expires_next ;
1202 int hres_active ;
1203 int hang_detected ;
1204 unsigned long nr_events ;
1205 unsigned long nr_retries ;
1206 unsigned long nr_hangs ;
1207 ktime_t max_hang_time ;
1208 struct hrtimer_clock_base clock_base[3] ;
1209};
1210#line 187 "include/linux/interrupt.h"
1211struct device;
1212#line 695
1213struct seq_file;
1214#line 19 "include/linux/klist.h"
1215struct klist_node;
1216#line 19
1217struct klist_node;
1218#line 39 "include/linux/klist.h"
1219struct klist_node {
1220 void *n_klist ;
1221 struct list_head n_node ;
1222 struct kref n_ref ;
1223};
1224#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1225struct dma_map_ops;
1226#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1227struct dev_archdata {
1228 void *acpi_handle ;
1229 struct dma_map_ops *dma_ops ;
1230 void *iommu ;
1231};
1232#line 28 "include/linux/device.h"
1233struct device;
1234#line 29
1235struct device_private;
1236#line 29
1237struct device_private;
1238#line 30
1239struct device_driver;
1240#line 30
1241struct device_driver;
1242#line 31
1243struct driver_private;
1244#line 31
1245struct driver_private;
1246#line 32
1247struct module;
1248#line 33
1249struct class;
1250#line 33
1251struct class;
1252#line 34
1253struct subsys_private;
1254#line 34
1255struct subsys_private;
1256#line 35
1257struct bus_type;
1258#line 35
1259struct bus_type;
1260#line 36
1261struct device_node;
1262#line 36
1263struct device_node;
1264#line 37
1265struct iommu_ops;
1266#line 37
1267struct iommu_ops;
1268#line 39 "include/linux/device.h"
1269struct bus_attribute {
1270 struct attribute attr ;
1271 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1272 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
1273};
1274#line 89
1275struct device_attribute;
1276#line 89
1277struct driver_attribute;
1278#line 89 "include/linux/device.h"
1279struct bus_type {
1280 char const *name ;
1281 char const *dev_name ;
1282 struct device *dev_root ;
1283 struct bus_attribute *bus_attrs ;
1284 struct device_attribute *dev_attrs ;
1285 struct driver_attribute *drv_attrs ;
1286 int (*match)(struct device *dev , struct device_driver *drv ) ;
1287 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1288 int (*probe)(struct device *dev ) ;
1289 int (*remove)(struct device *dev ) ;
1290 void (*shutdown)(struct device *dev ) ;
1291 int (*suspend)(struct device *dev , pm_message_t state ) ;
1292 int (*resume)(struct device *dev ) ;
1293 struct dev_pm_ops const *pm ;
1294 struct iommu_ops *iommu_ops ;
1295 struct subsys_private *p ;
1296};
1297#line 127
1298struct device_type;
1299#line 214
1300struct of_device_id;
1301#line 214 "include/linux/device.h"
1302struct device_driver {
1303 char const *name ;
1304 struct bus_type *bus ;
1305 struct module *owner ;
1306 char const *mod_name ;
1307 bool suppress_bind_attrs ;
1308 struct of_device_id const *of_match_table ;
1309 int (*probe)(struct device *dev ) ;
1310 int (*remove)(struct device *dev ) ;
1311 void (*shutdown)(struct device *dev ) ;
1312 int (*suspend)(struct device *dev , pm_message_t state ) ;
1313 int (*resume)(struct device *dev ) ;
1314 struct attribute_group const **groups ;
1315 struct dev_pm_ops const *pm ;
1316 struct driver_private *p ;
1317};
1318#line 249 "include/linux/device.h"
1319struct driver_attribute {
1320 struct attribute attr ;
1321 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
1322 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
1323};
1324#line 330
1325struct class_attribute;
1326#line 330 "include/linux/device.h"
1327struct class {
1328 char const *name ;
1329 struct module *owner ;
1330 struct class_attribute *class_attrs ;
1331 struct device_attribute *dev_attrs ;
1332 struct bin_attribute *dev_bin_attrs ;
1333 struct kobject *dev_kobj ;
1334 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1335 char *(*devnode)(struct device *dev , umode_t *mode ) ;
1336 void (*class_release)(struct class *class ) ;
1337 void (*dev_release)(struct device *dev ) ;
1338 int (*suspend)(struct device *dev , pm_message_t state ) ;
1339 int (*resume)(struct device *dev ) ;
1340 struct kobj_ns_type_operations const *ns_type ;
1341 void const *(*namespace)(struct device *dev ) ;
1342 struct dev_pm_ops const *pm ;
1343 struct subsys_private *p ;
1344};
1345#line 397 "include/linux/device.h"
1346struct class_attribute {
1347 struct attribute attr ;
1348 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
1349 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
1350 size_t count ) ;
1351 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
1352};
1353#line 465 "include/linux/device.h"
1354struct device_type {
1355 char const *name ;
1356 struct attribute_group const **groups ;
1357 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1358 char *(*devnode)(struct device *dev , umode_t *mode ) ;
1359 void (*release)(struct device *dev ) ;
1360 struct dev_pm_ops const *pm ;
1361};
1362#line 476 "include/linux/device.h"
1363struct device_attribute {
1364 struct attribute attr ;
1365 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
1366 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
1367 size_t count ) ;
1368};
1369#line 559 "include/linux/device.h"
1370struct device_dma_parameters {
1371 unsigned int max_segment_size ;
1372 unsigned long segment_boundary_mask ;
1373};
1374#line 627
1375struct dma_coherent_mem;
1376#line 627 "include/linux/device.h"
1377struct device {
1378 struct device *parent ;
1379 struct device_private *p ;
1380 struct kobject kobj ;
1381 char const *init_name ;
1382 struct device_type const *type ;
1383 struct mutex mutex ;
1384 struct bus_type *bus ;
1385 struct device_driver *driver ;
1386 void *platform_data ;
1387 struct dev_pm_info power ;
1388 struct dev_pm_domain *pm_domain ;
1389 int numa_node ;
1390 u64 *dma_mask ;
1391 u64 coherent_dma_mask ;
1392 struct device_dma_parameters *dma_parms ;
1393 struct list_head dma_pools ;
1394 struct dma_coherent_mem *dma_mem ;
1395 struct dev_archdata archdata ;
1396 struct device_node *of_node ;
1397 dev_t devt ;
1398 u32 id ;
1399 spinlock_t devres_lock ;
1400 struct list_head devres_head ;
1401 struct klist_node knode_class ;
1402 struct class *class ;
1403 struct attribute_group const **groups ;
1404 void (*release)(struct device *dev ) ;
1405};
1406#line 43 "include/linux/pm_wakeup.h"
1407struct wakeup_source {
1408 char const *name ;
1409 struct list_head entry ;
1410 spinlock_t lock ;
1411 struct timer_list timer ;
1412 unsigned long timer_expires ;
1413 ktime_t total_time ;
1414 ktime_t max_time ;
1415 ktime_t last_time ;
1416 unsigned long event_count ;
1417 unsigned long active_count ;
1418 unsigned long relax_count ;
1419 unsigned long hit_count ;
1420 unsigned int active : 1 ;
1421};
1422#line 12 "include/linux/mod_devicetable.h"
1423typedef unsigned long kernel_ulong_t;
1424#line 219 "include/linux/mod_devicetable.h"
1425struct of_device_id {
1426 char name[32] ;
1427 char type[32] ;
1428 char compatible[128] ;
1429 void *data ;
1430};
1431#line 312 "include/linux/mod_devicetable.h"
1432struct input_device_id {
1433 kernel_ulong_t flags ;
1434 __u16 bustype ;
1435 __u16 vendor ;
1436 __u16 product ;
1437 __u16 version ;
1438 kernel_ulong_t evbit[1] ;
1439 kernel_ulong_t keybit[12] ;
1440 kernel_ulong_t relbit[1] ;
1441 kernel_ulong_t absbit[1] ;
1442 kernel_ulong_t mscbit[1] ;
1443 kernel_ulong_t ledbit[1] ;
1444 kernel_ulong_t sndbit[1] ;
1445 kernel_ulong_t ffbit[2] ;
1446 kernel_ulong_t swbit[1] ;
1447 kernel_ulong_t driver_info ;
1448};
1449#line 431 "include/linux/mod_devicetable.h"
1450struct i2c_device_id {
1451 char name[20] ;
1452 kernel_ulong_t driver_data __attribute__((__aligned__(sizeof(kernel_ulong_t )))) ;
1453};
1454#line 18 "include/linux/capability.h"
1455struct task_struct;
1456#line 94 "include/linux/capability.h"
1457struct kernel_cap_struct {
1458 __u32 cap[2] ;
1459};
1460#line 94 "include/linux/capability.h"
1461typedef struct kernel_cap_struct kernel_cap_t;
1462#line 377
1463struct dentry;
1464#line 377
1465struct dentry;
1466#line 378
1467struct user_namespace;
1468#line 378
1469struct user_namespace;
1470#line 14 "include/linux/prio_tree.h"
1471struct prio_tree_node;
1472#line 14 "include/linux/prio_tree.h"
1473struct raw_prio_tree_node {
1474 struct prio_tree_node *left ;
1475 struct prio_tree_node *right ;
1476 struct prio_tree_node *parent ;
1477};
1478#line 20 "include/linux/prio_tree.h"
1479struct prio_tree_node {
1480 struct prio_tree_node *left ;
1481 struct prio_tree_node *right ;
1482 struct prio_tree_node *parent ;
1483 unsigned long start ;
1484 unsigned long last ;
1485};
1486#line 28 "include/linux/prio_tree.h"
1487struct prio_tree_root {
1488 struct prio_tree_node *prio_tree_node ;
1489 unsigned short index_bits ;
1490 unsigned short raw ;
1491};
1492#line 23 "include/linux/mm_types.h"
1493struct address_space;
1494#line 23
1495struct address_space;
1496#line 40 "include/linux/mm_types.h"
1497union __anonunion____missing_field_name_212 {
1498 unsigned long index ;
1499 void *freelist ;
1500};
1501#line 40 "include/linux/mm_types.h"
1502struct __anonstruct____missing_field_name_216 {
1503 unsigned int inuse : 16 ;
1504 unsigned int objects : 15 ;
1505 unsigned int frozen : 1 ;
1506};
1507#line 40 "include/linux/mm_types.h"
1508union __anonunion____missing_field_name_215 {
1509 atomic_t _mapcount ;
1510 struct __anonstruct____missing_field_name_216 __annonCompField34 ;
1511};
1512#line 40 "include/linux/mm_types.h"
1513struct __anonstruct____missing_field_name_214 {
1514 union __anonunion____missing_field_name_215 __annonCompField35 ;
1515 atomic_t _count ;
1516};
1517#line 40 "include/linux/mm_types.h"
1518union __anonunion____missing_field_name_213 {
1519 unsigned long counters ;
1520 struct __anonstruct____missing_field_name_214 __annonCompField36 ;
1521};
1522#line 40 "include/linux/mm_types.h"
1523struct __anonstruct____missing_field_name_211 {
1524 union __anonunion____missing_field_name_212 __annonCompField33 ;
1525 union __anonunion____missing_field_name_213 __annonCompField37 ;
1526};
1527#line 40 "include/linux/mm_types.h"
1528struct __anonstruct____missing_field_name_218 {
1529 struct page *next ;
1530 int pages ;
1531 int pobjects ;
1532};
1533#line 40 "include/linux/mm_types.h"
1534union __anonunion____missing_field_name_217 {
1535 struct list_head lru ;
1536 struct __anonstruct____missing_field_name_218 __annonCompField39 ;
1537};
1538#line 40 "include/linux/mm_types.h"
1539union __anonunion____missing_field_name_219 {
1540 unsigned long private ;
1541 struct kmem_cache *slab ;
1542 struct page *first_page ;
1543};
1544#line 40 "include/linux/mm_types.h"
1545struct page {
1546 unsigned long flags ;
1547 struct address_space *mapping ;
1548 struct __anonstruct____missing_field_name_211 __annonCompField38 ;
1549 union __anonunion____missing_field_name_217 __annonCompField40 ;
1550 union __anonunion____missing_field_name_219 __annonCompField41 ;
1551 unsigned long debug_flags ;
1552} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
1553#line 200 "include/linux/mm_types.h"
1554struct __anonstruct_vm_set_221 {
1555 struct list_head list ;
1556 void *parent ;
1557 struct vm_area_struct *head ;
1558};
1559#line 200 "include/linux/mm_types.h"
1560union __anonunion_shared_220 {
1561 struct __anonstruct_vm_set_221 vm_set ;
1562 struct raw_prio_tree_node prio_tree_node ;
1563};
1564#line 200
1565struct anon_vma;
1566#line 200
1567struct vm_operations_struct;
1568#line 200
1569struct mempolicy;
1570#line 200 "include/linux/mm_types.h"
1571struct vm_area_struct {
1572 struct mm_struct *vm_mm ;
1573 unsigned long vm_start ;
1574 unsigned long vm_end ;
1575 struct vm_area_struct *vm_next ;
1576 struct vm_area_struct *vm_prev ;
1577 pgprot_t vm_page_prot ;
1578 unsigned long vm_flags ;
1579 struct rb_node vm_rb ;
1580 union __anonunion_shared_220 shared ;
1581 struct list_head anon_vma_chain ;
1582 struct anon_vma *anon_vma ;
1583 struct vm_operations_struct const *vm_ops ;
1584 unsigned long vm_pgoff ;
1585 struct file *vm_file ;
1586 void *vm_private_data ;
1587 struct mempolicy *vm_policy ;
1588};
1589#line 257 "include/linux/mm_types.h"
1590struct core_thread {
1591 struct task_struct *task ;
1592 struct core_thread *next ;
1593};
1594#line 262 "include/linux/mm_types.h"
1595struct core_state {
1596 atomic_t nr_threads ;
1597 struct core_thread dumper ;
1598 struct completion startup ;
1599};
1600#line 284 "include/linux/mm_types.h"
1601struct mm_rss_stat {
1602 atomic_long_t count[3] ;
1603};
1604#line 288
1605struct linux_binfmt;
1606#line 288
1607struct mmu_notifier_mm;
1608#line 288 "include/linux/mm_types.h"
1609struct mm_struct {
1610 struct vm_area_struct *mmap ;
1611 struct rb_root mm_rb ;
1612 struct vm_area_struct *mmap_cache ;
1613 unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1614 unsigned long pgoff , unsigned long flags ) ;
1615 void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1616 unsigned long mmap_base ;
1617 unsigned long task_size ;
1618 unsigned long cached_hole_size ;
1619 unsigned long free_area_cache ;
1620 pgd_t *pgd ;
1621 atomic_t mm_users ;
1622 atomic_t mm_count ;
1623 int map_count ;
1624 spinlock_t page_table_lock ;
1625 struct rw_semaphore mmap_sem ;
1626 struct list_head mmlist ;
1627 unsigned long hiwater_rss ;
1628 unsigned long hiwater_vm ;
1629 unsigned long total_vm ;
1630 unsigned long locked_vm ;
1631 unsigned long pinned_vm ;
1632 unsigned long shared_vm ;
1633 unsigned long exec_vm ;
1634 unsigned long stack_vm ;
1635 unsigned long reserved_vm ;
1636 unsigned long def_flags ;
1637 unsigned long nr_ptes ;
1638 unsigned long start_code ;
1639 unsigned long end_code ;
1640 unsigned long start_data ;
1641 unsigned long end_data ;
1642 unsigned long start_brk ;
1643 unsigned long brk ;
1644 unsigned long start_stack ;
1645 unsigned long arg_start ;
1646 unsigned long arg_end ;
1647 unsigned long env_start ;
1648 unsigned long env_end ;
1649 unsigned long saved_auxv[44] ;
1650 struct mm_rss_stat rss_stat ;
1651 struct linux_binfmt *binfmt ;
1652 cpumask_var_t cpu_vm_mask_var ;
1653 mm_context_t context ;
1654 unsigned int faultstamp ;
1655 unsigned int token_priority ;
1656 unsigned int last_interval ;
1657 unsigned long flags ;
1658 struct core_state *core_state ;
1659 spinlock_t ioctx_lock ;
1660 struct hlist_head ioctx_list ;
1661 struct task_struct *owner ;
1662 struct file *exe_file ;
1663 unsigned long num_exe_file_vmas ;
1664 struct mmu_notifier_mm *mmu_notifier_mm ;
1665 pgtable_t pmd_huge_pte ;
1666 struct cpumask cpumask_allocation ;
1667};
1668#line 7 "include/asm-generic/cputime.h"
1669typedef unsigned long cputime_t;
1670#line 84 "include/linux/sem.h"
1671struct task_struct;
1672#line 101
1673struct sem_undo_list;
1674#line 101 "include/linux/sem.h"
1675struct sysv_sem {
1676 struct sem_undo_list *undo_list ;
1677};
1678#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1679struct siginfo;
1680#line 10
1681struct siginfo;
1682#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1683struct __anonstruct_sigset_t_223 {
1684 unsigned long sig[1] ;
1685};
1686#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1687typedef struct __anonstruct_sigset_t_223 sigset_t;
1688#line 17 "include/asm-generic/signal-defs.h"
1689typedef void __signalfn_t(int );
1690#line 18 "include/asm-generic/signal-defs.h"
1691typedef __signalfn_t *__sighandler_t;
1692#line 20 "include/asm-generic/signal-defs.h"
1693typedef void __restorefn_t(void);
1694#line 21 "include/asm-generic/signal-defs.h"
1695typedef __restorefn_t *__sigrestore_t;
1696#line 167 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1697struct sigaction {
1698 __sighandler_t sa_handler ;
1699 unsigned long sa_flags ;
1700 __sigrestore_t sa_restorer ;
1701 sigset_t sa_mask ;
1702};
1703#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1704struct k_sigaction {
1705 struct sigaction sa ;
1706};
1707#line 7 "include/asm-generic/siginfo.h"
1708union sigval {
1709 int sival_int ;
1710 void *sival_ptr ;
1711};
1712#line 7 "include/asm-generic/siginfo.h"
1713typedef union sigval sigval_t;
1714#line 48 "include/asm-generic/siginfo.h"
1715struct __anonstruct__kill_225 {
1716 __kernel_pid_t _pid ;
1717 __kernel_uid32_t _uid ;
1718};
1719#line 48 "include/asm-generic/siginfo.h"
1720struct __anonstruct__timer_226 {
1721 __kernel_timer_t _tid ;
1722 int _overrun ;
1723 char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
1724 sigval_t _sigval ;
1725 int _sys_private ;
1726};
1727#line 48 "include/asm-generic/siginfo.h"
1728struct __anonstruct__rt_227 {
1729 __kernel_pid_t _pid ;
1730 __kernel_uid32_t _uid ;
1731 sigval_t _sigval ;
1732};
1733#line 48 "include/asm-generic/siginfo.h"
1734struct __anonstruct__sigchld_228 {
1735 __kernel_pid_t _pid ;
1736 __kernel_uid32_t _uid ;
1737 int _status ;
1738 __kernel_clock_t _utime ;
1739 __kernel_clock_t _stime ;
1740};
1741#line 48 "include/asm-generic/siginfo.h"
1742struct __anonstruct__sigfault_229 {
1743 void *_addr ;
1744 short _addr_lsb ;
1745};
1746#line 48 "include/asm-generic/siginfo.h"
1747struct __anonstruct__sigpoll_230 {
1748 long _band ;
1749 int _fd ;
1750};
1751#line 48 "include/asm-generic/siginfo.h"
1752union __anonunion__sifields_224 {
1753 int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
1754 struct __anonstruct__kill_225 _kill ;
1755 struct __anonstruct__timer_226 _timer ;
1756 struct __anonstruct__rt_227 _rt ;
1757 struct __anonstruct__sigchld_228 _sigchld ;
1758 struct __anonstruct__sigfault_229 _sigfault ;
1759 struct __anonstruct__sigpoll_230 _sigpoll ;
1760};
1761#line 48 "include/asm-generic/siginfo.h"
1762struct siginfo {
1763 int si_signo ;
1764 int si_errno ;
1765 int si_code ;
1766 union __anonunion__sifields_224 _sifields ;
1767};
1768#line 48 "include/asm-generic/siginfo.h"
1769typedef struct siginfo siginfo_t;
1770#line 288
1771struct siginfo;
1772#line 10 "include/linux/signal.h"
1773struct task_struct;
1774#line 18
1775struct user_struct;
1776#line 28 "include/linux/signal.h"
1777struct sigpending {
1778 struct list_head list ;
1779 sigset_t signal ;
1780};
1781#line 239
1782struct timespec;
1783#line 240
1784struct pt_regs;
1785#line 6 "include/linux/pid.h"
1786enum pid_type {
1787 PIDTYPE_PID = 0,
1788 PIDTYPE_PGID = 1,
1789 PIDTYPE_SID = 2,
1790 PIDTYPE_MAX = 3
1791} ;
1792#line 50
1793struct pid_namespace;
1794#line 50 "include/linux/pid.h"
1795struct upid {
1796 int nr ;
1797 struct pid_namespace *ns ;
1798 struct hlist_node pid_chain ;
1799};
1800#line 57 "include/linux/pid.h"
1801struct pid {
1802 atomic_t count ;
1803 unsigned int level ;
1804 struct hlist_head tasks[3] ;
1805 struct rcu_head rcu ;
1806 struct upid numbers[1] ;
1807};
1808#line 69 "include/linux/pid.h"
1809struct pid_link {
1810 struct hlist_node node ;
1811 struct pid *pid ;
1812};
1813#line 100
1814struct pid_namespace;
1815#line 10 "include/linux/seccomp.h"
1816struct __anonstruct_seccomp_t_233 {
1817 int mode ;
1818};
1819#line 10 "include/linux/seccomp.h"
1820typedef struct __anonstruct_seccomp_t_233 seccomp_t;
1821#line 81 "include/linux/plist.h"
1822struct plist_head {
1823 struct list_head node_list ;
1824};
1825#line 85 "include/linux/plist.h"
1826struct plist_node {
1827 int prio ;
1828 struct list_head prio_list ;
1829 struct list_head node_list ;
1830};
1831#line 28 "include/linux/rtmutex.h"
1832struct rt_mutex {
1833 raw_spinlock_t wait_lock ;
1834 struct plist_head wait_list ;
1835 struct task_struct *owner ;
1836 int save_state ;
1837 char const *name ;
1838 char const *file ;
1839 int line ;
1840 void *magic ;
1841};
1842#line 40
1843struct rt_mutex_waiter;
1844#line 40
1845struct rt_mutex_waiter;
1846#line 42 "include/linux/resource.h"
1847struct rlimit {
1848 unsigned long rlim_cur ;
1849 unsigned long rlim_max ;
1850};
1851#line 81
1852struct task_struct;
1853#line 11 "include/linux/task_io_accounting.h"
1854struct task_io_accounting {
1855 u64 rchar ;
1856 u64 wchar ;
1857 u64 syscr ;
1858 u64 syscw ;
1859 u64 read_bytes ;
1860 u64 write_bytes ;
1861 u64 cancelled_write_bytes ;
1862};
1863#line 13 "include/linux/latencytop.h"
1864struct task_struct;
1865#line 20 "include/linux/latencytop.h"
1866struct latency_record {
1867 unsigned long backtrace[12] ;
1868 unsigned int count ;
1869 unsigned long time ;
1870 unsigned long max ;
1871};
1872#line 29 "include/linux/key.h"
1873typedef int32_t key_serial_t;
1874#line 32 "include/linux/key.h"
1875typedef uint32_t key_perm_t;
1876#line 34
1877struct key;
1878#line 34
1879struct key;
1880#line 74
1881struct seq_file;
1882#line 75
1883struct user_struct;
1884#line 76
1885struct signal_struct;
1886#line 76
1887struct signal_struct;
1888#line 77
1889struct cred;
1890#line 79
1891struct key_type;
1892#line 79
1893struct key_type;
1894#line 81
1895struct keyring_list;
1896#line 81
1897struct keyring_list;
1898#line 124
1899struct key_user;
1900#line 124 "include/linux/key.h"
1901union __anonunion____missing_field_name_234 {
1902 time_t expiry ;
1903 time_t revoked_at ;
1904};
1905#line 124 "include/linux/key.h"
1906union __anonunion_type_data_235 {
1907 struct list_head link ;
1908 unsigned long x[2] ;
1909 void *p[2] ;
1910 int reject_error ;
1911};
1912#line 124 "include/linux/key.h"
1913union __anonunion_payload_236 {
1914 unsigned long value ;
1915 void *rcudata ;
1916 void *data ;
1917 struct keyring_list *subscriptions ;
1918};
1919#line 124 "include/linux/key.h"
1920struct key {
1921 atomic_t usage ;
1922 key_serial_t serial ;
1923 struct rb_node serial_node ;
1924 struct key_type *type ;
1925 struct rw_semaphore sem ;
1926 struct key_user *user ;
1927 void *security ;
1928 union __anonunion____missing_field_name_234 __annonCompField42 ;
1929 uid_t uid ;
1930 gid_t gid ;
1931 key_perm_t perm ;
1932 unsigned short quotalen ;
1933 unsigned short datalen ;
1934 unsigned long flags ;
1935 char *description ;
1936 union __anonunion_type_data_235 type_data ;
1937 union __anonunion_payload_236 payload ;
1938};
1939#line 18 "include/linux/selinux.h"
1940struct audit_context;
1941#line 18
1942struct audit_context;
1943#line 21 "include/linux/cred.h"
1944struct user_struct;
1945#line 22
1946struct cred;
1947#line 23
1948struct inode;
1949#line 23
1950struct inode;
1951#line 31 "include/linux/cred.h"
1952struct group_info {
1953 atomic_t usage ;
1954 int ngroups ;
1955 int nblocks ;
1956 gid_t small_block[32] ;
1957 gid_t *blocks[0] ;
1958};
1959#line 83 "include/linux/cred.h"
1960struct thread_group_cred {
1961 atomic_t usage ;
1962 pid_t tgid ;
1963 spinlock_t lock ;
1964 struct key *session_keyring ;
1965 struct key *process_keyring ;
1966 struct rcu_head rcu ;
1967};
1968#line 116 "include/linux/cred.h"
1969struct cred {
1970 atomic_t usage ;
1971 atomic_t subscribers ;
1972 void *put_addr ;
1973 unsigned int magic ;
1974 uid_t uid ;
1975 gid_t gid ;
1976 uid_t suid ;
1977 gid_t sgid ;
1978 uid_t euid ;
1979 gid_t egid ;
1980 uid_t fsuid ;
1981 gid_t fsgid ;
1982 unsigned int securebits ;
1983 kernel_cap_t cap_inheritable ;
1984 kernel_cap_t cap_permitted ;
1985 kernel_cap_t cap_effective ;
1986 kernel_cap_t cap_bset ;
1987 unsigned char jit_keyring ;
1988 struct key *thread_keyring ;
1989 struct key *request_key_auth ;
1990 struct thread_group_cred *tgcred ;
1991 void *security ;
1992 struct user_struct *user ;
1993 struct user_namespace *user_ns ;
1994 struct group_info *group_info ;
1995 struct rcu_head rcu ;
1996};
1997#line 61 "include/linux/llist.h"
1998struct llist_node;
1999#line 65 "include/linux/llist.h"
2000struct llist_node {
2001 struct llist_node *next ;
2002};
2003#line 97 "include/linux/sched.h"
2004struct futex_pi_state;
2005#line 97
2006struct futex_pi_state;
2007#line 98
2008struct robust_list_head;
2009#line 98
2010struct robust_list_head;
2011#line 99
2012struct bio_list;
2013#line 99
2014struct bio_list;
2015#line 100
2016struct fs_struct;
2017#line 100
2018struct fs_struct;
2019#line 101
2020struct perf_event_context;
2021#line 101
2022struct perf_event_context;
2023#line 102
2024struct blk_plug;
2025#line 102
2026struct blk_plug;
2027#line 150
2028struct seq_file;
2029#line 151
2030struct cfs_rq;
2031#line 151
2032struct cfs_rq;
2033#line 259
2034struct task_struct;
2035#line 366
2036struct nsproxy;
2037#line 367
2038struct user_namespace;
2039#line 58 "include/linux/aio_abi.h"
2040struct io_event {
2041 __u64 data ;
2042 __u64 obj ;
2043 __s64 res ;
2044 __s64 res2 ;
2045};
2046#line 16 "include/linux/uio.h"
2047struct iovec {
2048 void *iov_base ;
2049 __kernel_size_t iov_len ;
2050};
2051#line 15 "include/linux/aio.h"
2052struct kioctx;
2053#line 15
2054struct kioctx;
2055#line 87 "include/linux/aio.h"
2056union __anonunion_ki_obj_238 {
2057 void *user ;
2058 struct task_struct *tsk ;
2059};
2060#line 87
2061struct eventfd_ctx;
2062#line 87 "include/linux/aio.h"
2063struct kiocb {
2064 struct list_head ki_run_list ;
2065 unsigned long ki_flags ;
2066 int ki_users ;
2067 unsigned int ki_key ;
2068 struct file *ki_filp ;
2069 struct kioctx *ki_ctx ;
2070 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
2071 ssize_t (*ki_retry)(struct kiocb * ) ;
2072 void (*ki_dtor)(struct kiocb * ) ;
2073 union __anonunion_ki_obj_238 ki_obj ;
2074 __u64 ki_user_data ;
2075 loff_t ki_pos ;
2076 void *private ;
2077 unsigned short ki_opcode ;
2078 size_t ki_nbytes ;
2079 char *ki_buf ;
2080 size_t ki_left ;
2081 struct iovec ki_inline_vec ;
2082 struct iovec *ki_iovec ;
2083 unsigned long ki_nr_segs ;
2084 unsigned long ki_cur_seg ;
2085 struct list_head ki_list ;
2086 struct list_head ki_batch ;
2087 struct eventfd_ctx *ki_eventfd ;
2088};
2089#line 166 "include/linux/aio.h"
2090struct aio_ring_info {
2091 unsigned long mmap_base ;
2092 unsigned long mmap_size ;
2093 struct page **ring_pages ;
2094 spinlock_t ring_lock ;
2095 long nr_pages ;
2096 unsigned int nr ;
2097 unsigned int tail ;
2098 struct page *internal_pages[8] ;
2099};
2100#line 179 "include/linux/aio.h"
2101struct kioctx {
2102 atomic_t users ;
2103 int dead ;
2104 struct mm_struct *mm ;
2105 unsigned long user_id ;
2106 struct hlist_node list ;
2107 wait_queue_head_t wait ;
2108 spinlock_t ctx_lock ;
2109 int reqs_active ;
2110 struct list_head active_reqs ;
2111 struct list_head run_list ;
2112 unsigned int max_reqs ;
2113 struct aio_ring_info ring_info ;
2114 struct delayed_work wq ;
2115 struct rcu_head rcu_head ;
2116};
2117#line 214
2118struct mm_struct;
2119#line 443 "include/linux/sched.h"
2120struct sighand_struct {
2121 atomic_t count ;
2122 struct k_sigaction action[64] ;
2123 spinlock_t siglock ;
2124 wait_queue_head_t signalfd_wqh ;
2125};
2126#line 450 "include/linux/sched.h"
2127struct pacct_struct {
2128 int ac_flag ;
2129 long ac_exitcode ;
2130 unsigned long ac_mem ;
2131 cputime_t ac_utime ;
2132 cputime_t ac_stime ;
2133 unsigned long ac_minflt ;
2134 unsigned long ac_majflt ;
2135};
2136#line 458 "include/linux/sched.h"
2137struct cpu_itimer {
2138 cputime_t expires ;
2139 cputime_t incr ;
2140 u32 error ;
2141 u32 incr_error ;
2142};
2143#line 476 "include/linux/sched.h"
2144struct task_cputime {
2145 cputime_t utime ;
2146 cputime_t stime ;
2147 unsigned long long sum_exec_runtime ;
2148};
2149#line 512 "include/linux/sched.h"
2150struct thread_group_cputimer {
2151 struct task_cputime cputime ;
2152 int running ;
2153 raw_spinlock_t lock ;
2154};
2155#line 519
2156struct autogroup;
2157#line 519
2158struct autogroup;
2159#line 528
2160struct tty_struct;
2161#line 528
2162struct taskstats;
2163#line 528
2164struct tty_audit_buf;
2165#line 528 "include/linux/sched.h"
2166struct signal_struct {
2167 atomic_t sigcnt ;
2168 atomic_t live ;
2169 int nr_threads ;
2170 wait_queue_head_t wait_chldexit ;
2171 struct task_struct *curr_target ;
2172 struct sigpending shared_pending ;
2173 int group_exit_code ;
2174 int notify_count ;
2175 struct task_struct *group_exit_task ;
2176 int group_stop_count ;
2177 unsigned int flags ;
2178 unsigned int is_child_subreaper : 1 ;
2179 unsigned int has_child_subreaper : 1 ;
2180 struct list_head posix_timers ;
2181 struct hrtimer real_timer ;
2182 struct pid *leader_pid ;
2183 ktime_t it_real_incr ;
2184 struct cpu_itimer it[2] ;
2185 struct thread_group_cputimer cputimer ;
2186 struct task_cputime cputime_expires ;
2187 struct list_head cpu_timers[3] ;
2188 struct pid *tty_old_pgrp ;
2189 int leader ;
2190 struct tty_struct *tty ;
2191 struct autogroup *autogroup ;
2192 cputime_t utime ;
2193 cputime_t stime ;
2194 cputime_t cutime ;
2195 cputime_t cstime ;
2196 cputime_t gtime ;
2197 cputime_t cgtime ;
2198 cputime_t prev_utime ;
2199 cputime_t prev_stime ;
2200 unsigned long nvcsw ;
2201 unsigned long nivcsw ;
2202 unsigned long cnvcsw ;
2203 unsigned long cnivcsw ;
2204 unsigned long min_flt ;
2205 unsigned long maj_flt ;
2206 unsigned long cmin_flt ;
2207 unsigned long cmaj_flt ;
2208 unsigned long inblock ;
2209 unsigned long oublock ;
2210 unsigned long cinblock ;
2211 unsigned long coublock ;
2212 unsigned long maxrss ;
2213 unsigned long cmaxrss ;
2214 struct task_io_accounting ioac ;
2215 unsigned long long sum_sched_runtime ;
2216 struct rlimit rlim[16] ;
2217 struct pacct_struct pacct ;
2218 struct taskstats *stats ;
2219 unsigned int audit_tty ;
2220 struct tty_audit_buf *tty_audit_buf ;
2221 struct rw_semaphore group_rwsem ;
2222 int oom_adj ;
2223 int oom_score_adj ;
2224 int oom_score_adj_min ;
2225 struct mutex cred_guard_mutex ;
2226};
2227#line 703 "include/linux/sched.h"
2228struct user_struct {
2229 atomic_t __count ;
2230 atomic_t processes ;
2231 atomic_t files ;
2232 atomic_t sigpending ;
2233 atomic_t inotify_watches ;
2234 atomic_t inotify_devs ;
2235 atomic_t fanotify_listeners ;
2236 atomic_long_t epoll_watches ;
2237 unsigned long mq_bytes ;
2238 unsigned long locked_shm ;
2239 struct key *uid_keyring ;
2240 struct key *session_keyring ;
2241 struct hlist_node uidhash_node ;
2242 uid_t uid ;
2243 struct user_namespace *user_ns ;
2244 atomic_long_t locked_vm ;
2245};
2246#line 747
2247struct backing_dev_info;
2248#line 747
2249struct backing_dev_info;
2250#line 748
2251struct reclaim_state;
2252#line 748
2253struct reclaim_state;
2254#line 751 "include/linux/sched.h"
2255struct sched_info {
2256 unsigned long pcount ;
2257 unsigned long long run_delay ;
2258 unsigned long long last_arrival ;
2259 unsigned long long last_queued ;
2260};
2261#line 763 "include/linux/sched.h"
2262struct task_delay_info {
2263 spinlock_t lock ;
2264 unsigned int flags ;
2265 struct timespec blkio_start ;
2266 struct timespec blkio_end ;
2267 u64 blkio_delay ;
2268 u64 swapin_delay ;
2269 u32 blkio_count ;
2270 u32 swapin_count ;
2271 struct timespec freepages_start ;
2272 struct timespec freepages_end ;
2273 u64 freepages_delay ;
2274 u32 freepages_count ;
2275};
2276#line 1088
2277struct io_context;
2278#line 1088
2279struct io_context;
2280#line 1097
2281struct audit_context;
2282#line 1098
2283struct mempolicy;
2284#line 1099
2285struct pipe_inode_info;
2286#line 1099
2287struct pipe_inode_info;
2288#line 1102
2289struct rq;
2290#line 1102
2291struct rq;
2292#line 1122 "include/linux/sched.h"
2293struct sched_class {
2294 struct sched_class const *next ;
2295 void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2296 void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2297 void (*yield_task)(struct rq *rq ) ;
2298 bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
2299 void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
2300 struct task_struct *(*pick_next_task)(struct rq *rq ) ;
2301 void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
2302 int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
2303 void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
2304 void (*post_schedule)(struct rq *this_rq ) ;
2305 void (*task_waking)(struct task_struct *task ) ;
2306 void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
2307 void (*set_cpus_allowed)(struct task_struct *p , struct cpumask const *newmask ) ;
2308 void (*rq_online)(struct rq *rq ) ;
2309 void (*rq_offline)(struct rq *rq ) ;
2310 void (*set_curr_task)(struct rq *rq ) ;
2311 void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
2312 void (*task_fork)(struct task_struct *p ) ;
2313 void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
2314 void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
2315 void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
2316 unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
2317 void (*task_move_group)(struct task_struct *p , int on_rq ) ;
2318};
2319#line 1167 "include/linux/sched.h"
2320struct load_weight {
2321 unsigned long weight ;
2322 unsigned long inv_weight ;
2323};
2324#line 1172 "include/linux/sched.h"
2325struct sched_statistics {
2326 u64 wait_start ;
2327 u64 wait_max ;
2328 u64 wait_count ;
2329 u64 wait_sum ;
2330 u64 iowait_count ;
2331 u64 iowait_sum ;
2332 u64 sleep_start ;
2333 u64 sleep_max ;
2334 s64 sum_sleep_runtime ;
2335 u64 block_start ;
2336 u64 block_max ;
2337 u64 exec_max ;
2338 u64 slice_max ;
2339 u64 nr_migrations_cold ;
2340 u64 nr_failed_migrations_affine ;
2341 u64 nr_failed_migrations_running ;
2342 u64 nr_failed_migrations_hot ;
2343 u64 nr_forced_migrations ;
2344 u64 nr_wakeups ;
2345 u64 nr_wakeups_sync ;
2346 u64 nr_wakeups_migrate ;
2347 u64 nr_wakeups_local ;
2348 u64 nr_wakeups_remote ;
2349 u64 nr_wakeups_affine ;
2350 u64 nr_wakeups_affine_attempts ;
2351 u64 nr_wakeups_passive ;
2352 u64 nr_wakeups_idle ;
2353};
2354#line 1207 "include/linux/sched.h"
2355struct sched_entity {
2356 struct load_weight load ;
2357 struct rb_node run_node ;
2358 struct list_head group_node ;
2359 unsigned int on_rq ;
2360 u64 exec_start ;
2361 u64 sum_exec_runtime ;
2362 u64 vruntime ;
2363 u64 prev_sum_exec_runtime ;
2364 u64 nr_migrations ;
2365 struct sched_statistics statistics ;
2366 struct sched_entity *parent ;
2367 struct cfs_rq *cfs_rq ;
2368 struct cfs_rq *my_q ;
2369};
2370#line 1233
2371struct rt_rq;
2372#line 1233 "include/linux/sched.h"
2373struct sched_rt_entity {
2374 struct list_head run_list ;
2375 unsigned long timeout ;
2376 unsigned int time_slice ;
2377 int nr_cpus_allowed ;
2378 struct sched_rt_entity *back ;
2379 struct sched_rt_entity *parent ;
2380 struct rt_rq *rt_rq ;
2381 struct rt_rq *my_q ;
2382};
2383#line 1264
2384struct files_struct;
2385#line 1264
2386struct css_set;
2387#line 1264
2388struct compat_robust_list_head;
2389#line 1264
2390struct mem_cgroup;
2391#line 1264 "include/linux/sched.h"
2392struct memcg_batch_info {
2393 int do_batch ;
2394 struct mem_cgroup *memcg ;
2395 unsigned long nr_pages ;
2396 unsigned long memsw_nr_pages ;
2397};
2398#line 1264 "include/linux/sched.h"
2399struct task_struct {
2400 long volatile state ;
2401 void *stack ;
2402 atomic_t usage ;
2403 unsigned int flags ;
2404 unsigned int ptrace ;
2405 struct llist_node wake_entry ;
2406 int on_cpu ;
2407 int on_rq ;
2408 int prio ;
2409 int static_prio ;
2410 int normal_prio ;
2411 unsigned int rt_priority ;
2412 struct sched_class const *sched_class ;
2413 struct sched_entity se ;
2414 struct sched_rt_entity rt ;
2415 struct hlist_head preempt_notifiers ;
2416 unsigned char fpu_counter ;
2417 unsigned int policy ;
2418 cpumask_t cpus_allowed ;
2419 struct sched_info sched_info ;
2420 struct list_head tasks ;
2421 struct plist_node pushable_tasks ;
2422 struct mm_struct *mm ;
2423 struct mm_struct *active_mm ;
2424 unsigned int brk_randomized : 1 ;
2425 int exit_state ;
2426 int exit_code ;
2427 int exit_signal ;
2428 int pdeath_signal ;
2429 unsigned int jobctl ;
2430 unsigned int personality ;
2431 unsigned int did_exec : 1 ;
2432 unsigned int in_execve : 1 ;
2433 unsigned int in_iowait : 1 ;
2434 unsigned int sched_reset_on_fork : 1 ;
2435 unsigned int sched_contributes_to_load : 1 ;
2436 unsigned int irq_thread : 1 ;
2437 pid_t pid ;
2438 pid_t tgid ;
2439 unsigned long stack_canary ;
2440 struct task_struct *real_parent ;
2441 struct task_struct *parent ;
2442 struct list_head children ;
2443 struct list_head sibling ;
2444 struct task_struct *group_leader ;
2445 struct list_head ptraced ;
2446 struct list_head ptrace_entry ;
2447 struct pid_link pids[3] ;
2448 struct list_head thread_group ;
2449 struct completion *vfork_done ;
2450 int *set_child_tid ;
2451 int *clear_child_tid ;
2452 cputime_t utime ;
2453 cputime_t stime ;
2454 cputime_t utimescaled ;
2455 cputime_t stimescaled ;
2456 cputime_t gtime ;
2457 cputime_t prev_utime ;
2458 cputime_t prev_stime ;
2459 unsigned long nvcsw ;
2460 unsigned long nivcsw ;
2461 struct timespec start_time ;
2462 struct timespec real_start_time ;
2463 unsigned long min_flt ;
2464 unsigned long maj_flt ;
2465 struct task_cputime cputime_expires ;
2466 struct list_head cpu_timers[3] ;
2467 struct cred const *real_cred ;
2468 struct cred const *cred ;
2469 struct cred *replacement_session_keyring ;
2470 char comm[16] ;
2471 int link_count ;
2472 int total_link_count ;
2473 struct sysv_sem sysvsem ;
2474 unsigned long last_switch_count ;
2475 struct thread_struct thread ;
2476 struct fs_struct *fs ;
2477 struct files_struct *files ;
2478 struct nsproxy *nsproxy ;
2479 struct signal_struct *signal ;
2480 struct sighand_struct *sighand ;
2481 sigset_t blocked ;
2482 sigset_t real_blocked ;
2483 sigset_t saved_sigmask ;
2484 struct sigpending pending ;
2485 unsigned long sas_ss_sp ;
2486 size_t sas_ss_size ;
2487 int (*notifier)(void *priv ) ;
2488 void *notifier_data ;
2489 sigset_t *notifier_mask ;
2490 struct audit_context *audit_context ;
2491 uid_t loginuid ;
2492 unsigned int sessionid ;
2493 seccomp_t seccomp ;
2494 u32 parent_exec_id ;
2495 u32 self_exec_id ;
2496 spinlock_t alloc_lock ;
2497 raw_spinlock_t pi_lock ;
2498 struct plist_head pi_waiters ;
2499 struct rt_mutex_waiter *pi_blocked_on ;
2500 struct mutex_waiter *blocked_on ;
2501 unsigned int irq_events ;
2502 unsigned long hardirq_enable_ip ;
2503 unsigned long hardirq_disable_ip ;
2504 unsigned int hardirq_enable_event ;
2505 unsigned int hardirq_disable_event ;
2506 int hardirqs_enabled ;
2507 int hardirq_context ;
2508 unsigned long softirq_disable_ip ;
2509 unsigned long softirq_enable_ip ;
2510 unsigned int softirq_disable_event ;
2511 unsigned int softirq_enable_event ;
2512 int softirqs_enabled ;
2513 int softirq_context ;
2514 void *journal_info ;
2515 struct bio_list *bio_list ;
2516 struct blk_plug *plug ;
2517 struct reclaim_state *reclaim_state ;
2518 struct backing_dev_info *backing_dev_info ;
2519 struct io_context *io_context ;
2520 unsigned long ptrace_message ;
2521 siginfo_t *last_siginfo ;
2522 struct task_io_accounting ioac ;
2523 u64 acct_rss_mem1 ;
2524 u64 acct_vm_mem1 ;
2525 cputime_t acct_timexpd ;
2526 nodemask_t mems_allowed ;
2527 seqcount_t mems_allowed_seq ;
2528 int cpuset_mem_spread_rotor ;
2529 int cpuset_slab_spread_rotor ;
2530 struct css_set *cgroups ;
2531 struct list_head cg_list ;
2532 struct robust_list_head *robust_list ;
2533 struct compat_robust_list_head *compat_robust_list ;
2534 struct list_head pi_state_list ;
2535 struct futex_pi_state *pi_state_cache ;
2536 struct perf_event_context *perf_event_ctxp[2] ;
2537 struct mutex perf_event_mutex ;
2538 struct list_head perf_event_list ;
2539 struct mempolicy *mempolicy ;
2540 short il_next ;
2541 short pref_node_fork ;
2542 struct rcu_head rcu ;
2543 struct pipe_inode_info *splice_pipe ;
2544 struct task_delay_info *delays ;
2545 int make_it_fail ;
2546 int nr_dirtied ;
2547 int nr_dirtied_pause ;
2548 unsigned long dirty_paused_when ;
2549 int latency_record_count ;
2550 struct latency_record latency_record[32] ;
2551 unsigned long timer_slack_ns ;
2552 unsigned long default_timer_slack_ns ;
2553 struct list_head *scm_work_list ;
2554 unsigned long trace ;
2555 unsigned long trace_recursion ;
2556 struct memcg_batch_info memcg_batch ;
2557 atomic_t ptrace_bp_refcnt ;
2558};
2559#line 1681
2560struct pid_namespace;
2561#line 28 "include/linux/of.h"
2562typedef u32 phandle;
2563#line 31 "include/linux/of.h"
2564struct property {
2565 char *name ;
2566 int length ;
2567 void *value ;
2568 struct property *next ;
2569 unsigned long _flags ;
2570 unsigned int unique_id ;
2571};
2572#line 44 "include/linux/of.h"
2573struct device_node {
2574 char const *name ;
2575 char const *type ;
2576 phandle phandle ;
2577 char *full_name ;
2578 struct property *properties ;
2579 struct property *deadprops ;
2580 struct device_node *parent ;
2581 struct device_node *child ;
2582 struct device_node *sibling ;
2583 struct device_node *next ;
2584 struct device_node *allnext ;
2585 struct proc_dir_entry *pde ;
2586 struct kref kref ;
2587 unsigned long _flags ;
2588 void *data ;
2589};
2590#line 44 "include/linux/i2c.h"
2591struct i2c_msg;
2592#line 44
2593struct i2c_msg;
2594#line 45
2595struct i2c_algorithm;
2596#line 45
2597struct i2c_algorithm;
2598#line 46
2599struct i2c_adapter;
2600#line 46
2601struct i2c_adapter;
2602#line 47
2603struct i2c_client;
2604#line 47
2605struct i2c_client;
2606#line 48
2607struct i2c_driver;
2608#line 48
2609struct i2c_driver;
2610#line 49
2611union i2c_smbus_data;
2612#line 49
2613union i2c_smbus_data;
2614#line 50
2615struct i2c_board_info;
2616#line 50
2617struct i2c_board_info;
2618#line 52
2619struct module;
2620#line 161 "include/linux/i2c.h"
2621struct i2c_driver {
2622 unsigned int class ;
2623 int (*attach_adapter)(struct i2c_adapter * ) __attribute__((__deprecated__)) ;
2624 int (*detach_adapter)(struct i2c_adapter * ) __attribute__((__deprecated__)) ;
2625 int (*probe)(struct i2c_client * , struct i2c_device_id const * ) ;
2626 int (*remove)(struct i2c_client * ) ;
2627 void (*shutdown)(struct i2c_client * ) ;
2628 int (*suspend)(struct i2c_client * , pm_message_t mesg ) ;
2629 int (*resume)(struct i2c_client * ) ;
2630 void (*alert)(struct i2c_client * , unsigned int data ) ;
2631 int (*command)(struct i2c_client *client , unsigned int cmd , void *arg ) ;
2632 struct device_driver driver ;
2633 struct i2c_device_id const *id_table ;
2634 int (*detect)(struct i2c_client * , struct i2c_board_info * ) ;
2635 unsigned short const *address_list ;
2636 struct list_head clients ;
2637};
2638#line 220 "include/linux/i2c.h"
2639struct i2c_client {
2640 unsigned short flags ;
2641 unsigned short addr ;
2642 char name[20] ;
2643 struct i2c_adapter *adapter ;
2644 struct i2c_driver *driver ;
2645 struct device dev ;
2646 int irq ;
2647 struct list_head detected ;
2648};
2649#line 273 "include/linux/i2c.h"
2650struct i2c_board_info {
2651 char type[20] ;
2652 unsigned short flags ;
2653 unsigned short addr ;
2654 void *platform_data ;
2655 struct dev_archdata *archdata ;
2656 struct device_node *of_node ;
2657 int irq ;
2658};
2659#line 352 "include/linux/i2c.h"
2660struct i2c_algorithm {
2661 int (*master_xfer)(struct i2c_adapter *adap , struct i2c_msg *msgs , int num ) ;
2662 int (*smbus_xfer)(struct i2c_adapter *adap , u16 addr , unsigned short flags ,
2663 char read_write , u8 command , int size , union i2c_smbus_data *data ) ;
2664 u32 (*functionality)(struct i2c_adapter * ) ;
2665};
2666#line 373 "include/linux/i2c.h"
2667struct i2c_adapter {
2668 struct module *owner ;
2669 unsigned int class ;
2670 struct i2c_algorithm const *algo ;
2671 void *algo_data ;
2672 struct rt_mutex bus_lock ;
2673 int timeout ;
2674 int retries ;
2675 struct device dev ;
2676 int nr ;
2677 char name[48] ;
2678 struct completion dev_released ;
2679 struct mutex userspace_clients_lock ;
2680 struct list_head userspace_clients ;
2681};
2682#line 538 "include/linux/i2c.h"
2683struct i2c_msg {
2684 __u16 addr ;
2685 __u16 flags ;
2686 __u16 len ;
2687 __u8 *buf ;
2688};
2689#line 596 "include/linux/i2c.h"
2690union i2c_smbus_data {
2691 __u8 byte ;
2692 __u16 word ;
2693 __u8 block[34] ;
2694};
2695#line 43 "include/linux/input.h"
2696struct input_id {
2697 __u16 bustype ;
2698 __u16 vendor ;
2699 __u16 product ;
2700 __u16 version ;
2701};
2702#line 69 "include/linux/input.h"
2703struct input_absinfo {
2704 __s32 value ;
2705 __s32 minimum ;
2706 __s32 maximum ;
2707 __s32 fuzz ;
2708 __s32 flat ;
2709 __s32 resolution ;
2710};
2711#line 93 "include/linux/input.h"
2712struct input_keymap_entry {
2713 __u8 flags ;
2714 __u8 len ;
2715 __u16 index ;
2716 __u32 keycode ;
2717 __u8 scancode[32] ;
2718};
2719#line 957 "include/linux/input.h"
2720struct ff_replay {
2721 __u16 length ;
2722 __u16 delay ;
2723};
2724#line 967 "include/linux/input.h"
2725struct ff_trigger {
2726 __u16 button ;
2727 __u16 interval ;
2728};
2729#line 984 "include/linux/input.h"
2730struct ff_envelope {
2731 __u16 attack_length ;
2732 __u16 attack_level ;
2733 __u16 fade_length ;
2734 __u16 fade_level ;
2735};
2736#line 996 "include/linux/input.h"
2737struct ff_constant_effect {
2738 __s16 level ;
2739 struct ff_envelope envelope ;
2740};
2741#line 1007 "include/linux/input.h"
2742struct ff_ramp_effect {
2743 __s16 start_level ;
2744 __s16 end_level ;
2745 struct ff_envelope envelope ;
2746};
2747#line 1023 "include/linux/input.h"
2748struct ff_condition_effect {
2749 __u16 right_saturation ;
2750 __u16 left_saturation ;
2751 __s16 right_coeff ;
2752 __s16 left_coeff ;
2753 __u16 deadband ;
2754 __s16 center ;
2755};
2756#line 1052 "include/linux/input.h"
2757struct ff_periodic_effect {
2758 __u16 waveform ;
2759 __u16 period ;
2760 __s16 magnitude ;
2761 __s16 offset ;
2762 __u16 phase ;
2763 struct ff_envelope envelope ;
2764 __u32 custom_len ;
2765 __s16 *custom_data ;
2766};
2767#line 1073 "include/linux/input.h"
2768struct ff_rumble_effect {
2769 __u16 strong_magnitude ;
2770 __u16 weak_magnitude ;
2771};
2772#line 1101 "include/linux/input.h"
2773union __anonunion_u_240 {
2774 struct ff_constant_effect constant ;
2775 struct ff_ramp_effect ramp ;
2776 struct ff_periodic_effect periodic ;
2777 struct ff_condition_effect condition[2] ;
2778 struct ff_rumble_effect rumble ;
2779};
2780#line 1101 "include/linux/input.h"
2781struct ff_effect {
2782 __u16 type ;
2783 __s16 id ;
2784 __u16 direction ;
2785 struct ff_trigger trigger ;
2786 struct ff_replay replay ;
2787 union __anonunion_u_240 u ;
2788};
2789#line 15 "include/linux/blk_types.h"
2790struct page;
2791#line 16
2792struct block_device;
2793#line 16
2794struct block_device;
2795#line 33 "include/linux/list_bl.h"
2796struct hlist_bl_node;
2797#line 33 "include/linux/list_bl.h"
2798struct hlist_bl_head {
2799 struct hlist_bl_node *first ;
2800};
2801#line 37 "include/linux/list_bl.h"
2802struct hlist_bl_node {
2803 struct hlist_bl_node *next ;
2804 struct hlist_bl_node **pprev ;
2805};
2806#line 13 "include/linux/dcache.h"
2807struct nameidata;
2808#line 13
2809struct nameidata;
2810#line 14
2811struct path;
2812#line 14
2813struct path;
2814#line 15
2815struct vfsmount;
2816#line 15
2817struct vfsmount;
2818#line 35 "include/linux/dcache.h"
2819struct qstr {
2820 unsigned int hash ;
2821 unsigned int len ;
2822 unsigned char const *name ;
2823};
2824#line 88
2825struct dentry_operations;
2826#line 88
2827struct super_block;
2828#line 88 "include/linux/dcache.h"
2829union __anonunion_d_u_241 {
2830 struct list_head d_child ;
2831 struct rcu_head d_rcu ;
2832};
2833#line 88 "include/linux/dcache.h"
2834struct dentry {
2835 unsigned int d_flags ;
2836 seqcount_t d_seq ;
2837 struct hlist_bl_node d_hash ;
2838 struct dentry *d_parent ;
2839 struct qstr d_name ;
2840 struct inode *d_inode ;
2841 unsigned char d_iname[32] ;
2842 unsigned int d_count ;
2843 spinlock_t d_lock ;
2844 struct dentry_operations const *d_op ;
2845 struct super_block *d_sb ;
2846 unsigned long d_time ;
2847 void *d_fsdata ;
2848 struct list_head d_lru ;
2849 union __anonunion_d_u_241 d_u ;
2850 struct list_head d_subdirs ;
2851 struct list_head d_alias ;
2852};
2853#line 131 "include/linux/dcache.h"
2854struct dentry_operations {
2855 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
2856 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
2857 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
2858 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
2859 int (*d_delete)(struct dentry const * ) ;
2860 void (*d_release)(struct dentry * ) ;
2861 void (*d_prune)(struct dentry * ) ;
2862 void (*d_iput)(struct dentry * , struct inode * ) ;
2863 char *(*d_dname)(struct dentry * , char * , int ) ;
2864 struct vfsmount *(*d_automount)(struct path * ) ;
2865 int (*d_manage)(struct dentry * , bool ) ;
2866} __attribute__((__aligned__((1) << (6) ))) ;
2867#line 4 "include/linux/path.h"
2868struct dentry;
2869#line 5
2870struct vfsmount;
2871#line 7 "include/linux/path.h"
2872struct path {
2873 struct vfsmount *mnt ;
2874 struct dentry *dentry ;
2875};
2876#line 64 "include/linux/radix-tree.h"
2877struct radix_tree_node;
2878#line 64 "include/linux/radix-tree.h"
2879struct radix_tree_root {
2880 unsigned int height ;
2881 gfp_t gfp_mask ;
2882 struct radix_tree_node *rnode ;
2883};
2884#line 16 "include/linux/fiemap.h"
2885struct fiemap_extent {
2886 __u64 fe_logical ;
2887 __u64 fe_physical ;
2888 __u64 fe_length ;
2889 __u64 fe_reserved64[2] ;
2890 __u32 fe_flags ;
2891 __u32 fe_reserved[3] ;
2892};
2893#line 8 "include/linux/shrinker.h"
2894struct shrink_control {
2895 gfp_t gfp_mask ;
2896 unsigned long nr_to_scan ;
2897};
2898#line 31 "include/linux/shrinker.h"
2899struct shrinker {
2900 int (*shrink)(struct shrinker * , struct shrink_control *sc ) ;
2901 int seeks ;
2902 long batch ;
2903 struct list_head list ;
2904 atomic_long_t nr_in_batch ;
2905};
2906#line 10 "include/linux/migrate_mode.h"
2907enum migrate_mode {
2908 MIGRATE_ASYNC = 0,
2909 MIGRATE_SYNC_LIGHT = 1,
2910 MIGRATE_SYNC = 2
2911} ;
2912#line 408 "include/linux/fs.h"
2913struct export_operations;
2914#line 408
2915struct export_operations;
2916#line 410
2917struct iovec;
2918#line 411
2919struct nameidata;
2920#line 412
2921struct kiocb;
2922#line 413
2923struct kobject;
2924#line 414
2925struct pipe_inode_info;
2926#line 415
2927struct poll_table_struct;
2928#line 415
2929struct poll_table_struct;
2930#line 416
2931struct kstatfs;
2932#line 416
2933struct kstatfs;
2934#line 417
2935struct vm_area_struct;
2936#line 418
2937struct vfsmount;
2938#line 419
2939struct cred;
2940#line 469 "include/linux/fs.h"
2941struct iattr {
2942 unsigned int ia_valid ;
2943 umode_t ia_mode ;
2944 uid_t ia_uid ;
2945 gid_t ia_gid ;
2946 loff_t ia_size ;
2947 struct timespec ia_atime ;
2948 struct timespec ia_mtime ;
2949 struct timespec ia_ctime ;
2950 struct file *ia_file ;
2951};
2952#line 129 "include/linux/quota.h"
2953struct if_dqinfo {
2954 __u64 dqi_bgrace ;
2955 __u64 dqi_igrace ;
2956 __u32 dqi_flags ;
2957 __u32 dqi_valid ;
2958};
2959#line 50 "include/linux/dqblk_xfs.h"
2960struct fs_disk_quota {
2961 __s8 d_version ;
2962 __s8 d_flags ;
2963 __u16 d_fieldmask ;
2964 __u32 d_id ;
2965 __u64 d_blk_hardlimit ;
2966 __u64 d_blk_softlimit ;
2967 __u64 d_ino_hardlimit ;
2968 __u64 d_ino_softlimit ;
2969 __u64 d_bcount ;
2970 __u64 d_icount ;
2971 __s32 d_itimer ;
2972 __s32 d_btimer ;
2973 __u16 d_iwarns ;
2974 __u16 d_bwarns ;
2975 __s32 d_padding2 ;
2976 __u64 d_rtb_hardlimit ;
2977 __u64 d_rtb_softlimit ;
2978 __u64 d_rtbcount ;
2979 __s32 d_rtbtimer ;
2980 __u16 d_rtbwarns ;
2981 __s16 d_padding3 ;
2982 char d_padding4[8] ;
2983};
2984#line 146 "include/linux/dqblk_xfs.h"
2985struct fs_qfilestat {
2986 __u64 qfs_ino ;
2987 __u64 qfs_nblks ;
2988 __u32 qfs_nextents ;
2989};
2990#line 146 "include/linux/dqblk_xfs.h"
2991typedef struct fs_qfilestat fs_qfilestat_t;
2992#line 152 "include/linux/dqblk_xfs.h"
2993struct fs_quota_stat {
2994 __s8 qs_version ;
2995 __u16 qs_flags ;
2996 __s8 qs_pad ;
2997 fs_qfilestat_t qs_uquota ;
2998 fs_qfilestat_t qs_gquota ;
2999 __u32 qs_incoredqs ;
3000 __s32 qs_btimelimit ;
3001 __s32 qs_itimelimit ;
3002 __s32 qs_rtbtimelimit ;
3003 __u16 qs_bwarnlimit ;
3004 __u16 qs_iwarnlimit ;
3005};
3006#line 17 "include/linux/dqblk_qtree.h"
3007struct dquot;
3008#line 17
3009struct dquot;
3010#line 185 "include/linux/quota.h"
3011typedef __kernel_uid32_t qid_t;
3012#line 186 "include/linux/quota.h"
3013typedef long long qsize_t;
3014#line 200 "include/linux/quota.h"
3015struct mem_dqblk {
3016 qsize_t dqb_bhardlimit ;
3017 qsize_t dqb_bsoftlimit ;
3018 qsize_t dqb_curspace ;
3019 qsize_t dqb_rsvspace ;
3020 qsize_t dqb_ihardlimit ;
3021 qsize_t dqb_isoftlimit ;
3022 qsize_t dqb_curinodes ;
3023 time_t dqb_btime ;
3024 time_t dqb_itime ;
3025};
3026#line 215
3027struct quota_format_type;
3028#line 215
3029struct quota_format_type;
3030#line 217 "include/linux/quota.h"
3031struct mem_dqinfo {
3032 struct quota_format_type *dqi_format ;
3033 int dqi_fmt_id ;
3034 struct list_head dqi_dirty_list ;
3035 unsigned long dqi_flags ;
3036 unsigned int dqi_bgrace ;
3037 unsigned int dqi_igrace ;
3038 qsize_t dqi_maxblimit ;
3039 qsize_t dqi_maxilimit ;
3040 void *dqi_priv ;
3041};
3042#line 230
3043struct super_block;
3044#line 288 "include/linux/quota.h"
3045struct dquot {
3046 struct hlist_node dq_hash ;
3047 struct list_head dq_inuse ;
3048 struct list_head dq_free ;
3049 struct list_head dq_dirty ;
3050 struct mutex dq_lock ;
3051 atomic_t dq_count ;
3052 wait_queue_head_t dq_wait_unused ;
3053 struct super_block *dq_sb ;
3054 unsigned int dq_id ;
3055 loff_t dq_off ;
3056 unsigned long dq_flags ;
3057 short dq_type ;
3058 struct mem_dqblk dq_dqb ;
3059};
3060#line 305 "include/linux/quota.h"
3061struct quota_format_ops {
3062 int (*check_quota_file)(struct super_block *sb , int type ) ;
3063 int (*read_file_info)(struct super_block *sb , int type ) ;
3064 int (*write_file_info)(struct super_block *sb , int type ) ;
3065 int (*free_file_info)(struct super_block *sb , int type ) ;
3066 int (*read_dqblk)(struct dquot *dquot ) ;
3067 int (*commit_dqblk)(struct dquot *dquot ) ;
3068 int (*release_dqblk)(struct dquot *dquot ) ;
3069};
3070#line 316 "include/linux/quota.h"
3071struct dquot_operations {
3072 int (*write_dquot)(struct dquot * ) ;
3073 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
3074 void (*destroy_dquot)(struct dquot * ) ;
3075 int (*acquire_dquot)(struct dquot * ) ;
3076 int (*release_dquot)(struct dquot * ) ;
3077 int (*mark_dirty)(struct dquot * ) ;
3078 int (*write_info)(struct super_block * , int ) ;
3079 qsize_t *(*get_reserved_space)(struct inode * ) ;
3080};
3081#line 329
3082struct path;
3083#line 332 "include/linux/quota.h"
3084struct quotactl_ops {
3085 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
3086 int (*quota_on_meta)(struct super_block * , int , int ) ;
3087 int (*quota_off)(struct super_block * , int ) ;
3088 int (*quota_sync)(struct super_block * , int , int ) ;
3089 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
3090 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
3091 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3092 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3093 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
3094 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
3095};
3096#line 345 "include/linux/quota.h"
3097struct quota_format_type {
3098 int qf_fmt_id ;
3099 struct quota_format_ops const *qf_ops ;
3100 struct module *qf_owner ;
3101 struct quota_format_type *qf_next ;
3102};
3103#line 399 "include/linux/quota.h"
3104struct quota_info {
3105 unsigned int flags ;
3106 struct mutex dqio_mutex ;
3107 struct mutex dqonoff_mutex ;
3108 struct rw_semaphore dqptr_sem ;
3109 struct inode *files[2] ;
3110 struct mem_dqinfo info[2] ;
3111 struct quota_format_ops const *ops[2] ;
3112};
3113#line 532 "include/linux/fs.h"
3114struct page;
3115#line 533
3116struct address_space;
3117#line 534
3118struct writeback_control;
3119#line 534
3120struct writeback_control;
3121#line 577 "include/linux/fs.h"
3122union __anonunion_arg_248 {
3123 char *buf ;
3124 void *data ;
3125};
3126#line 577 "include/linux/fs.h"
3127struct __anonstruct_read_descriptor_t_247 {
3128 size_t written ;
3129 size_t count ;
3130 union __anonunion_arg_248 arg ;
3131 int error ;
3132};
3133#line 577 "include/linux/fs.h"
3134typedef struct __anonstruct_read_descriptor_t_247 read_descriptor_t;
3135#line 590 "include/linux/fs.h"
3136struct address_space_operations {
3137 int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
3138 int (*readpage)(struct file * , struct page * ) ;
3139 int (*writepages)(struct address_space * , struct writeback_control * ) ;
3140 int (*set_page_dirty)(struct page *page ) ;
3141 int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
3142 unsigned int nr_pages ) ;
3143 int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
3144 unsigned int len , unsigned int flags , struct page **pagep ,
3145 void **fsdata ) ;
3146 int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
3147 unsigned int copied , struct page *page , void *fsdata ) ;
3148 sector_t (*bmap)(struct address_space * , sector_t ) ;
3149 void (*invalidatepage)(struct page * , unsigned long ) ;
3150 int (*releasepage)(struct page * , gfp_t ) ;
3151 void (*freepage)(struct page * ) ;
3152 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
3153 unsigned long nr_segs ) ;
3154 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
3155 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
3156 int (*launder_page)(struct page * ) ;
3157 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
3158 int (*error_remove_page)(struct address_space * , struct page * ) ;
3159};
3160#line 645
3161struct backing_dev_info;
3162#line 646 "include/linux/fs.h"
3163struct address_space {
3164 struct inode *host ;
3165 struct radix_tree_root page_tree ;
3166 spinlock_t tree_lock ;
3167 unsigned int i_mmap_writable ;
3168 struct prio_tree_root i_mmap ;
3169 struct list_head i_mmap_nonlinear ;
3170 struct mutex i_mmap_mutex ;
3171 unsigned long nrpages ;
3172 unsigned long writeback_index ;
3173 struct address_space_operations const *a_ops ;
3174 unsigned long flags ;
3175 struct backing_dev_info *backing_dev_info ;
3176 spinlock_t private_lock ;
3177 struct list_head private_list ;
3178 struct address_space *assoc_mapping ;
3179} __attribute__((__aligned__(sizeof(long )))) ;
3180#line 669
3181struct request_queue;
3182#line 669
3183struct request_queue;
3184#line 671
3185struct hd_struct;
3186#line 671
3187struct gendisk;
3188#line 671 "include/linux/fs.h"
3189struct block_device {
3190 dev_t bd_dev ;
3191 int bd_openers ;
3192 struct inode *bd_inode ;
3193 struct super_block *bd_super ;
3194 struct mutex bd_mutex ;
3195 struct list_head bd_inodes ;
3196 void *bd_claiming ;
3197 void *bd_holder ;
3198 int bd_holders ;
3199 bool bd_write_holder ;
3200 struct list_head bd_holder_disks ;
3201 struct block_device *bd_contains ;
3202 unsigned int bd_block_size ;
3203 struct hd_struct *bd_part ;
3204 unsigned int bd_part_count ;
3205 int bd_invalidated ;
3206 struct gendisk *bd_disk ;
3207 struct request_queue *bd_queue ;
3208 struct list_head bd_list ;
3209 unsigned long bd_private ;
3210 int bd_fsfreeze_count ;
3211 struct mutex bd_fsfreeze_mutex ;
3212};
3213#line 749
3214struct posix_acl;
3215#line 749
3216struct posix_acl;
3217#line 761
3218struct inode_operations;
3219#line 761 "include/linux/fs.h"
3220union __anonunion____missing_field_name_249 {
3221 unsigned int const i_nlink ;
3222 unsigned int __i_nlink ;
3223};
3224#line 761 "include/linux/fs.h"
3225union __anonunion____missing_field_name_250 {
3226 struct list_head i_dentry ;
3227 struct rcu_head i_rcu ;
3228};
3229#line 761
3230struct file_operations;
3231#line 761
3232struct file_lock;
3233#line 761
3234struct cdev;
3235#line 761 "include/linux/fs.h"
3236union __anonunion____missing_field_name_251 {
3237 struct pipe_inode_info *i_pipe ;
3238 struct block_device *i_bdev ;
3239 struct cdev *i_cdev ;
3240};
3241#line 761 "include/linux/fs.h"
3242struct inode {
3243 umode_t i_mode ;
3244 unsigned short i_opflags ;
3245 uid_t i_uid ;
3246 gid_t i_gid ;
3247 unsigned int i_flags ;
3248 struct posix_acl *i_acl ;
3249 struct posix_acl *i_default_acl ;
3250 struct inode_operations const *i_op ;
3251 struct super_block *i_sb ;
3252 struct address_space *i_mapping ;
3253 void *i_security ;
3254 unsigned long i_ino ;
3255 union __anonunion____missing_field_name_249 __annonCompField44 ;
3256 dev_t i_rdev ;
3257 struct timespec i_atime ;
3258 struct timespec i_mtime ;
3259 struct timespec i_ctime ;
3260 spinlock_t i_lock ;
3261 unsigned short i_bytes ;
3262 blkcnt_t i_blocks ;
3263 loff_t i_size ;
3264 unsigned long i_state ;
3265 struct mutex i_mutex ;
3266 unsigned long dirtied_when ;
3267 struct hlist_node i_hash ;
3268 struct list_head i_wb_list ;
3269 struct list_head i_lru ;
3270 struct list_head i_sb_list ;
3271 union __anonunion____missing_field_name_250 __annonCompField45 ;
3272 atomic_t i_count ;
3273 unsigned int i_blkbits ;
3274 u64 i_version ;
3275 atomic_t i_dio_count ;
3276 atomic_t i_writecount ;
3277 struct file_operations const *i_fop ;
3278 struct file_lock *i_flock ;
3279 struct address_space i_data ;
3280 struct dquot *i_dquot[2] ;
3281 struct list_head i_devices ;
3282 union __anonunion____missing_field_name_251 __annonCompField46 ;
3283 __u32 i_generation ;
3284 __u32 i_fsnotify_mask ;
3285 struct hlist_head i_fsnotify_marks ;
3286 atomic_t i_readcount ;
3287 void *i_private ;
3288};
3289#line 942 "include/linux/fs.h"
3290struct fown_struct {
3291 rwlock_t lock ;
3292 struct pid *pid ;
3293 enum pid_type pid_type ;
3294 uid_t uid ;
3295 uid_t euid ;
3296 int signum ;
3297};
3298#line 953 "include/linux/fs.h"
3299struct file_ra_state {
3300 unsigned long start ;
3301 unsigned int size ;
3302 unsigned int async_size ;
3303 unsigned int ra_pages ;
3304 unsigned int mmap_miss ;
3305 loff_t prev_pos ;
3306};
3307#line 976 "include/linux/fs.h"
3308union __anonunion_f_u_252 {
3309 struct list_head fu_list ;
3310 struct rcu_head fu_rcuhead ;
3311};
3312#line 976 "include/linux/fs.h"
3313struct file {
3314 union __anonunion_f_u_252 f_u ;
3315 struct path f_path ;
3316 struct file_operations const *f_op ;
3317 spinlock_t f_lock ;
3318 int f_sb_list_cpu ;
3319 atomic_long_t f_count ;
3320 unsigned int f_flags ;
3321 fmode_t f_mode ;
3322 loff_t f_pos ;
3323 struct fown_struct f_owner ;
3324 struct cred const *f_cred ;
3325 struct file_ra_state f_ra ;
3326 u64 f_version ;
3327 void *f_security ;
3328 void *private_data ;
3329 struct list_head f_ep_links ;
3330 struct list_head f_tfile_llink ;
3331 struct address_space *f_mapping ;
3332 unsigned long f_mnt_write_state ;
3333};
3334#line 1111 "include/linux/fs.h"
3335typedef struct files_struct *fl_owner_t;
3336#line 1113 "include/linux/fs.h"
3337struct file_lock_operations {
3338 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3339 void (*fl_release_private)(struct file_lock * ) ;
3340};
3341#line 1118 "include/linux/fs.h"
3342struct lock_manager_operations {
3343 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
3344 void (*lm_notify)(struct file_lock * ) ;
3345 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
3346 void (*lm_release_private)(struct file_lock * ) ;
3347 void (*lm_break)(struct file_lock * ) ;
3348 int (*lm_change)(struct file_lock ** , int ) ;
3349};
3350#line 4 "include/linux/nfs_fs_i.h"
3351struct nlm_lockowner;
3352#line 4
3353struct nlm_lockowner;
3354#line 9 "include/linux/nfs_fs_i.h"
3355struct nfs_lock_info {
3356 u32 state ;
3357 struct nlm_lockowner *owner ;
3358 struct list_head list ;
3359};
3360#line 15
3361struct nfs4_lock_state;
3362#line 15
3363struct nfs4_lock_state;
3364#line 16 "include/linux/nfs_fs_i.h"
3365struct nfs4_lock_info {
3366 struct nfs4_lock_state *owner ;
3367};
3368#line 1138 "include/linux/fs.h"
3369struct fasync_struct;
3370#line 1138 "include/linux/fs.h"
3371struct __anonstruct_afs_254 {
3372 struct list_head link ;
3373 int state ;
3374};
3375#line 1138 "include/linux/fs.h"
3376union __anonunion_fl_u_253 {
3377 struct nfs_lock_info nfs_fl ;
3378 struct nfs4_lock_info nfs4_fl ;
3379 struct __anonstruct_afs_254 afs ;
3380};
3381#line 1138 "include/linux/fs.h"
3382struct file_lock {
3383 struct file_lock *fl_next ;
3384 struct list_head fl_link ;
3385 struct list_head fl_block ;
3386 fl_owner_t fl_owner ;
3387 unsigned int fl_flags ;
3388 unsigned char fl_type ;
3389 unsigned int fl_pid ;
3390 struct pid *fl_nspid ;
3391 wait_queue_head_t fl_wait ;
3392 struct file *fl_file ;
3393 loff_t fl_start ;
3394 loff_t fl_end ;
3395 struct fasync_struct *fl_fasync ;
3396 unsigned long fl_break_time ;
3397 unsigned long fl_downgrade_time ;
3398 struct file_lock_operations const *fl_ops ;
3399 struct lock_manager_operations const *fl_lmops ;
3400 union __anonunion_fl_u_253 fl_u ;
3401};
3402#line 1378 "include/linux/fs.h"
3403struct fasync_struct {
3404 spinlock_t fa_lock ;
3405 int magic ;
3406 int fa_fd ;
3407 struct fasync_struct *fa_next ;
3408 struct file *fa_file ;
3409 struct rcu_head fa_rcu ;
3410};
3411#line 1418
3412struct file_system_type;
3413#line 1418
3414struct super_operations;
3415#line 1418
3416struct xattr_handler;
3417#line 1418
3418struct mtd_info;
3419#line 1418 "include/linux/fs.h"
3420struct super_block {
3421 struct list_head s_list ;
3422 dev_t s_dev ;
3423 unsigned char s_dirt ;
3424 unsigned char s_blocksize_bits ;
3425 unsigned long s_blocksize ;
3426 loff_t s_maxbytes ;
3427 struct file_system_type *s_type ;
3428 struct super_operations const *s_op ;
3429 struct dquot_operations const *dq_op ;
3430 struct quotactl_ops const *s_qcop ;
3431 struct export_operations const *s_export_op ;
3432 unsigned long s_flags ;
3433 unsigned long s_magic ;
3434 struct dentry *s_root ;
3435 struct rw_semaphore s_umount ;
3436 struct mutex s_lock ;
3437 int s_count ;
3438 atomic_t s_active ;
3439 void *s_security ;
3440 struct xattr_handler const **s_xattr ;
3441 struct list_head s_inodes ;
3442 struct hlist_bl_head s_anon ;
3443 struct list_head *s_files ;
3444 struct list_head s_mounts ;
3445 struct list_head s_dentry_lru ;
3446 int s_nr_dentry_unused ;
3447 spinlock_t s_inode_lru_lock __attribute__((__aligned__((1) << (6) ))) ;
3448 struct list_head s_inode_lru ;
3449 int s_nr_inodes_unused ;
3450 struct block_device *s_bdev ;
3451 struct backing_dev_info *s_bdi ;
3452 struct mtd_info *s_mtd ;
3453 struct hlist_node s_instances ;
3454 struct quota_info s_dquot ;
3455 int s_frozen ;
3456 wait_queue_head_t s_wait_unfrozen ;
3457 char s_id[32] ;
3458 u8 s_uuid[16] ;
3459 void *s_fs_info ;
3460 unsigned int s_max_links ;
3461 fmode_t s_mode ;
3462 u32 s_time_gran ;
3463 struct mutex s_vfs_rename_mutex ;
3464 char *s_subtype ;
3465 char *s_options ;
3466 struct dentry_operations const *s_d_op ;
3467 int cleancache_poolid ;
3468 struct shrinker s_shrink ;
3469 atomic_long_t s_remove_count ;
3470 int s_readonly_remount ;
3471};
3472#line 1567 "include/linux/fs.h"
3473struct fiemap_extent_info {
3474 unsigned int fi_flags ;
3475 unsigned int fi_extents_mapped ;
3476 unsigned int fi_extents_max ;
3477 struct fiemap_extent *fi_extents_start ;
3478};
3479#line 1609 "include/linux/fs.h"
3480struct file_operations {
3481 struct module *owner ;
3482 loff_t (*llseek)(struct file * , loff_t , int ) ;
3483 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
3484 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
3485 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
3486 loff_t ) ;
3487 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
3488 loff_t ) ;
3489 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
3490 loff_t , u64 , unsigned int ) ) ;
3491 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
3492 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
3493 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
3494 int (*mmap)(struct file * , struct vm_area_struct * ) ;
3495 int (*open)(struct inode * , struct file * ) ;
3496 int (*flush)(struct file * , fl_owner_t id ) ;
3497 int (*release)(struct inode * , struct file * ) ;
3498 int (*fsync)(struct file * , loff_t , loff_t , int datasync ) ;
3499 int (*aio_fsync)(struct kiocb * , int datasync ) ;
3500 int (*fasync)(int , struct file * , int ) ;
3501 int (*lock)(struct file * , int , struct file_lock * ) ;
3502 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
3503 int ) ;
3504 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
3505 unsigned long , unsigned long ) ;
3506 int (*check_flags)(int ) ;
3507 int (*flock)(struct file * , int , struct file_lock * ) ;
3508 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
3509 unsigned int ) ;
3510 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
3511 unsigned int ) ;
3512 int (*setlease)(struct file * , long , struct file_lock ** ) ;
3513 long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
3514};
3515#line 1639 "include/linux/fs.h"
3516struct inode_operations {
3517 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
3518 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
3519 int (*permission)(struct inode * , int ) ;
3520 struct posix_acl *(*get_acl)(struct inode * , int ) ;
3521 int (*readlink)(struct dentry * , char * , int ) ;
3522 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
3523 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
3524 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
3525 int (*unlink)(struct inode * , struct dentry * ) ;
3526 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
3527 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
3528 int (*rmdir)(struct inode * , struct dentry * ) ;
3529 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
3530 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
3531 void (*truncate)(struct inode * ) ;
3532 int (*setattr)(struct dentry * , struct iattr * ) ;
3533 int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
3534 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
3535 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
3536 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
3537 int (*removexattr)(struct dentry * , char const * ) ;
3538 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
3539 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
3540} __attribute__((__aligned__((1) << (6) ))) ;
3541#line 1669
3542struct seq_file;
3543#line 1684 "include/linux/fs.h"
3544struct super_operations {
3545 struct inode *(*alloc_inode)(struct super_block *sb ) ;
3546 void (*destroy_inode)(struct inode * ) ;
3547 void (*dirty_inode)(struct inode * , int flags ) ;
3548 int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
3549 int (*drop_inode)(struct inode * ) ;
3550 void (*evict_inode)(struct inode * ) ;
3551 void (*put_super)(struct super_block * ) ;
3552 void (*write_super)(struct super_block * ) ;
3553 int (*sync_fs)(struct super_block *sb , int wait ) ;
3554 int (*freeze_fs)(struct super_block * ) ;
3555 int (*unfreeze_fs)(struct super_block * ) ;
3556 int (*statfs)(struct dentry * , struct kstatfs * ) ;
3557 int (*remount_fs)(struct super_block * , int * , char * ) ;
3558 void (*umount_begin)(struct super_block * ) ;
3559 int (*show_options)(struct seq_file * , struct dentry * ) ;
3560 int (*show_devname)(struct seq_file * , struct dentry * ) ;
3561 int (*show_path)(struct seq_file * , struct dentry * ) ;
3562 int (*show_stats)(struct seq_file * , struct dentry * ) ;
3563 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
3564 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
3565 loff_t ) ;
3566 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
3567 int (*nr_cached_objects)(struct super_block * ) ;
3568 void (*free_cached_objects)(struct super_block * , int ) ;
3569};
3570#line 1835 "include/linux/fs.h"
3571struct file_system_type {
3572 char const *name ;
3573 int fs_flags ;
3574 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
3575 void (*kill_sb)(struct super_block * ) ;
3576 struct module *owner ;
3577 struct file_system_type *next ;
3578 struct hlist_head fs_supers ;
3579 struct lock_class_key s_lock_key ;
3580 struct lock_class_key s_umount_key ;
3581 struct lock_class_key s_vfs_rename_key ;
3582 struct lock_class_key i_lock_key ;
3583 struct lock_class_key i_mutex_key ;
3584 struct lock_class_key i_mutex_dir_key ;
3585};
3586#line 1250 "include/linux/input.h"
3587struct ff_device;
3588#line 1250
3589struct input_mt_slot;
3590#line 1250
3591struct input_handle;
3592#line 1250 "include/linux/input.h"
3593struct input_dev {
3594 char const *name ;
3595 char const *phys ;
3596 char const *uniq ;
3597 struct input_id id ;
3598 unsigned long propbit[((32UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
3599 unsigned long evbit[((32UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
3600 unsigned long keybit[((768UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
3601 unsigned long relbit[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
3602 unsigned long absbit[((64UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
3603 unsigned long mscbit[((8UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
3604 unsigned long ledbit[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
3605 unsigned long sndbit[((8UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
3606 unsigned long ffbit[((128UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
3607 unsigned long swbit[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
3608 unsigned int hint_events_per_packet ;
3609 unsigned int keycodemax ;
3610 unsigned int keycodesize ;
3611 void *keycode ;
3612 int (*setkeycode)(struct input_dev *dev , struct input_keymap_entry const *ke ,
3613 unsigned int *old_keycode ) ;
3614 int (*getkeycode)(struct input_dev *dev , struct input_keymap_entry *ke ) ;
3615 struct ff_device *ff ;
3616 unsigned int repeat_key ;
3617 struct timer_list timer ;
3618 int rep[2] ;
3619 struct input_mt_slot *mt ;
3620 int mtsize ;
3621 int slot ;
3622 int trkid ;
3623 struct input_absinfo *absinfo ;
3624 unsigned long key[((768UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
3625 unsigned long led[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
3626 unsigned long snd[((8UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
3627 unsigned long sw[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
3628 int (*open)(struct input_dev *dev ) ;
3629 void (*close)(struct input_dev *dev ) ;
3630 int (*flush)(struct input_dev *dev , struct file *file ) ;
3631 int (*event)(struct input_dev *dev , unsigned int type , unsigned int code , int value ) ;
3632 struct input_handle *grab ;
3633 spinlock_t event_lock ;
3634 struct mutex mutex ;
3635 unsigned int users ;
3636 bool going_away ;
3637 bool sync ;
3638 struct device dev ;
3639 struct list_head h_list ;
3640 struct list_head node ;
3641};
3642#line 1370
3643struct input_handle;
3644#line 1409 "include/linux/input.h"
3645struct input_handler {
3646 void *private ;
3647 void (*event)(struct input_handle *handle , unsigned int type , unsigned int code ,
3648 int value ) ;
3649 bool (*filter)(struct input_handle *handle , unsigned int type , unsigned int code ,
3650 int value ) ;
3651 bool (*match)(struct input_handler *handler , struct input_dev *dev ) ;
3652 int (*connect)(struct input_handler *handler , struct input_dev *dev , struct input_device_id const *id ) ;
3653 void (*disconnect)(struct input_handle *handle ) ;
3654 void (*start)(struct input_handle *handle ) ;
3655 struct file_operations const *fops ;
3656 int minor ;
3657 char const *name ;
3658 struct input_device_id const *id_table ;
3659 struct list_head h_list ;
3660 struct list_head node ;
3661};
3662#line 1442 "include/linux/input.h"
3663struct input_handle {
3664 void *private ;
3665 int open ;
3666 char const *name ;
3667 struct input_dev *dev ;
3668 struct input_handler *handler ;
3669 struct list_head d_node ;
3670 struct list_head h_node ;
3671};
3672#line 1619 "include/linux/input.h"
3673struct ff_device {
3674 int (*upload)(struct input_dev *dev , struct ff_effect *effect , struct ff_effect *old ) ;
3675 int (*erase)(struct input_dev *dev , int effect_id ) ;
3676 int (*playback)(struct input_dev *dev , int effect_id , int value ) ;
3677 void (*set_gain)(struct input_dev *dev , u16 gain ) ;
3678 void (*set_autocenter)(struct input_dev *dev , u16 magnitude ) ;
3679 void (*destroy)(struct ff_device * ) ;
3680 void *private ;
3681 unsigned long ffbit[((128UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
3682 struct mutex mutex ;
3683 int max_effects ;
3684 struct ff_effect *effects ;
3685 struct file *effect_owners[] ;
3686};
3687#line 46 "include/linux/slub_def.h"
3688struct kmem_cache_cpu {
3689 void **freelist ;
3690 unsigned long tid ;
3691 struct page *page ;
3692 struct page *partial ;
3693 int node ;
3694 unsigned int stat[26] ;
3695};
3696#line 57 "include/linux/slub_def.h"
3697struct kmem_cache_node {
3698 spinlock_t list_lock ;
3699 unsigned long nr_partial ;
3700 struct list_head partial ;
3701 atomic_long_t nr_slabs ;
3702 atomic_long_t total_objects ;
3703 struct list_head full ;
3704};
3705#line 73 "include/linux/slub_def.h"
3706struct kmem_cache_order_objects {
3707 unsigned long x ;
3708};
3709#line 80 "include/linux/slub_def.h"
3710struct kmem_cache {
3711 struct kmem_cache_cpu *cpu_slab ;
3712 unsigned long flags ;
3713 unsigned long min_partial ;
3714 int size ;
3715 int objsize ;
3716 int offset ;
3717 int cpu_partial ;
3718 struct kmem_cache_order_objects oo ;
3719 struct kmem_cache_order_objects max ;
3720 struct kmem_cache_order_objects min ;
3721 gfp_t allocflags ;
3722 int refcount ;
3723 void (*ctor)(void * ) ;
3724 int inuse ;
3725 int align ;
3726 int reserved ;
3727 char const *name ;
3728 struct list_head list ;
3729 struct kobject kobj ;
3730 int remote_node_defrag_ratio ;
3731 struct kmem_cache_node *node[1 << 10] ;
3732};
3733#line 106 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
3734struct axis_data {
3735 s16 x ;
3736 s16 y ;
3737 s16 z ;
3738};
3739#line 112 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
3740struct mpu3050_sensor {
3741 struct i2c_client *client ;
3742 struct device *dev ;
3743 struct input_dev *idev ;
3744};
3745#line 1 "<compiler builtins>"
3746long __builtin_expect(long val , long res ) ;
3747#line 82 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
3748__inline static void __set_bit(int nr , unsigned long volatile *addr ) __attribute__((__no_instrument_function__)) ;
3749#line 82 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
3750__inline static void __set_bit(int nr , unsigned long volatile *addr )
3751{ long volatile *__cil_tmp3 ;
3752
3753 {
3754#line 84
3755 __cil_tmp3 = (long volatile *)addr;
3756#line 84
3757 __asm__ volatile ("bts %1,%0": "+m" (*__cil_tmp3): "Ir" (nr): "memory");
3758#line 85
3759 return;
3760}
3761}
3762#line 46 "include/linux/swab.h"
3763__inline static __u16 __fswab16(__u16 val ) __attribute__((__no_instrument_function__,
3764__const__)) ;
3765#line 46 "include/linux/swab.h"
3766__inline static __u16 __fswab16(__u16 val )
3767{ int __cil_tmp2 ;
3768 int __cil_tmp3 ;
3769 int __cil_tmp4 ;
3770 int __cil_tmp5 ;
3771 int __cil_tmp6 ;
3772 int __cil_tmp7 ;
3773 int __cil_tmp8 ;
3774
3775 {
3776 {
3777#line 51
3778 __cil_tmp2 = (int )val;
3779#line 51
3780 __cil_tmp3 = __cil_tmp2 & 65280;
3781#line 51
3782 __cil_tmp4 = __cil_tmp3 >> 8;
3783#line 51
3784 __cil_tmp5 = (int )val;
3785#line 51
3786 __cil_tmp6 = __cil_tmp5 & 255;
3787#line 51
3788 __cil_tmp7 = __cil_tmp6 << 8;
3789#line 51
3790 __cil_tmp8 = __cil_tmp7 | __cil_tmp4;
3791#line 51
3792 return ((__u16 )__cil_tmp8);
3793 }
3794}
3795}
3796#line 49 "include/linux/dynamic_debug.h"
3797extern int ( __dynamic_dev_dbg)(struct _ddebug *descriptor ,
3798 struct device const *dev ,
3799 char const *fmt , ...) ;
3800#line 152 "include/linux/mutex.h"
3801void mutex_lock(struct mutex *lock ) ;
3802#line 153
3803int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
3804#line 154
3805int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
3806#line 168
3807int mutex_trylock(struct mutex *lock ) ;
3808#line 169
3809void mutex_unlock(struct mutex *lock ) ;
3810#line 170
3811int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
3812#line 26 "include/linux/export.h"
3813extern struct module __this_module ;
3814#line 67 "include/linux/module.h"
3815int init_module(void) ;
3816#line 68
3817void cleanup_module(void) ;
3818#line 126 "include/linux/interrupt.h"
3819extern int __attribute__((__warn_unused_result__)) request_threaded_irq(unsigned int irq ,
3820 irqreturn_t (*handler)(int ,
3821 void * ) ,
3822 irqreturn_t (*thread_fn)(int ,
3823 void * ) ,
3824 unsigned long flags ,
3825 char const *name ,
3826 void *dev ) ;
3827#line 184
3828extern void free_irq(unsigned int , void * ) ;
3829#line 792 "include/linux/device.h"
3830extern void *dev_get_drvdata(struct device const *dev ) ;
3831#line 793
3832extern int dev_set_drvdata(struct device *dev , void *data ) ;
3833#line 891
3834extern int ( dev_err)(struct device const *dev , char const *fmt
3835 , ...) ;
3836#line 69 "include/linux/i2c.h"
3837extern int i2c_transfer(struct i2c_adapter *adap , struct i2c_msg *msgs , int num ) ;
3838#line 86
3839extern s32 i2c_smbus_read_byte_data(struct i2c_client const *client , u8 command ) ;
3840#line 88
3841extern s32 i2c_smbus_write_byte_data(struct i2c_client const *client , u8 command ,
3842 u8 value ) ;
3843#line 242
3844__inline static void *i2c_get_clientdata(struct i2c_client const *dev ) __attribute__((__no_instrument_function__)) ;
3845#line 242 "include/linux/i2c.h"
3846__inline static void *i2c_get_clientdata(struct i2c_client const *dev )
3847{ void *tmp___7 ;
3848 unsigned long __cil_tmp3 ;
3849 unsigned long __cil_tmp4 ;
3850 struct device const *__cil_tmp5 ;
3851
3852 {
3853 {
3854#line 244
3855 __cil_tmp3 = (unsigned long )dev;
3856#line 244
3857 __cil_tmp4 = __cil_tmp3 + 40;
3858#line 244
3859 __cil_tmp5 = (struct device const *)__cil_tmp4;
3860#line 244
3861 tmp___7 = dev_get_drvdata(__cil_tmp5);
3862 }
3863#line 244
3864 return (tmp___7);
3865}
3866}
3867#line 450
3868extern int i2c_register_driver(struct module * , struct i2c_driver * ) ;
3869#line 451
3870extern void i2c_del_driver(struct i2c_driver * ) ;
3871#line 1456 "include/linux/input.h"
3872extern struct input_dev *input_allocate_device(void) ;
3873#line 1457
3874extern void input_free_device(struct input_dev *dev ) ;
3875#line 1470
3876__inline static void *input_get_drvdata(struct input_dev *dev ) __attribute__((__no_instrument_function__)) ;
3877#line 1470 "include/linux/input.h"
3878__inline static void *input_get_drvdata(struct input_dev *dev )
3879{ void *tmp___7 ;
3880 unsigned long __cil_tmp3 ;
3881 unsigned long __cil_tmp4 ;
3882 struct device *__cil_tmp5 ;
3883 struct device const *__cil_tmp6 ;
3884
3885 {
3886 {
3887#line 1472
3888 __cil_tmp3 = (unsigned long )dev;
3889#line 1472
3890 __cil_tmp4 = __cil_tmp3 + 648;
3891#line 1472
3892 __cil_tmp5 = (struct device *)__cil_tmp4;
3893#line 1472
3894 __cil_tmp6 = (struct device const *)__cil_tmp5;
3895#line 1472
3896 tmp___7 = dev_get_drvdata(__cil_tmp6);
3897 }
3898#line 1472
3899 return (tmp___7);
3900}
3901}
3902#line 1475
3903__inline static void input_set_drvdata(struct input_dev *dev , void *data ) __attribute__((__no_instrument_function__)) ;
3904#line 1475 "include/linux/input.h"
3905__inline static void input_set_drvdata(struct input_dev *dev , void *data )
3906{ unsigned long __cil_tmp3 ;
3907 unsigned long __cil_tmp4 ;
3908 struct device *__cil_tmp5 ;
3909
3910 {
3911 {
3912#line 1477
3913 __cil_tmp3 = (unsigned long )dev;
3914#line 1477
3915 __cil_tmp4 = __cil_tmp3 + 648;
3916#line 1477
3917 __cil_tmp5 = (struct device *)__cil_tmp4;
3918#line 1477
3919 dev_set_drvdata(__cil_tmp5, data);
3920 }
3921#line 1478
3922 return;
3923}
3924}
3925#line 1480
3926extern int __attribute__((__warn_unused_result__)) input_register_device(struct input_dev * ) ;
3927#line 1481
3928extern void input_unregister_device(struct input_dev * ) ;
3929#line 1502
3930extern void input_event(struct input_dev *dev , unsigned int type , unsigned int code ,
3931 int value ) ;
3932#line 1515
3933__inline static void input_report_abs(struct input_dev *dev , unsigned int code ,
3934 int value ) __attribute__((__no_instrument_function__)) ;
3935#line 1515 "include/linux/input.h"
3936__inline static void input_report_abs(struct input_dev *dev , unsigned int code ,
3937 int value )
3938{
3939
3940 {
3941 {
3942#line 1517
3943 input_event(dev, 3U, code, value);
3944 }
3945#line 1518
3946 return;
3947}
3948}
3949#line 1530
3950__inline static void input_sync(struct input_dev *dev ) __attribute__((__no_instrument_function__)) ;
3951#line 1530 "include/linux/input.h"
3952__inline static void input_sync(struct input_dev *dev )
3953{
3954
3955 {
3956 {
3957#line 1532
3958 input_event(dev, 0U, 0U, 0);
3959 }
3960#line 1533
3961 return;
3962}
3963}
3964#line 1558
3965extern void input_set_abs_params(struct input_dev *dev , unsigned int axis , int min ,
3966 int max , int fuzz , int flat ) ;
3967#line 46 "include/linux/delay.h"
3968extern void msleep(unsigned int msecs ) ;
3969#line 161 "include/linux/slab.h"
3970extern void kfree(void const * ) ;
3971#line 221 "include/linux/slub_def.h"
3972extern void *__kmalloc(size_t size , gfp_t flags ) ;
3973#line 268
3974__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
3975 gfp_t flags ) __attribute__((__no_instrument_function__)) ;
3976#line 268 "include/linux/slub_def.h"
3977__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
3978 gfp_t flags )
3979{ void *tmp___10 ;
3980
3981 {
3982 {
3983#line 283
3984 tmp___10 = __kmalloc(size, flags);
3985 }
3986#line 283
3987 return (tmp___10);
3988}
3989}
3990#line 349 "include/linux/slab.h"
3991__inline static void *kzalloc(size_t size , gfp_t flags ) __attribute__((__no_instrument_function__)) ;
3992#line 349 "include/linux/slab.h"
3993__inline static void *kzalloc(size_t size , gfp_t flags )
3994{ void *tmp___7 ;
3995 unsigned int __cil_tmp4 ;
3996
3997 {
3998 {
3999#line 351
4000 __cil_tmp4 = flags | 32768U;
4001#line 351
4002 tmp___7 = kmalloc(size, __cil_tmp4);
4003 }
4004#line 351
4005 return (tmp___7);
4006}
4007}
4008#line 30 "include/linux/pm_runtime.h"
4009extern int __pm_runtime_idle(struct device *dev , int rpmflags ) ;
4010#line 32
4011extern int __pm_runtime_resume(struct device *dev , int rpmflags ) ;
4012#line 34
4013extern int __pm_runtime_set_status(struct device *dev , unsigned int status ) ;
4014#line 36
4015extern void pm_runtime_enable(struct device *dev ) ;
4016#line 37
4017extern void __pm_runtime_disable(struct device *dev , bool check_resume ) ;
4018#line 46
4019extern void pm_runtime_set_autosuspend_delay(struct device *dev , int delay ) ;
4020#line 193
4021__inline static int pm_runtime_get(struct device *dev ) __attribute__((__no_instrument_function__)) ;
4022#line 193 "include/linux/pm_runtime.h"
4023__inline static int pm_runtime_get(struct device *dev )
4024{ int tmp___7 ;
4025
4026 {
4027 {
4028#line 195
4029 tmp___7 = __pm_runtime_resume(dev, 5);
4030 }
4031#line 195
4032 return (tmp___7);
4033}
4034}
4035#line 203
4036__inline static int pm_runtime_put(struct device *dev ) __attribute__((__no_instrument_function__)) ;
4037#line 203 "include/linux/pm_runtime.h"
4038__inline static int pm_runtime_put(struct device *dev )
4039{ int tmp___7 ;
4040
4041 {
4042 {
4043#line 205
4044 tmp___7 = __pm_runtime_idle(dev, 5);
4045 }
4046#line 205
4047 return (tmp___7);
4048}
4049}
4050#line 229
4051__inline static int pm_runtime_set_active(struct device *dev ) __attribute__((__no_instrument_function__)) ;
4052#line 229 "include/linux/pm_runtime.h"
4053__inline static int pm_runtime_set_active(struct device *dev )
4054{ int tmp___7 ;
4055
4056 {
4057 {
4058#line 231
4059 tmp___7 = __pm_runtime_set_status(dev, 0U);
4060 }
4061#line 231
4062 return (tmp___7);
4063}
4064}
4065#line 234
4066__inline static void pm_runtime_set_suspended(struct device *dev ) __attribute__((__no_instrument_function__)) ;
4067#line 234 "include/linux/pm_runtime.h"
4068__inline static void pm_runtime_set_suspended(struct device *dev )
4069{
4070
4071 {
4072 {
4073#line 236
4074 __pm_runtime_set_status(dev, 2U);
4075 }
4076#line 237
4077 return;
4078}
4079}
4080#line 239
4081__inline static void pm_runtime_disable(struct device *dev ) __attribute__((__no_instrument_function__)) ;
4082#line 239 "include/linux/pm_runtime.h"
4083__inline static void pm_runtime_disable(struct device *dev )
4084{ bool __cil_tmp2 ;
4085
4086 {
4087 {
4088#line 241
4089 __cil_tmp2 = (bool )1;
4090#line 241
4091 __pm_runtime_disable(dev, __cil_tmp2);
4092 }
4093#line 242
4094 return;
4095}
4096}
4097#line 126 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
4098static int mpu3050_xyz_read_reg(struct i2c_client *client , u8 *buffer , int length )
4099{ char cmd ;
4100 struct i2c_msg msg[2] ;
4101 int tmp___7 ;
4102 char *__cil_tmp7 ;
4103 unsigned long __cil_tmp8 ;
4104 unsigned long __cil_tmp9 ;
4105 unsigned long __cil_tmp10 ;
4106 unsigned long __cil_tmp11 ;
4107 unsigned long __cil_tmp12 ;
4108 unsigned long __cil_tmp13 ;
4109 unsigned long __cil_tmp14 ;
4110 unsigned long __cil_tmp15 ;
4111 unsigned long __cil_tmp16 ;
4112 unsigned long __cil_tmp17 ;
4113 unsigned long __cil_tmp18 ;
4114 unsigned long __cil_tmp19 ;
4115 unsigned long __cil_tmp20 ;
4116 unsigned long __cil_tmp21 ;
4117 unsigned long __cil_tmp22 ;
4118 unsigned long __cil_tmp23 ;
4119 unsigned long __cil_tmp24 ;
4120 unsigned long __cil_tmp25 ;
4121 unsigned long __cil_tmp26 ;
4122 unsigned long __cil_tmp27 ;
4123 unsigned long __cil_tmp28 ;
4124 unsigned long __cil_tmp29 ;
4125 unsigned long __cil_tmp30 ;
4126 unsigned long __cil_tmp31 ;
4127 unsigned long __cil_tmp32 ;
4128 unsigned long __cil_tmp33 ;
4129 unsigned long __cil_tmp34 ;
4130 unsigned long __cil_tmp35 ;
4131 struct i2c_adapter *__cil_tmp36 ;
4132 unsigned long __cil_tmp37 ;
4133 unsigned long __cil_tmp38 ;
4134 struct i2c_msg *__cil_tmp39 ;
4135
4136 {
4137 {
4138#line 133
4139 __cil_tmp7 = & cmd;
4140#line 133
4141 *__cil_tmp7 = (char)29;
4142#line 134
4143 __cil_tmp8 = 0 * 16UL;
4144#line 134
4145 __cil_tmp9 = (unsigned long )(msg) + __cil_tmp8;
4146#line 134
4147 __cil_tmp10 = (unsigned long )client;
4148#line 134
4149 __cil_tmp11 = __cil_tmp10 + 2;
4150#line 134
4151 *((__u16 *)__cil_tmp9) = *((unsigned short *)__cil_tmp11);
4152#line 134
4153 __cil_tmp12 = 0 * 16UL;
4154#line 134
4155 __cil_tmp13 = __cil_tmp12 + 2;
4156#line 134
4157 __cil_tmp14 = (unsigned long )(msg) + __cil_tmp13;
4158#line 134
4159 *((__u16 *)__cil_tmp14) = (__u16 )0;
4160#line 134
4161 __cil_tmp15 = 0 * 16UL;
4162#line 134
4163 __cil_tmp16 = __cil_tmp15 + 4;
4164#line 134
4165 __cil_tmp17 = (unsigned long )(msg) + __cil_tmp16;
4166#line 134
4167 *((__u16 *)__cil_tmp17) = (__u16 )1;
4168#line 134
4169 __cil_tmp18 = 0 * 16UL;
4170#line 134
4171 __cil_tmp19 = __cil_tmp18 + 8;
4172#line 134
4173 __cil_tmp20 = (unsigned long )(msg) + __cil_tmp19;
4174#line 134
4175 *((__u8 **)__cil_tmp20) = (__u8 *)(& cmd);
4176#line 134
4177 __cil_tmp21 = 1 * 16UL;
4178#line 134
4179 __cil_tmp22 = (unsigned long )(msg) + __cil_tmp21;
4180#line 134
4181 __cil_tmp23 = (unsigned long )client;
4182#line 134
4183 __cil_tmp24 = __cil_tmp23 + 2;
4184#line 134
4185 *((__u16 *)__cil_tmp22) = *((unsigned short *)__cil_tmp24);
4186#line 134
4187 __cil_tmp25 = 1 * 16UL;
4188#line 134
4189 __cil_tmp26 = __cil_tmp25 + 2;
4190#line 134
4191 __cil_tmp27 = (unsigned long )(msg) + __cil_tmp26;
4192#line 134
4193 *((__u16 *)__cil_tmp27) = (__u16 )1;
4194#line 134
4195 __cil_tmp28 = 1 * 16UL;
4196#line 134
4197 __cil_tmp29 = __cil_tmp28 + 4;
4198#line 134
4199 __cil_tmp30 = (unsigned long )(msg) + __cil_tmp29;
4200#line 134
4201 *((__u16 *)__cil_tmp30) = (__u16 )length;
4202#line 134
4203 __cil_tmp31 = 1 * 16UL;
4204#line 134
4205 __cil_tmp32 = __cil_tmp31 + 8;
4206#line 134
4207 __cil_tmp33 = (unsigned long )(msg) + __cil_tmp32;
4208#line 134
4209 *((__u8 **)__cil_tmp33) = buffer;
4210#line 149
4211 __cil_tmp34 = (unsigned long )client;
4212#line 149
4213 __cil_tmp35 = __cil_tmp34 + 24;
4214#line 149
4215 __cil_tmp36 = *((struct i2c_adapter **)__cil_tmp35);
4216#line 149
4217 __cil_tmp37 = 0 * 16UL;
4218#line 149
4219 __cil_tmp38 = (unsigned long )(msg) + __cil_tmp37;
4220#line 149
4221 __cil_tmp39 = (struct i2c_msg *)__cil_tmp38;
4222#line 149
4223 tmp___7 = i2c_transfer(__cil_tmp36, __cil_tmp39, 2);
4224 }
4225#line 149
4226 return (tmp___7);
4227}
4228}
4229#line 168
4230static void mpu3050_read_xyz(struct i2c_client *client , struct axis_data *coords ) ;
4231#line 168 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
4232static struct _ddebug __attribute__((__aligned__(8))) descriptor __attribute__((__used__,
4233__section__("__verbose"))) = {"mpu3050", "mpu3050_read_xyz", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c",
4234 "%s: x %d, y %d, z %d\n", 169U, 0U};
4235#line 159 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
4236static void mpu3050_read_xyz(struct i2c_client *client , struct axis_data *coords )
4237{ u16 buffer[3] ;
4238 __u16 tmp___7 ;
4239 __u16 tmp___8 ;
4240 __u16 tmp___9 ;
4241 long tmp___10 ;
4242 unsigned long __cil_tmp8 ;
4243 unsigned long __cil_tmp9 ;
4244 u16 *__cil_tmp10 ;
4245 u8 *__cil_tmp11 ;
4246 unsigned long __cil_tmp12 ;
4247 unsigned long __cil_tmp13 ;
4248 u16 __cil_tmp14 ;
4249 int __cil_tmp15 ;
4250 unsigned long __cil_tmp16 ;
4251 unsigned long __cil_tmp17 ;
4252 u16 __cil_tmp18 ;
4253 unsigned long __cil_tmp19 ;
4254 unsigned long __cil_tmp20 ;
4255 int __cil_tmp21 ;
4256 unsigned long __cil_tmp22 ;
4257 unsigned long __cil_tmp23 ;
4258 u16 __cil_tmp24 ;
4259 unsigned long __cil_tmp25 ;
4260 unsigned long __cil_tmp26 ;
4261 int __cil_tmp27 ;
4262 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp28 ;
4263 unsigned int __cil_tmp29 ;
4264 unsigned int __cil_tmp30 ;
4265 int __cil_tmp31 ;
4266 int __cil_tmp32 ;
4267 long __cil_tmp33 ;
4268 unsigned long __cil_tmp34 ;
4269 unsigned long __cil_tmp35 ;
4270 struct device *__cil_tmp36 ;
4271 struct device const *__cil_tmp37 ;
4272 s16 __cil_tmp38 ;
4273 int __cil_tmp39 ;
4274 unsigned long __cil_tmp40 ;
4275 unsigned long __cil_tmp41 ;
4276 s16 __cil_tmp42 ;
4277 int __cil_tmp43 ;
4278 unsigned long __cil_tmp44 ;
4279 unsigned long __cil_tmp45 ;
4280 s16 __cil_tmp46 ;
4281 int __cil_tmp47 ;
4282
4283 {
4284 {
4285#line 164
4286 __cil_tmp8 = 0 * 2UL;
4287#line 164
4288 __cil_tmp9 = (unsigned long )(buffer) + __cil_tmp8;
4289#line 164
4290 __cil_tmp10 = (u16 *)__cil_tmp9;
4291#line 164
4292 __cil_tmp11 = (u8 *)__cil_tmp10;
4293#line 164
4294 mpu3050_xyz_read_reg(client, __cil_tmp11, 6);
4295#line 165
4296 __cil_tmp12 = 0 * 2UL;
4297#line 165
4298 __cil_tmp13 = (unsigned long )(buffer) + __cil_tmp12;
4299#line 165
4300 __cil_tmp14 = *((u16 *)__cil_tmp13);
4301#line 165
4302 tmp___7 = __fswab16(__cil_tmp14);
4303#line 165
4304 __cil_tmp15 = (int )tmp___7;
4305#line 165
4306 *((s16 *)coords) = (s16 )__cil_tmp15;
4307#line 166
4308 __cil_tmp16 = 1 * 2UL;
4309#line 166
4310 __cil_tmp17 = (unsigned long )(buffer) + __cil_tmp16;
4311#line 166
4312 __cil_tmp18 = *((u16 *)__cil_tmp17);
4313#line 166
4314 tmp___8 = __fswab16(__cil_tmp18);
4315#line 166
4316 __cil_tmp19 = (unsigned long )coords;
4317#line 166
4318 __cil_tmp20 = __cil_tmp19 + 2;
4319#line 166
4320 __cil_tmp21 = (int )tmp___8;
4321#line 166
4322 *((s16 *)__cil_tmp20) = (s16 )__cil_tmp21;
4323#line 167
4324 __cil_tmp22 = 2 * 2UL;
4325#line 167
4326 __cil_tmp23 = (unsigned long )(buffer) + __cil_tmp22;
4327#line 167
4328 __cil_tmp24 = *((u16 *)__cil_tmp23);
4329#line 167
4330 tmp___9 = __fswab16(__cil_tmp24);
4331#line 167
4332 __cil_tmp25 = (unsigned long )coords;
4333#line 167
4334 __cil_tmp26 = __cil_tmp25 + 4;
4335#line 167
4336 __cil_tmp27 = (int )tmp___9;
4337#line 167
4338 *((s16 *)__cil_tmp26) = (s16 )__cil_tmp27;
4339 }
4340 {
4341#line 168
4342 while (1) {
4343 while_continue: ;
4344 {
4345#line 168
4346 while (1) {
4347 while_continue___0: ;
4348 {
4349#line 168
4350 __cil_tmp28 = & descriptor;
4351#line 168
4352 __cil_tmp29 = __cil_tmp28->flags;
4353#line 168
4354 __cil_tmp30 = __cil_tmp29 & 1U;
4355#line 168
4356 __cil_tmp31 = ! __cil_tmp30;
4357#line 168
4358 __cil_tmp32 = ! __cil_tmp31;
4359#line 168
4360 __cil_tmp33 = (long )__cil_tmp32;
4361#line 168
4362 tmp___10 = __builtin_expect(__cil_tmp33, 0L);
4363 }
4364#line 168
4365 if (tmp___10) {
4366 {
4367#line 168
4368 __cil_tmp34 = (unsigned long )client;
4369#line 168
4370 __cil_tmp35 = __cil_tmp34 + 40;
4371#line 168
4372 __cil_tmp36 = (struct device *)__cil_tmp35;
4373#line 168
4374 __cil_tmp37 = (struct device const *)__cil_tmp36;
4375#line 168
4376 __cil_tmp38 = *((s16 *)coords);
4377#line 168
4378 __cil_tmp39 = (int )__cil_tmp38;
4379#line 168
4380 __cil_tmp40 = (unsigned long )coords;
4381#line 168
4382 __cil_tmp41 = __cil_tmp40 + 2;
4383#line 168
4384 __cil_tmp42 = *((s16 *)__cil_tmp41);
4385#line 168
4386 __cil_tmp43 = (int )__cil_tmp42;
4387#line 168
4388 __cil_tmp44 = (unsigned long )coords;
4389#line 168
4390 __cil_tmp45 = __cil_tmp44 + 4;
4391#line 168
4392 __cil_tmp46 = *((s16 *)__cil_tmp45);
4393#line 168
4394 __cil_tmp47 = (int )__cil_tmp46;
4395#line 168
4396 __dynamic_dev_dbg(& descriptor, __cil_tmp37, "%s: x %d, y %d, z %d\n", "mpu3050_read_xyz",
4397 __cil_tmp39, __cil_tmp43, __cil_tmp47);
4398 }
4399 } else {
4400
4401 }
4402#line 168
4403 goto while_break___0;
4404 }
4405 while_break___0: ;
4406 }
4407#line 168
4408 goto while_break;
4409 }
4410 while_break: ;
4411 }
4412#line 170
4413 return;
4414}
4415}
4416#line 179 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
4417static void mpu3050_set_power_mode(struct i2c_client *client , u8 val )
4418{ u8 value ;
4419 s32 tmp___7 ;
4420 struct i2c_client const *__cil_tmp5 ;
4421 u8 __cil_tmp6 ;
4422 int __cil_tmp7 ;
4423 int __cil_tmp8 ;
4424 int __cil_tmp9 ;
4425 int __cil_tmp10 ;
4426 int __cil_tmp11 ;
4427 int __cil_tmp12 ;
4428 int __cil_tmp13 ;
4429 struct i2c_client const *__cil_tmp14 ;
4430 u8 __cil_tmp15 ;
4431
4432 {
4433 {
4434#line 183
4435 __cil_tmp5 = (struct i2c_client const *)client;
4436#line 183
4437 __cil_tmp6 = (u8 )62;
4438#line 183
4439 tmp___7 = i2c_smbus_read_byte_data(__cil_tmp5, __cil_tmp6);
4440#line 183
4441 value = (u8 )tmp___7;
4442#line 184
4443 __cil_tmp7 = (int )val;
4444#line 184
4445 __cil_tmp8 = __cil_tmp7 << 6;
4446#line 184
4447 __cil_tmp9 = __cil_tmp8 & 64;
4448#line 184
4449 __cil_tmp10 = __cil_tmp9 ^ 64;
4450#line 184
4451 __cil_tmp11 = (int )value;
4452#line 184
4453 __cil_tmp12 = __cil_tmp11 & -65;
4454#line 184
4455 __cil_tmp13 = __cil_tmp12 | __cil_tmp10;
4456#line 184
4457 value = (u8 )__cil_tmp13;
4458#line 187
4459 __cil_tmp14 = (struct i2c_client const *)client;
4460#line 187
4461 __cil_tmp15 = (u8 )62;
4462#line 187
4463 i2c_smbus_write_byte_data(__cil_tmp14, __cil_tmp15, value);
4464 }
4465#line 188
4466 return;
4467}
4468}
4469#line 198 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
4470static int mpu3050_input_open(struct input_dev *input )
4471{ struct mpu3050_sensor *sensor ;
4472 void *tmp___7 ;
4473 int error ;
4474 unsigned long __cil_tmp5 ;
4475 unsigned long __cil_tmp6 ;
4476 struct device *__cil_tmp7 ;
4477 struct i2c_client *__cil_tmp8 ;
4478 struct i2c_client const *__cil_tmp9 ;
4479 u8 __cil_tmp10 ;
4480 u8 __cil_tmp11 ;
4481 unsigned long __cil_tmp12 ;
4482 unsigned long __cil_tmp13 ;
4483 struct device *__cil_tmp14 ;
4484
4485 {
4486 {
4487#line 200
4488 tmp___7 = input_get_drvdata(input);
4489#line 200
4490 sensor = (struct mpu3050_sensor *)tmp___7;
4491#line 203
4492 __cil_tmp5 = (unsigned long )sensor;
4493#line 203
4494 __cil_tmp6 = __cil_tmp5 + 8;
4495#line 203
4496 __cil_tmp7 = *((struct device **)__cil_tmp6);
4497#line 203
4498 pm_runtime_get(__cil_tmp7);
4499#line 206
4500 __cil_tmp8 = *((struct i2c_client **)sensor);
4501#line 206
4502 __cil_tmp9 = (struct i2c_client const *)__cil_tmp8;
4503#line 206
4504 __cil_tmp10 = (u8 )23;
4505#line 206
4506 __cil_tmp11 = (u8 )7;
4507#line 206
4508 error = i2c_smbus_write_byte_data(__cil_tmp9, __cil_tmp10, __cil_tmp11);
4509 }
4510#line 210
4511 if (error < 0) {
4512 {
4513#line 211
4514 __cil_tmp12 = (unsigned long )sensor;
4515#line 211
4516 __cil_tmp13 = __cil_tmp12 + 8;
4517#line 211
4518 __cil_tmp14 = *((struct device **)__cil_tmp13);
4519#line 211
4520 pm_runtime_put(__cil_tmp14);
4521 }
4522#line 212
4523 return (error);
4524 } else {
4525
4526 }
4527#line 215
4528 return (0);
4529}
4530}
4531#line 225 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
4532static void mpu3050_input_close(struct input_dev *input )
4533{ struct mpu3050_sensor *sensor ;
4534 void *tmp___7 ;
4535 unsigned long __cil_tmp4 ;
4536 unsigned long __cil_tmp5 ;
4537 struct device *__cil_tmp6 ;
4538
4539 {
4540 {
4541#line 227
4542 tmp___7 = input_get_drvdata(input);
4543#line 227
4544 sensor = (struct mpu3050_sensor *)tmp___7;
4545#line 229
4546 __cil_tmp4 = (unsigned long )sensor;
4547#line 229
4548 __cil_tmp5 = __cil_tmp4 + 8;
4549#line 229
4550 __cil_tmp6 = *((struct device **)__cil_tmp5);
4551#line 229
4552 pm_runtime_put(__cil_tmp6);
4553 }
4554#line 230
4555 return;
4556}
4557}
4558#line 240 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
4559static irqreturn_t mpu3050_interrupt_thread(int irq , void *data )
4560{ struct mpu3050_sensor *sensor ;
4561 struct axis_data axis ;
4562 struct i2c_client *__cil_tmp5 ;
4563 unsigned long __cil_tmp6 ;
4564 unsigned long __cil_tmp7 ;
4565 struct input_dev *__cil_tmp8 ;
4566 struct axis_data *__cil_tmp9 ;
4567 s16 __cil_tmp10 ;
4568 int __cil_tmp11 ;
4569 unsigned long __cil_tmp12 ;
4570 unsigned long __cil_tmp13 ;
4571 struct input_dev *__cil_tmp14 ;
4572 unsigned long __cil_tmp15 ;
4573 s16 __cil_tmp16 ;
4574 int __cil_tmp17 ;
4575 unsigned long __cil_tmp18 ;
4576 unsigned long __cil_tmp19 ;
4577 struct input_dev *__cil_tmp20 ;
4578 unsigned long __cil_tmp21 ;
4579 s16 __cil_tmp22 ;
4580 int __cil_tmp23 ;
4581 unsigned long __cil_tmp24 ;
4582 unsigned long __cil_tmp25 ;
4583 struct input_dev *__cil_tmp26 ;
4584
4585 {
4586 {
4587#line 242
4588 sensor = (struct mpu3050_sensor *)data;
4589#line 245
4590 __cil_tmp5 = *((struct i2c_client **)sensor);
4591#line 245
4592 mpu3050_read_xyz(__cil_tmp5, & axis);
4593#line 247
4594 __cil_tmp6 = (unsigned long )sensor;
4595#line 247
4596 __cil_tmp7 = __cil_tmp6 + 16;
4597#line 247
4598 __cil_tmp8 = *((struct input_dev **)__cil_tmp7);
4599#line 247
4600 __cil_tmp9 = & axis;
4601#line 247
4602 __cil_tmp10 = *((s16 *)__cil_tmp9);
4603#line 247
4604 __cil_tmp11 = (int )__cil_tmp10;
4605#line 247
4606 input_report_abs(__cil_tmp8, 0U, __cil_tmp11);
4607#line 248
4608 __cil_tmp12 = (unsigned long )sensor;
4609#line 248
4610 __cil_tmp13 = __cil_tmp12 + 16;
4611#line 248
4612 __cil_tmp14 = *((struct input_dev **)__cil_tmp13);
4613#line 248
4614 __cil_tmp15 = (unsigned long )(& axis) + 2;
4615#line 248
4616 __cil_tmp16 = *((s16 *)__cil_tmp15);
4617#line 248
4618 __cil_tmp17 = (int )__cil_tmp16;
4619#line 248
4620 input_report_abs(__cil_tmp14, 1U, __cil_tmp17);
4621#line 249
4622 __cil_tmp18 = (unsigned long )sensor;
4623#line 249
4624 __cil_tmp19 = __cil_tmp18 + 16;
4625#line 249
4626 __cil_tmp20 = *((struct input_dev **)__cil_tmp19);
4627#line 249
4628 __cil_tmp21 = (unsigned long )(& axis) + 4;
4629#line 249
4630 __cil_tmp22 = *((s16 *)__cil_tmp21);
4631#line 249
4632 __cil_tmp23 = (int )__cil_tmp22;
4633#line 249
4634 input_report_abs(__cil_tmp20, 2U, __cil_tmp23);
4635#line 250
4636 __cil_tmp24 = (unsigned long )sensor;
4637#line 250
4638 __cil_tmp25 = __cil_tmp24 + 16;
4639#line 250
4640 __cil_tmp26 = *((struct input_dev **)__cil_tmp25);
4641#line 250
4642 input_sync(__cil_tmp26);
4643 }
4644#line 252
4645 return ((irqreturn_t )1);
4646}
4647}
4648#line 261
4649static int mpu3050_hw_init(struct mpu3050_sensor *sensor ) __attribute__((__section__(".devinit.text"),
4650__no_instrument_function__)) ;
4651#line 261 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
4652static int mpu3050_hw_init(struct mpu3050_sensor *sensor )
4653{ struct i2c_client *client ;
4654 int ret ;
4655 u8 reg ;
4656 struct i2c_client const *__cil_tmp5 ;
4657 u8 __cil_tmp6 ;
4658 u8 __cil_tmp7 ;
4659 struct i2c_client const *__cil_tmp8 ;
4660 u8 __cil_tmp9 ;
4661 struct i2c_client const *__cil_tmp10 ;
4662 u8 __cil_tmp11 ;
4663 u8 __cil_tmp12 ;
4664 struct i2c_client const *__cil_tmp13 ;
4665 u8 __cil_tmp14 ;
4666 u8 __cil_tmp15 ;
4667 int __cil_tmp16 ;
4668 int __cil_tmp17 ;
4669 int __cil_tmp18 ;
4670 int __cil_tmp19 ;
4671 struct i2c_client const *__cil_tmp20 ;
4672 u8 __cil_tmp21 ;
4673
4674 {
4675 {
4676#line 263
4677 client = *((struct i2c_client **)sensor);
4678#line 268
4679 __cil_tmp5 = (struct i2c_client const *)client;
4680#line 268
4681 __cil_tmp6 = (u8 )62;
4682#line 268
4683 __cil_tmp7 = (u8 )128;
4684#line 268
4685 ret = i2c_smbus_write_byte_data(__cil_tmp5, __cil_tmp6, __cil_tmp7);
4686 }
4687#line 270
4688 if (ret < 0) {
4689#line 271
4690 return (ret);
4691 } else {
4692
4693 }
4694 {
4695#line 273
4696 __cil_tmp8 = (struct i2c_client const *)client;
4697#line 273
4698 __cil_tmp9 = (u8 )62;
4699#line 273
4700 ret = i2c_smbus_read_byte_data(__cil_tmp8, __cil_tmp9);
4701 }
4702#line 274
4703 if (ret < 0) {
4704#line 275
4705 return (ret);
4706 } else {
4707
4708 }
4709 {
4710#line 277
4711 ret = ret & -8;
4712#line 278
4713 ret = ret | 3;
4714#line 279
4715 __cil_tmp10 = (struct i2c_client const *)client;
4716#line 279
4717 __cil_tmp11 = (u8 )62;
4718#line 279
4719 __cil_tmp12 = (u8 )ret;
4720#line 279
4721 ret = i2c_smbus_write_byte_data(__cil_tmp10, __cil_tmp11, __cil_tmp12);
4722 }
4723#line 280
4724 if (ret < 0) {
4725#line 281
4726 return (ret);
4727 } else {
4728
4729 }
4730 {
4731#line 284
4732 __cil_tmp13 = (struct i2c_client const *)client;
4733#line 284
4734 __cil_tmp14 = (u8 )21;
4735#line 284
4736 __cil_tmp15 = (u8 )199;
4737#line 284
4738 ret = i2c_smbus_write_byte_data(__cil_tmp13, __cil_tmp14, __cil_tmp15);
4739 }
4740#line 286
4741 if (ret < 0) {
4742#line 287
4743 return (ret);
4744 } else {
4745
4746 }
4747 {
4748#line 290
4749 reg = (u8 )3;
4750#line 291
4751 __cil_tmp16 = 3 << 3;
4752#line 291
4753 __cil_tmp17 = (int )reg;
4754#line 291
4755 __cil_tmp18 = __cil_tmp17 | __cil_tmp16;
4756#line 291
4757 reg = (u8 )__cil_tmp18;
4758#line 292
4759 __cil_tmp19 = (int )reg;
4760#line 292
4761 reg = (u8 )__cil_tmp19;
4762#line 293
4763 __cil_tmp20 = (struct i2c_client const *)client;
4764#line 293
4765 __cil_tmp21 = (u8 )22;
4766#line 293
4767 ret = i2c_smbus_write_byte_data(__cil_tmp20, __cil_tmp21, reg);
4768 }
4769#line 294
4770 if (ret < 0) {
4771#line 295
4772 return (ret);
4773 } else {
4774
4775 }
4776#line 297
4777 return (0);
4778}
4779}
4780#line 310
4781static int mpu3050_probe(struct i2c_client *client , struct i2c_device_id const *id ) __attribute__((__section__(".devinit.text"),
4782__no_instrument_function__)) ;
4783#line 310 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
4784static int mpu3050_probe(struct i2c_client *client , struct i2c_device_id const *id )
4785{ struct mpu3050_sensor *sensor ;
4786 struct input_dev *idev ;
4787 int ret ;
4788 int error ;
4789 void *tmp___7 ;
4790 unsigned long __cil_tmp8 ;
4791 unsigned long __cil_tmp9 ;
4792 struct device *__cil_tmp10 ;
4793 struct device const *__cil_tmp11 ;
4794 unsigned long __cil_tmp12 ;
4795 unsigned long __cil_tmp13 ;
4796 struct device *__cil_tmp14 ;
4797 struct device const *__cil_tmp15 ;
4798 unsigned long __cil_tmp16 ;
4799 unsigned long __cil_tmp17 ;
4800 unsigned long __cil_tmp18 ;
4801 unsigned long __cil_tmp19 ;
4802 unsigned long __cil_tmp20 ;
4803 unsigned long __cil_tmp21 ;
4804 u8 __cil_tmp22 ;
4805 struct i2c_client const *__cil_tmp23 ;
4806 u8 __cil_tmp24 ;
4807 unsigned long __cil_tmp25 ;
4808 unsigned long __cil_tmp26 ;
4809 struct device *__cil_tmp27 ;
4810 struct device const *__cil_tmp28 ;
4811 unsigned long __cil_tmp29 ;
4812 unsigned long __cil_tmp30 ;
4813 struct device *__cil_tmp31 ;
4814 struct device const *__cil_tmp32 ;
4815 unsigned long __cil_tmp33 ;
4816 unsigned long __cil_tmp34 ;
4817 unsigned long __cil_tmp35 ;
4818 unsigned long __cil_tmp36 ;
4819 unsigned long __cil_tmp37 ;
4820 unsigned long __cil_tmp38 ;
4821 unsigned long __cil_tmp39 ;
4822 unsigned long __cil_tmp40 ;
4823 unsigned long __cil_tmp41 ;
4824 unsigned long __cil_tmp42 ;
4825 unsigned long __cil_tmp43 ;
4826 unsigned long __cil_tmp44 ;
4827 unsigned long __cil_tmp45 ;
4828 unsigned long __cil_tmp46 ;
4829 unsigned long *__cil_tmp47 ;
4830 unsigned long volatile *__cil_tmp48 ;
4831 void *__cil_tmp49 ;
4832 unsigned long __cil_tmp50 ;
4833 unsigned long __cil_tmp51 ;
4834 struct device *__cil_tmp52 ;
4835 unsigned long __cil_tmp53 ;
4836 unsigned long __cil_tmp54 ;
4837 int __cil_tmp55 ;
4838 unsigned int __cil_tmp56 ;
4839 void *__cil_tmp57 ;
4840 irqreturn_t (*__cil_tmp58)(int , void * ) ;
4841 void *__cil_tmp59 ;
4842 unsigned long __cil_tmp60 ;
4843 unsigned long __cil_tmp61 ;
4844 struct device *__cil_tmp62 ;
4845 struct device const *__cil_tmp63 ;
4846 unsigned long __cil_tmp64 ;
4847 unsigned long __cil_tmp65 ;
4848 int __cil_tmp66 ;
4849 unsigned long __cil_tmp67 ;
4850 unsigned long __cil_tmp68 ;
4851 struct device *__cil_tmp69 ;
4852 struct device const *__cil_tmp70 ;
4853 unsigned long __cil_tmp71 ;
4854 unsigned long __cil_tmp72 ;
4855 struct device *__cil_tmp73 ;
4856 unsigned long __cil_tmp74 ;
4857 unsigned long __cil_tmp75 ;
4858 struct device *__cil_tmp76 ;
4859 unsigned long __cil_tmp77 ;
4860 unsigned long __cil_tmp78 ;
4861 int __cil_tmp79 ;
4862 unsigned int __cil_tmp80 ;
4863 void *__cil_tmp81 ;
4864 unsigned long __cil_tmp82 ;
4865 unsigned long __cil_tmp83 ;
4866 struct device *__cil_tmp84 ;
4867 void const *__cil_tmp85 ;
4868
4869 {
4870 {
4871#line 318
4872 tmp___7 = kzalloc(24UL, 208U);
4873#line 318
4874 sensor = (struct mpu3050_sensor *)tmp___7;
4875#line 319
4876 idev = input_allocate_device();
4877 }
4878#line 320
4879 if (! sensor) {
4880 {
4881#line 321
4882 __cil_tmp8 = (unsigned long )client;
4883#line 321
4884 __cil_tmp9 = __cil_tmp8 + 40;
4885#line 321
4886 __cil_tmp10 = (struct device *)__cil_tmp9;
4887#line 321
4888 __cil_tmp11 = (struct device const *)__cil_tmp10;
4889#line 321
4890 dev_err(__cil_tmp11, "failed to allocate driver data\n");
4891#line 322
4892 error = -12;
4893 }
4894#line 323
4895 goto err_free_mem;
4896 } else
4897#line 320
4898 if (! idev) {
4899 {
4900#line 321
4901 __cil_tmp12 = (unsigned long )client;
4902#line 321
4903 __cil_tmp13 = __cil_tmp12 + 40;
4904#line 321
4905 __cil_tmp14 = (struct device *)__cil_tmp13;
4906#line 321
4907 __cil_tmp15 = (struct device const *)__cil_tmp14;
4908#line 321
4909 dev_err(__cil_tmp15, "failed to allocate driver data\n");
4910#line 322
4911 error = -12;
4912 }
4913#line 323
4914 goto err_free_mem;
4915 } else {
4916
4917 }
4918 {
4919#line 326
4920 *((struct i2c_client **)sensor) = client;
4921#line 327
4922 __cil_tmp16 = (unsigned long )sensor;
4923#line 327
4924 __cil_tmp17 = __cil_tmp16 + 8;
4925#line 327
4926 __cil_tmp18 = (unsigned long )client;
4927#line 327
4928 __cil_tmp19 = __cil_tmp18 + 40;
4929#line 327
4930 *((struct device **)__cil_tmp17) = (struct device *)__cil_tmp19;
4931#line 328
4932 __cil_tmp20 = (unsigned long )sensor;
4933#line 328
4934 __cil_tmp21 = __cil_tmp20 + 16;
4935#line 328
4936 *((struct input_dev **)__cil_tmp21) = idev;
4937#line 330
4938 __cil_tmp22 = (u8 )1;
4939#line 330
4940 mpu3050_set_power_mode(client, __cil_tmp22);
4941#line 331
4942 msleep(10U);
4943#line 333
4944 __cil_tmp23 = (struct i2c_client const *)client;
4945#line 333
4946 __cil_tmp24 = (u8 )0;
4947#line 333
4948 ret = i2c_smbus_read_byte_data(__cil_tmp23, __cil_tmp24);
4949 }
4950#line 334
4951 if (ret < 0) {
4952 {
4953#line 335
4954 __cil_tmp25 = (unsigned long )client;
4955#line 335
4956 __cil_tmp26 = __cil_tmp25 + 40;
4957#line 335
4958 __cil_tmp27 = (struct device *)__cil_tmp26;
4959#line 335
4960 __cil_tmp28 = (struct device const *)__cil_tmp27;
4961#line 335
4962 dev_err(__cil_tmp28, "failed to detect device\n");
4963#line 336
4964 error = -6;
4965 }
4966#line 337
4967 goto err_free_mem;
4968 } else {
4969
4970 }
4971#line 340
4972 if (ret != 105) {
4973 {
4974#line 341
4975 __cil_tmp29 = (unsigned long )client;
4976#line 341
4977 __cil_tmp30 = __cil_tmp29 + 40;
4978#line 341
4979 __cil_tmp31 = (struct device *)__cil_tmp30;
4980#line 341
4981 __cil_tmp32 = (struct device const *)__cil_tmp31;
4982#line 341
4983 dev_err(__cil_tmp32, "unsupported chip id\n");
4984#line 342
4985 error = -6;
4986 }
4987#line 343
4988 goto err_free_mem;
4989 } else {
4990
4991 }
4992 {
4993#line 346
4994 *((char const **)idev) = "MPU3050";
4995#line 347
4996 __cil_tmp33 = (unsigned long )idev;
4997#line 347
4998 __cil_tmp34 = __cil_tmp33 + 24;
4999#line 347
5000 *((__u16 *)__cil_tmp34) = (__u16 )24;
5001#line 348
5002 __cil_tmp35 = (unsigned long )idev;
5003#line 348
5004 __cil_tmp36 = __cil_tmp35 + 648;
5005#line 348
5006 __cil_tmp37 = (unsigned long )client;
5007#line 348
5008 __cil_tmp38 = __cil_tmp37 + 40;
5009#line 348
5010 *((struct device **)__cil_tmp36) = (struct device *)__cil_tmp38;
5011#line 350
5012 __cil_tmp39 = (unsigned long )idev;
5013#line 350
5014 __cil_tmp40 = __cil_tmp39 + 504;
5015#line 350
5016 *((int (**)(struct input_dev *dev ))__cil_tmp40) = & mpu3050_input_open;
5017#line 351
5018 __cil_tmp41 = (unsigned long )idev;
5019#line 351
5020 __cil_tmp42 = __cil_tmp41 + 512;
5021#line 351
5022 *((void (**)(struct input_dev *dev ))__cil_tmp42) = & mpu3050_input_close;
5023#line 353
5024 __cil_tmp43 = 0 * 8UL;
5025#line 353
5026 __cil_tmp44 = 40 + __cil_tmp43;
5027#line 353
5028 __cil_tmp45 = (unsigned long )idev;
5029#line 353
5030 __cil_tmp46 = __cil_tmp45 + __cil_tmp44;
5031#line 353
5032 __cil_tmp47 = (unsigned long *)__cil_tmp46;
5033#line 353
5034 __cil_tmp48 = (unsigned long volatile *)__cil_tmp47;
5035#line 353
5036 __set_bit(3, __cil_tmp48);
5037#line 354
5038 input_set_abs_params(idev, 0U, -32768, 32767, 0, 0);
5039#line 356
5040 input_set_abs_params(idev, 1U, -32768, 32767, 0, 0);
5041#line 358
5042 input_set_abs_params(idev, 2U, -32768, 32767, 0, 0);
5043#line 361
5044 __cil_tmp49 = (void *)sensor;
5045#line 361
5046 input_set_drvdata(idev, __cil_tmp49);
5047#line 363
5048 __cil_tmp50 = (unsigned long )client;
5049#line 363
5050 __cil_tmp51 = __cil_tmp50 + 40;
5051#line 363
5052 __cil_tmp52 = (struct device *)__cil_tmp51;
5053#line 363
5054 pm_runtime_set_active(__cil_tmp52);
5055#line 365
5056 error = mpu3050_hw_init(sensor);
5057 }
5058#line 366
5059 if (error) {
5060#line 367
5061 goto err_pm_set_suspended;
5062 } else {
5063
5064 }
5065 {
5066#line 369
5067 __cil_tmp53 = (unsigned long )client;
5068#line 369
5069 __cil_tmp54 = __cil_tmp53 + 808;
5070#line 369
5071 __cil_tmp55 = *((int *)__cil_tmp54);
5072#line 369
5073 __cil_tmp56 = (unsigned int )__cil_tmp55;
5074#line 369
5075 __cil_tmp57 = (void *)0;
5076#line 369
5077 __cil_tmp58 = (irqreturn_t (*)(int , void * ))__cil_tmp57;
5078#line 369
5079 __cil_tmp59 = (void *)sensor;
5080#line 369
5081 error = (int )request_threaded_irq(__cil_tmp56, __cil_tmp58, & mpu3050_interrupt_thread,
5082 1UL, "mpu3050", __cil_tmp59);
5083 }
5084#line 373
5085 if (error) {
5086 {
5087#line 374
5088 __cil_tmp60 = (unsigned long )client;
5089#line 374
5090 __cil_tmp61 = __cil_tmp60 + 40;
5091#line 374
5092 __cil_tmp62 = (struct device *)__cil_tmp61;
5093#line 374
5094 __cil_tmp63 = (struct device const *)__cil_tmp62;
5095#line 374
5096 __cil_tmp64 = (unsigned long )client;
5097#line 374
5098 __cil_tmp65 = __cil_tmp64 + 808;
5099#line 374
5100 __cil_tmp66 = *((int *)__cil_tmp65);
5101#line 374
5102 dev_err(__cil_tmp63, "can\'t get IRQ %d, error %d\n", __cil_tmp66, error);
5103 }
5104#line 376
5105 goto err_pm_set_suspended;
5106 } else {
5107
5108 }
5109 {
5110#line 379
5111 error = (int )input_register_device(idev);
5112 }
5113#line 380
5114 if (error) {
5115 {
5116#line 381
5117 __cil_tmp67 = (unsigned long )client;
5118#line 381
5119 __cil_tmp68 = __cil_tmp67 + 40;
5120#line 381
5121 __cil_tmp69 = (struct device *)__cil_tmp68;
5122#line 381
5123 __cil_tmp70 = (struct device const *)__cil_tmp69;
5124#line 381
5125 dev_err(__cil_tmp70, "failed to register input device\n");
5126 }
5127#line 382
5128 goto err_free_irq;
5129 } else {
5130
5131 }
5132 {
5133#line 385
5134 __cil_tmp71 = (unsigned long )client;
5135#line 385
5136 __cil_tmp72 = __cil_tmp71 + 40;
5137#line 385
5138 __cil_tmp73 = (struct device *)__cil_tmp72;
5139#line 385
5140 pm_runtime_enable(__cil_tmp73);
5141#line 386
5142 __cil_tmp74 = (unsigned long )client;
5143#line 386
5144 __cil_tmp75 = __cil_tmp74 + 40;
5145#line 386
5146 __cil_tmp76 = (struct device *)__cil_tmp75;
5147#line 386
5148 pm_runtime_set_autosuspend_delay(__cil_tmp76, 1000);
5149 }
5150#line 388
5151 return (0);
5152 err_free_irq:
5153 {
5154#line 391
5155 __cil_tmp77 = (unsigned long )client;
5156#line 391
5157 __cil_tmp78 = __cil_tmp77 + 808;
5158#line 391
5159 __cil_tmp79 = *((int *)__cil_tmp78);
5160#line 391
5161 __cil_tmp80 = (unsigned int )__cil_tmp79;
5162#line 391
5163 __cil_tmp81 = (void *)sensor;
5164#line 391
5165 free_irq(__cil_tmp80, __cil_tmp81);
5166 }
5167 err_pm_set_suspended:
5168 {
5169#line 393
5170 __cil_tmp82 = (unsigned long )client;
5171#line 393
5172 __cil_tmp83 = __cil_tmp82 + 40;
5173#line 393
5174 __cil_tmp84 = (struct device *)__cil_tmp83;
5175#line 393
5176 pm_runtime_set_suspended(__cil_tmp84);
5177 }
5178 err_free_mem:
5179 {
5180#line 395
5181 input_free_device(idev);
5182#line 396
5183 __cil_tmp85 = (void const *)sensor;
5184#line 396
5185 kfree(__cil_tmp85);
5186 }
5187#line 397
5188 return (error);
5189}
5190}
5191#line 406
5192static int mpu3050_remove(struct i2c_client *client ) __attribute__((__section__(".devexit.text"),
5193__no_instrument_function__)) ;
5194#line 406 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
5195static int mpu3050_remove(struct i2c_client *client )
5196{ struct mpu3050_sensor *sensor ;
5197 void *tmp___7 ;
5198 struct i2c_client const *__cil_tmp4 ;
5199 unsigned long __cil_tmp5 ;
5200 unsigned long __cil_tmp6 ;
5201 struct device *__cil_tmp7 ;
5202 unsigned long __cil_tmp8 ;
5203 unsigned long __cil_tmp9 ;
5204 struct device *__cil_tmp10 ;
5205 unsigned long __cil_tmp11 ;
5206 unsigned long __cil_tmp12 ;
5207 int __cil_tmp13 ;
5208 unsigned int __cil_tmp14 ;
5209 void *__cil_tmp15 ;
5210 unsigned long __cil_tmp16 ;
5211 unsigned long __cil_tmp17 ;
5212 struct input_dev *__cil_tmp18 ;
5213 void const *__cil_tmp19 ;
5214
5215 {
5216 {
5217#line 408
5218 __cil_tmp4 = (struct i2c_client const *)client;
5219#line 408
5220 tmp___7 = i2c_get_clientdata(__cil_tmp4);
5221#line 408
5222 sensor = (struct mpu3050_sensor *)tmp___7;
5223#line 410
5224 __cil_tmp5 = (unsigned long )client;
5225#line 410
5226 __cil_tmp6 = __cil_tmp5 + 40;
5227#line 410
5228 __cil_tmp7 = (struct device *)__cil_tmp6;
5229#line 410
5230 pm_runtime_disable(__cil_tmp7);
5231#line 411
5232 __cil_tmp8 = (unsigned long )client;
5233#line 411
5234 __cil_tmp9 = __cil_tmp8 + 40;
5235#line 411
5236 __cil_tmp10 = (struct device *)__cil_tmp9;
5237#line 411
5238 pm_runtime_set_suspended(__cil_tmp10);
5239#line 413
5240 __cil_tmp11 = (unsigned long )client;
5241#line 413
5242 __cil_tmp12 = __cil_tmp11 + 808;
5243#line 413
5244 __cil_tmp13 = *((int *)__cil_tmp12);
5245#line 413
5246 __cil_tmp14 = (unsigned int )__cil_tmp13;
5247#line 413
5248 __cil_tmp15 = (void *)sensor;
5249#line 413
5250 free_irq(__cil_tmp14, __cil_tmp15);
5251#line 414
5252 __cil_tmp16 = (unsigned long )sensor;
5253#line 414
5254 __cil_tmp17 = __cil_tmp16 + 16;
5255#line 414
5256 __cil_tmp18 = *((struct input_dev **)__cil_tmp17);
5257#line 414
5258 input_unregister_device(__cil_tmp18);
5259#line 415
5260 __cil_tmp19 = (void const *)sensor;
5261#line 415
5262 kfree(__cil_tmp19);
5263 }
5264#line 417
5265 return (0);
5266}
5267}
5268#line 427 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
5269static int mpu3050_suspend(struct device *dev )
5270{ struct i2c_client *client ;
5271 struct device const *__mptr ;
5272 struct i2c_client *__cil_tmp4 ;
5273 unsigned long __cil_tmp5 ;
5274 unsigned long __cil_tmp6 ;
5275 struct device *__cil_tmp7 ;
5276 unsigned int __cil_tmp8 ;
5277 char *__cil_tmp9 ;
5278 char *__cil_tmp10 ;
5279 u8 __cil_tmp11 ;
5280
5281 {
5282 {
5283#line 429
5284 __mptr = (struct device const *)dev;
5285#line 429
5286 __cil_tmp4 = (struct i2c_client *)0;
5287#line 429
5288 __cil_tmp5 = (unsigned long )__cil_tmp4;
5289#line 429
5290 __cil_tmp6 = __cil_tmp5 + 40;
5291#line 429
5292 __cil_tmp7 = (struct device *)__cil_tmp6;
5293#line 429
5294 __cil_tmp8 = (unsigned int )__cil_tmp7;
5295#line 429
5296 __cil_tmp9 = (char *)__mptr;
5297#line 429
5298 __cil_tmp10 = __cil_tmp9 - __cil_tmp8;
5299#line 429
5300 client = (struct i2c_client *)__cil_tmp10;
5301#line 431
5302 __cil_tmp11 = (u8 )0;
5303#line 431
5304 mpu3050_set_power_mode(client, __cil_tmp11);
5305 }
5306#line 433
5307 return (0);
5308}
5309}
5310#line 442 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
5311static int mpu3050_resume(struct device *dev )
5312{ struct i2c_client *client ;
5313 struct device const *__mptr ;
5314 struct i2c_client *__cil_tmp4 ;
5315 unsigned long __cil_tmp5 ;
5316 unsigned long __cil_tmp6 ;
5317 struct device *__cil_tmp7 ;
5318 unsigned int __cil_tmp8 ;
5319 char *__cil_tmp9 ;
5320 char *__cil_tmp10 ;
5321 u8 __cil_tmp11 ;
5322
5323 {
5324 {
5325#line 444
5326 __mptr = (struct device const *)dev;
5327#line 444
5328 __cil_tmp4 = (struct i2c_client *)0;
5329#line 444
5330 __cil_tmp5 = (unsigned long )__cil_tmp4;
5331#line 444
5332 __cil_tmp6 = __cil_tmp5 + 40;
5333#line 444
5334 __cil_tmp7 = (struct device *)__cil_tmp6;
5335#line 444
5336 __cil_tmp8 = (unsigned int )__cil_tmp7;
5337#line 444
5338 __cil_tmp9 = (char *)__mptr;
5339#line 444
5340 __cil_tmp10 = __cil_tmp9 - __cil_tmp8;
5341#line 444
5342 client = (struct i2c_client *)__cil_tmp10;
5343#line 446
5344 __cil_tmp11 = (u8 )1;
5345#line 446
5346 mpu3050_set_power_mode(client, __cil_tmp11);
5347#line 447
5348 msleep(100U);
5349 }
5350#line 449
5351 return (0);
5352}
5353}
5354#line 453 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
5355static struct dev_pm_ops const mpu3050_pm =
5356#line 453
5357 {(int (*)(struct device *dev ))0, (void (*)(struct device *dev ))0, & mpu3050_suspend,
5358 & mpu3050_resume, & mpu3050_suspend, & mpu3050_resume, & mpu3050_suspend, & mpu3050_resume,
5359 (int (*)(struct device *dev ))0, (int (*)(struct device *dev ))0, (int (*)(struct device *dev ))0,
5360 (int (*)(struct device *dev ))0, (int (*)(struct device *dev ))0, (int (*)(struct device *dev ))0,
5361 (int (*)(struct device *dev ))0, (int (*)(struct device *dev ))0, (int (*)(struct device *dev ))0,
5362 (int (*)(struct device *dev ))0, (int (*)(struct device *dev ))0, (int (*)(struct device *dev ))0,
5363 & mpu3050_suspend, & mpu3050_resume, (int (*)(struct device *dev ))((void *)0)};
5364#line 455 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
5365static struct i2c_device_id const mpu3050_ids[1] = { {{(char )'m', (char )'p', (char )'u', (char )'3', (char )'0', (char )'5', (char )'0',
5366 (char )'\000', (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0,
5367 (char)0, (char)0, (char)0, (char)0, (char)0}, (kernel_ulong_t )0}};
5368#line 459
5369extern struct i2c_device_id const __mod_i2c_device_table __attribute__((__unused__,
5370__alias__("mpu3050_ids"))) ;
5371#line 461 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
5372static struct of_device_id const mpu3050_of_match[1] = { {{(char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0,
5373 (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0,
5374 (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0,
5375 (char)0, (char)0, (char)0, (char)0, (char)0}, {(char)0, (char)0, (char)0, (char)0,
5376 (char)0, (char)0, (char)0, (char)0,
5377 (char)0, (char)0, (char)0, (char)0,
5378 (char)0, (char)0, (char)0, (char)0,
5379 (char)0, (char)0, (char)0, (char)0,
5380 (char)0, (char)0, (char)0, (char)0,
5381 (char)0, (char)0, (char)0, (char)0,
5382 (char)0, (char)0, (char)0, (char)0},
5383 {(char )'i', (char )'n', (char )'v', (char )'n', (char )',', (char )'m', (char )'p',
5384 (char )'u', (char )'3', (char )'0', (char )'5', (char )'0', (char )'\000'},
5385 (void *)0}};
5386#line 465
5387extern struct of_device_id const __mod_of_device_table __attribute__((__unused__,
5388__alias__("mpu3050_of_match"))) ;
5389#line 467 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
5390static struct i2c_driver mpu3050_i2c_driver =
5391#line 467
5392 {0U, (int (*)(struct i2c_adapter * ))0, (int (*)(struct i2c_adapter * ))0, & mpu3050_probe,
5393 & mpu3050_remove, (void (*)(struct i2c_client * ))0, (int (*)(struct i2c_client * ,
5394 pm_message_t mesg ))0,
5395 (int (*)(struct i2c_client * ))0, (void (*)(struct i2c_client * , unsigned int data ))0,
5396 (int (*)(struct i2c_client *client , unsigned int cmd , void *arg ))0, {"mpu3050",
5397 (struct bus_type *)0,
5398 & __this_module,
5399 (char const *)0,
5400 (_Bool)0,
5401 mpu3050_of_match,
5402 (int (*)(struct device *dev ))0,
5403 (int (*)(struct device *dev ))0,
5404 (void (*)(struct device *dev ))0,
5405 (int (*)(struct device *dev ,
5406 pm_message_t state ))0,
5407 (int (*)(struct device *dev ))0,
5408 (struct attribute_group const **)0,
5409 & mpu3050_pm,
5410 (struct driver_private *)0},
5411 mpu3050_ids, (int (*)(struct i2c_client * , struct i2c_board_info * ))0, (unsigned short const *)0,
5412 {(struct list_head *)0, (struct list_head *)0}};
5413#line 479
5414static int mpu3050_i2c_driver_init(void) __attribute__((__section__(".init.text"),
5415__no_instrument_function__)) ;
5416#line 479 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
5417static int mpu3050_i2c_driver_init(void)
5418{ int tmp___7 ;
5419
5420 {
5421 {
5422#line 479
5423 tmp___7 = i2c_register_driver(& __this_module, & mpu3050_i2c_driver);
5424 }
5425#line 479
5426 return (tmp___7);
5427}
5428}
5429#line 479 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
5430int init_module(void)
5431{ int tmp___7 ;
5432
5433 {
5434 {
5435#line 479
5436 tmp___7 = mpu3050_i2c_driver_init();
5437 }
5438#line 479
5439 return (tmp___7);
5440}
5441}
5442#line 479
5443static void mpu3050_i2c_driver_exit(void) __attribute__((__section__(".exit.text"),
5444__no_instrument_function__)) ;
5445#line 479 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
5446static void mpu3050_i2c_driver_exit(void)
5447{
5448
5449 {
5450 {
5451#line 479
5452 i2c_del_driver(& mpu3050_i2c_driver);
5453 }
5454#line 479
5455 return;
5456}
5457}
5458#line 479 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
5459void cleanup_module(void)
5460{
5461
5462 {
5463 {
5464#line 479
5465 mpu3050_i2c_driver_exit();
5466 }
5467#line 479
5468 return;
5469}
5470}
5471#line 481 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
5472static char const __mod_author481[21] __attribute__((__used__, __unused__, __section__(".modinfo"),
5473__aligned__(1))) =
5474#line 481
5475 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
5476 (char const )'o', (char const )'r', (char const )'=', (char const )'W',
5477 (char const )'i', (char const )'s', (char const )'t', (char const )'r',
5478 (char const )'o', (char const )'n', (char const )' ', (char const )'C',
5479 (char const )'o', (char const )'r', (char const )'p', (char const )'.',
5480 (char const )'\000'};
5481#line 482 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
5482static char const __mod_description482[46] __attribute__((__used__, __unused__,
5483__section__(".modinfo"), __aligned__(1))) =
5484#line 482
5485 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
5486 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
5487 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
5488 (char const )'M', (char const )'P', (char const )'U', (char const )'3',
5489 (char const )'0', (char const )'5', (char const )'0', (char const )' ',
5490 (char const )'T', (char const )'r', (char const )'i', (char const )'-',
5491 (char const )'a', (char const )'x', (char const )'i', (char const )'s',
5492 (char const )' ', (char const )'g', (char const )'y', (char const )'r',
5493 (char const )'o', (char const )'s', (char const )'c', (char const )'o',
5494 (char const )'p', (char const )'e', (char const )' ', (char const )'d',
5495 (char const )'r', (char const )'i', (char const )'v', (char const )'e',
5496 (char const )'r', (char const )'\000'};
5497#line 483 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
5498static char const __mod_license483[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
5499__aligned__(1))) =
5500#line 483
5501 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
5502 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
5503 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
5504#line 501
5505void ldv_check_final_state(void) ;
5506#line 504
5507extern void ldv_check_return_value(int res ) ;
5508#line 507
5509extern void ldv_initialize(void) ;
5510#line 510
5511extern int __VERIFIER_nondet_int(void) ;
5512#line 513 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
5513int LDV_IN_INTERRUPT ;
5514#line 580 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
5515static int res_mpu3050_probe_7 ;
5516#line 516 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
5517void main(void)
5518{ struct i2c_client *var_group1 ;
5519 struct i2c_device_id const *var_mpu3050_probe_7_p1 ;
5520 int var_mpu3050_interrupt_thread_5_p0 ;
5521 void *var_mpu3050_interrupt_thread_5_p1 ;
5522 int ldv_s_mpu3050_i2c_driver_i2c_driver ;
5523 int tmp___7 ;
5524 int tmp___8 ;
5525 int __cil_tmp8 ;
5526
5527 {
5528 {
5529#line 654
5530 LDV_IN_INTERRUPT = 1;
5531#line 663
5532 ldv_initialize();
5533#line 664
5534 ldv_s_mpu3050_i2c_driver_i2c_driver = 0;
5535 }
5536 {
5537#line 669
5538 while (1) {
5539 while_continue: ;
5540 {
5541#line 669
5542 tmp___8 = __VERIFIER_nondet_int();
5543 }
5544#line 669
5545 if (tmp___8) {
5546
5547 } else {
5548 {
5549#line 669
5550 __cil_tmp8 = ldv_s_mpu3050_i2c_driver_i2c_driver == 0;
5551#line 669
5552 if (! __cil_tmp8) {
5553
5554 } else {
5555#line 669
5556 goto while_break;
5557 }
5558 }
5559 }
5560 {
5561#line 673
5562 tmp___7 = __VERIFIER_nondet_int();
5563 }
5564#line 675
5565 if (tmp___7 == 0) {
5566#line 675
5567 goto case_0;
5568 } else
5569#line 748
5570 if (tmp___7 == 1) {
5571#line 748
5572 goto case_1;
5573 } else {
5574 {
5575#line 818
5576 goto switch_default;
5577#line 673
5578 if (0) {
5579 case_0:
5580#line 678
5581 if (ldv_s_mpu3050_i2c_driver_i2c_driver == 0) {
5582 {
5583#line 733
5584 res_mpu3050_probe_7 = mpu3050_probe(var_group1, var_mpu3050_probe_7_p1);
5585#line 734
5586 ldv_check_return_value(res_mpu3050_probe_7);
5587 }
5588#line 735
5589 if (res_mpu3050_probe_7) {
5590#line 736
5591 goto ldv_module_exit;
5592 } else {
5593
5594 }
5595#line 741
5596 ldv_s_mpu3050_i2c_driver_i2c_driver = 0;
5597 } else {
5598
5599 }
5600#line 747
5601 goto switch_break;
5602 case_1:
5603 {
5604#line 751
5605 LDV_IN_INTERRUPT = 2;
5606#line 806
5607 mpu3050_interrupt_thread(var_mpu3050_interrupt_thread_5_p0, var_mpu3050_interrupt_thread_5_p1);
5608#line 811
5609 LDV_IN_INTERRUPT = 1;
5610 }
5611#line 817
5612 goto switch_break;
5613 switch_default:
5614#line 818
5615 goto switch_break;
5616 } else {
5617 switch_break: ;
5618 }
5619 }
5620 }
5621 }
5622 while_break: ;
5623 }
5624 ldv_module_exit:
5625 {
5626#line 827
5627 ldv_check_final_state();
5628 }
5629#line 830
5630 return;
5631}
5632}
5633#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
5634void ldv_blast_assert(void)
5635{
5636
5637 {
5638 ERROR:
5639#line 6
5640 goto ERROR;
5641}
5642}
5643#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
5644extern int __VERIFIER_nondet_int(void) ;
5645#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5646int ldv_mutex = 1;
5647#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5648int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
5649{ int nondetermined ;
5650
5651 {
5652#line 29
5653 if (ldv_mutex == 1) {
5654
5655 } else {
5656 {
5657#line 29
5658 ldv_blast_assert();
5659 }
5660 }
5661 {
5662#line 32
5663 nondetermined = __VERIFIER_nondet_int();
5664 }
5665#line 35
5666 if (nondetermined) {
5667#line 38
5668 ldv_mutex = 2;
5669#line 40
5670 return (0);
5671 } else {
5672#line 45
5673 return (-4);
5674 }
5675}
5676}
5677#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5678int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
5679{ int nondetermined ;
5680
5681 {
5682#line 57
5683 if (ldv_mutex == 1) {
5684
5685 } else {
5686 {
5687#line 57
5688 ldv_blast_assert();
5689 }
5690 }
5691 {
5692#line 60
5693 nondetermined = __VERIFIER_nondet_int();
5694 }
5695#line 63
5696 if (nondetermined) {
5697#line 66
5698 ldv_mutex = 2;
5699#line 68
5700 return (0);
5701 } else {
5702#line 73
5703 return (-4);
5704 }
5705}
5706}
5707#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5708int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
5709{ int atomic_value_after_dec ;
5710
5711 {
5712#line 83
5713 if (ldv_mutex == 1) {
5714
5715 } else {
5716 {
5717#line 83
5718 ldv_blast_assert();
5719 }
5720 }
5721 {
5722#line 86
5723 atomic_value_after_dec = __VERIFIER_nondet_int();
5724 }
5725#line 89
5726 if (atomic_value_after_dec == 0) {
5727#line 92
5728 ldv_mutex = 2;
5729#line 94
5730 return (1);
5731 } else {
5732
5733 }
5734#line 98
5735 return (0);
5736}
5737}
5738#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5739void mutex_lock(struct mutex *lock )
5740{
5741
5742 {
5743#line 108
5744 if (ldv_mutex == 1) {
5745
5746 } else {
5747 {
5748#line 108
5749 ldv_blast_assert();
5750 }
5751 }
5752#line 110
5753 ldv_mutex = 2;
5754#line 111
5755 return;
5756}
5757}
5758#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5759int mutex_trylock(struct mutex *lock )
5760{ int nondetermined ;
5761
5762 {
5763#line 121
5764 if (ldv_mutex == 1) {
5765
5766 } else {
5767 {
5768#line 121
5769 ldv_blast_assert();
5770 }
5771 }
5772 {
5773#line 124
5774 nondetermined = __VERIFIER_nondet_int();
5775 }
5776#line 127
5777 if (nondetermined) {
5778#line 130
5779 ldv_mutex = 2;
5780#line 132
5781 return (1);
5782 } else {
5783#line 137
5784 return (0);
5785 }
5786}
5787}
5788#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5789void mutex_unlock(struct mutex *lock )
5790{
5791
5792 {
5793#line 147
5794 if (ldv_mutex == 2) {
5795
5796 } else {
5797 {
5798#line 147
5799 ldv_blast_assert();
5800 }
5801 }
5802#line 149
5803 ldv_mutex = 1;
5804#line 150
5805 return;
5806}
5807}
5808#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5809void ldv_check_final_state(void)
5810{
5811
5812 {
5813#line 156
5814 if (ldv_mutex == 1) {
5815
5816 } else {
5817 {
5818#line 156
5819 ldv_blast_assert();
5820 }
5821 }
5822#line 157
5823 return;
5824}
5825}
5826#line 839 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4015/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/mpu3050.c.common.c"
5827long s__builtin_expect(long val , long res )
5828{
5829
5830 {
5831#line 840
5832 return (val);
5833}
5834}