1
2
3
4#line 20 "include/asm-generic/int-ll64.h"
5typedef unsigned char __u8;
6#line 23 "include/asm-generic/int-ll64.h"
7typedef unsigned short __u16;
8#line 25 "include/asm-generic/int-ll64.h"
9typedef int __s32;
10#line 26 "include/asm-generic/int-ll64.h"
11typedef unsigned int __u32;
12#line 30 "include/asm-generic/int-ll64.h"
13typedef unsigned long long __u64;
14#line 43 "include/asm-generic/int-ll64.h"
15typedef unsigned char u8;
16#line 45 "include/asm-generic/int-ll64.h"
17typedef short s16;
18#line 46 "include/asm-generic/int-ll64.h"
19typedef unsigned short u16;
20#line 49 "include/asm-generic/int-ll64.h"
21typedef unsigned int u32;
22#line 51 "include/asm-generic/int-ll64.h"
23typedef long long s64;
24#line 52 "include/asm-generic/int-ll64.h"
25typedef unsigned long long u64;
26#line 14 "include/asm-generic/posix_types.h"
27typedef long __kernel_long_t;
28#line 15 "include/asm-generic/posix_types.h"
29typedef unsigned long __kernel_ulong_t;
30#line 31 "include/asm-generic/posix_types.h"
31typedef int __kernel_pid_t;
32#line 52 "include/asm-generic/posix_types.h"
33typedef unsigned int __kernel_uid32_t;
34#line 53 "include/asm-generic/posix_types.h"
35typedef unsigned int __kernel_gid32_t;
36#line 75 "include/asm-generic/posix_types.h"
37typedef __kernel_ulong_t __kernel_size_t;
38#line 76 "include/asm-generic/posix_types.h"
39typedef __kernel_long_t __kernel_ssize_t;
40#line 91 "include/asm-generic/posix_types.h"
41typedef long long __kernel_loff_t;
42#line 92 "include/asm-generic/posix_types.h"
43typedef __kernel_long_t __kernel_time_t;
44#line 93 "include/asm-generic/posix_types.h"
45typedef __kernel_long_t __kernel_clock_t;
46#line 94 "include/asm-generic/posix_types.h"
47typedef int __kernel_timer_t;
48#line 95 "include/asm-generic/posix_types.h"
49typedef int __kernel_clockid_t;
50#line 21 "include/linux/types.h"
51typedef __u32 __kernel_dev_t;
52#line 24 "include/linux/types.h"
53typedef __kernel_dev_t dev_t;
54#line 27 "include/linux/types.h"
55typedef unsigned short umode_t;
56#line 30 "include/linux/types.h"
57typedef __kernel_pid_t pid_t;
58#line 35 "include/linux/types.h"
59typedef __kernel_clockid_t clockid_t;
60#line 38 "include/linux/types.h"
61typedef _Bool bool;
62#line 40 "include/linux/types.h"
63typedef __kernel_uid32_t uid_t;
64#line 41 "include/linux/types.h"
65typedef __kernel_gid32_t gid_t;
66#line 54 "include/linux/types.h"
67typedef __kernel_loff_t loff_t;
68#line 63 "include/linux/types.h"
69typedef __kernel_size_t size_t;
70#line 68 "include/linux/types.h"
71typedef __kernel_ssize_t ssize_t;
72#line 78 "include/linux/types.h"
73typedef __kernel_time_t time_t;
74#line 111 "include/linux/types.h"
75typedef __s32 int32_t;
76#line 117 "include/linux/types.h"
77typedef __u32 uint32_t;
78#line 202 "include/linux/types.h"
79typedef unsigned int gfp_t;
80#line 206 "include/linux/types.h"
81typedef u64 phys_addr_t;
82#line 211 "include/linux/types.h"
83typedef phys_addr_t resource_size_t;
84#line 219 "include/linux/types.h"
85struct __anonstruct_atomic_t_7 {
86 int counter ;
87};
88#line 219 "include/linux/types.h"
89typedef struct __anonstruct_atomic_t_7 atomic_t;
90#line 224 "include/linux/types.h"
91struct __anonstruct_atomic64_t_8 {
92 long counter ;
93};
94#line 224 "include/linux/types.h"
95typedef struct __anonstruct_atomic64_t_8 atomic64_t;
96#line 229 "include/linux/types.h"
97struct list_head {
98 struct list_head *next ;
99 struct list_head *prev ;
100};
101#line 233
102struct hlist_node;
103#line 233 "include/linux/types.h"
104struct hlist_head {
105 struct hlist_node *first ;
106};
107#line 237 "include/linux/types.h"
108struct hlist_node {
109 struct hlist_node *next ;
110 struct hlist_node **pprev ;
111};
112#line 253 "include/linux/types.h"
113struct rcu_head {
114 struct rcu_head *next ;
115 void (*func)(struct rcu_head *head ) ;
116};
117#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
118struct module;
119#line 56
120struct module;
121#line 146 "include/linux/init.h"
122typedef void (*ctor_fn_t)(void);
123#line 47 "include/linux/dynamic_debug.h"
124struct device;
125#line 47
126struct device;
127#line 135 "include/linux/kernel.h"
128struct completion;
129#line 135
130struct completion;
131#line 136
132struct pt_regs;
133#line 136
134struct pt_regs;
135#line 349
136struct pid;
137#line 349
138struct pid;
139#line 12 "include/linux/thread_info.h"
140struct timespec;
141#line 12
142struct timespec;
143#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
144struct page;
145#line 18
146struct page;
147#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
148struct task_struct;
149#line 20
150struct task_struct;
151#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
152struct task_struct;
153#line 8
154struct mm_struct;
155#line 8
156struct mm_struct;
157#line 99 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
158struct pt_regs {
159 unsigned long r15 ;
160 unsigned long r14 ;
161 unsigned long r13 ;
162 unsigned long r12 ;
163 unsigned long bp ;
164 unsigned long bx ;
165 unsigned long r11 ;
166 unsigned long r10 ;
167 unsigned long r9 ;
168 unsigned long r8 ;
169 unsigned long ax ;
170 unsigned long cx ;
171 unsigned long dx ;
172 unsigned long si ;
173 unsigned long di ;
174 unsigned long orig_ax ;
175 unsigned long ip ;
176 unsigned long cs ;
177 unsigned long flags ;
178 unsigned long sp ;
179 unsigned long ss ;
180};
181#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
182struct __anonstruct____missing_field_name_15 {
183 unsigned int a ;
184 unsigned int b ;
185};
186#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
187struct __anonstruct____missing_field_name_16 {
188 u16 limit0 ;
189 u16 base0 ;
190 unsigned int base1 : 8 ;
191 unsigned int type : 4 ;
192 unsigned int s : 1 ;
193 unsigned int dpl : 2 ;
194 unsigned int p : 1 ;
195 unsigned int limit : 4 ;
196 unsigned int avl : 1 ;
197 unsigned int l : 1 ;
198 unsigned int d : 1 ;
199 unsigned int g : 1 ;
200 unsigned int base2 : 8 ;
201};
202#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
203union __anonunion____missing_field_name_14 {
204 struct __anonstruct____missing_field_name_15 __annonCompField5 ;
205 struct __anonstruct____missing_field_name_16 __annonCompField6 ;
206};
207#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
208struct desc_struct {
209 union __anonunion____missing_field_name_14 __annonCompField7 ;
210} __attribute__((__packed__)) ;
211#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
212typedef unsigned long pgdval_t;
213#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
214typedef unsigned long pgprotval_t;
215#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
216struct pgprot {
217 pgprotval_t pgprot ;
218};
219#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
220typedef struct pgprot pgprot_t;
221#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
222struct __anonstruct_pgd_t_20 {
223 pgdval_t pgd ;
224};
225#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
226typedef struct __anonstruct_pgd_t_20 pgd_t;
227#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
228typedef struct page *pgtable_t;
229#line 295
230struct file;
231#line 295
232struct file;
233#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
234struct page;
235#line 47
236struct thread_struct;
237#line 47
238struct thread_struct;
239#line 50
240struct mm_struct;
241#line 51
242struct desc_struct;
243#line 52
244struct task_struct;
245#line 53
246struct cpumask;
247#line 53
248struct cpumask;
249#line 329
250struct arch_spinlock;
251#line 329
252struct arch_spinlock;
253#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
254struct task_struct;
255#line 141 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
256struct kernel_vm86_regs {
257 struct pt_regs pt ;
258 unsigned short es ;
259 unsigned short __esh ;
260 unsigned short ds ;
261 unsigned short __dsh ;
262 unsigned short fs ;
263 unsigned short __fsh ;
264 unsigned short gs ;
265 unsigned short __gsh ;
266};
267#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
268union __anonunion____missing_field_name_24 {
269 struct pt_regs *regs ;
270 struct kernel_vm86_regs *vm86 ;
271};
272#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
273struct math_emu_info {
274 long ___orig_eip ;
275 union __anonunion____missing_field_name_24 __annonCompField8 ;
276};
277#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
278struct task_struct;
279#line 10 "include/asm-generic/bug.h"
280struct bug_entry {
281 int bug_addr_disp ;
282 int file_disp ;
283 unsigned short line ;
284 unsigned short flags ;
285};
286#line 12 "include/linux/bug.h"
287struct pt_regs;
288#line 14 "include/linux/cpumask.h"
289struct cpumask {
290 unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
291};
292#line 14 "include/linux/cpumask.h"
293typedef struct cpumask cpumask_t;
294#line 637 "include/linux/cpumask.h"
295typedef struct cpumask *cpumask_var_t;
296#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
297struct static_key;
298#line 234
299struct static_key;
300#line 11 "include/linux/personality.h"
301struct pt_regs;
302#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
303struct i387_fsave_struct {
304 u32 cwd ;
305 u32 swd ;
306 u32 twd ;
307 u32 fip ;
308 u32 fcs ;
309 u32 foo ;
310 u32 fos ;
311 u32 st_space[20] ;
312 u32 status ;
313};
314#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
315struct __anonstruct____missing_field_name_31 {
316 u64 rip ;
317 u64 rdp ;
318};
319#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
320struct __anonstruct____missing_field_name_32 {
321 u32 fip ;
322 u32 fcs ;
323 u32 foo ;
324 u32 fos ;
325};
326#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
327union __anonunion____missing_field_name_30 {
328 struct __anonstruct____missing_field_name_31 __annonCompField12 ;
329 struct __anonstruct____missing_field_name_32 __annonCompField13 ;
330};
331#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
332union __anonunion____missing_field_name_33 {
333 u32 padding1[12] ;
334 u32 sw_reserved[12] ;
335};
336#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
337struct i387_fxsave_struct {
338 u16 cwd ;
339 u16 swd ;
340 u16 twd ;
341 u16 fop ;
342 union __anonunion____missing_field_name_30 __annonCompField14 ;
343 u32 mxcsr ;
344 u32 mxcsr_mask ;
345 u32 st_space[32] ;
346 u32 xmm_space[64] ;
347 u32 padding[12] ;
348 union __anonunion____missing_field_name_33 __annonCompField15 ;
349} __attribute__((__aligned__(16))) ;
350#line 341 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
351struct i387_soft_struct {
352 u32 cwd ;
353 u32 swd ;
354 u32 twd ;
355 u32 fip ;
356 u32 fcs ;
357 u32 foo ;
358 u32 fos ;
359 u32 st_space[20] ;
360 u8 ftop ;
361 u8 changed ;
362 u8 lookahead ;
363 u8 no_update ;
364 u8 rm ;
365 u8 alimit ;
366 struct math_emu_info *info ;
367 u32 entry_eip ;
368};
369#line 361 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
370struct ymmh_struct {
371 u32 ymmh_space[64] ;
372};
373#line 366 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
374struct xsave_hdr_struct {
375 u64 xstate_bv ;
376 u64 reserved1[2] ;
377 u64 reserved2[5] ;
378} __attribute__((__packed__)) ;
379#line 372 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
380struct xsave_struct {
381 struct i387_fxsave_struct i387 ;
382 struct xsave_hdr_struct xsave_hdr ;
383 struct ymmh_struct ymmh ;
384} __attribute__((__packed__, __aligned__(64))) ;
385#line 379 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
386union thread_xstate {
387 struct i387_fsave_struct fsave ;
388 struct i387_fxsave_struct fxsave ;
389 struct i387_soft_struct soft ;
390 struct xsave_struct xsave ;
391};
392#line 386 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
393struct fpu {
394 unsigned int last_cpu ;
395 unsigned int has_fpu ;
396 union thread_xstate *state ;
397};
398#line 433
399struct kmem_cache;
400#line 435
401struct perf_event;
402#line 435
403struct perf_event;
404#line 437 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
405struct thread_struct {
406 struct desc_struct tls_array[3] ;
407 unsigned long sp0 ;
408 unsigned long sp ;
409 unsigned long usersp ;
410 unsigned short es ;
411 unsigned short ds ;
412 unsigned short fsindex ;
413 unsigned short gsindex ;
414 unsigned long fs ;
415 unsigned long gs ;
416 struct perf_event *ptrace_bps[4] ;
417 unsigned long debugreg6 ;
418 unsigned long ptrace_dr7 ;
419 unsigned long cr2 ;
420 unsigned long trap_nr ;
421 unsigned long error_code ;
422 struct fpu fpu ;
423 unsigned long *io_bitmap_ptr ;
424 unsigned long iopl ;
425 unsigned int io_bitmap_max ;
426};
427#line 23 "include/asm-generic/atomic-long.h"
428typedef atomic64_t atomic_long_t;
429#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
430typedef u16 __ticket_t;
431#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
432typedef u32 __ticketpair_t;
433#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
434struct __raw_tickets {
435 __ticket_t head ;
436 __ticket_t tail ;
437};
438#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
439union __anonunion____missing_field_name_36 {
440 __ticketpair_t head_tail ;
441 struct __raw_tickets tickets ;
442};
443#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
444struct arch_spinlock {
445 union __anonunion____missing_field_name_36 __annonCompField17 ;
446};
447#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
448typedef struct arch_spinlock arch_spinlock_t;
449#line 12 "include/linux/lockdep.h"
450struct task_struct;
451#line 391 "include/linux/lockdep.h"
452struct lock_class_key {
453
454};
455#line 20 "include/linux/spinlock_types.h"
456struct raw_spinlock {
457 arch_spinlock_t raw_lock ;
458 unsigned int magic ;
459 unsigned int owner_cpu ;
460 void *owner ;
461};
462#line 20 "include/linux/spinlock_types.h"
463typedef struct raw_spinlock raw_spinlock_t;
464#line 64 "include/linux/spinlock_types.h"
465union __anonunion____missing_field_name_39 {
466 struct raw_spinlock rlock ;
467};
468#line 64 "include/linux/spinlock_types.h"
469struct spinlock {
470 union __anonunion____missing_field_name_39 __annonCompField19 ;
471};
472#line 64 "include/linux/spinlock_types.h"
473typedef struct spinlock spinlock_t;
474#line 119 "include/linux/seqlock.h"
475struct seqcount {
476 unsigned int sequence ;
477};
478#line 119 "include/linux/seqlock.h"
479typedef struct seqcount seqcount_t;
480#line 14 "include/linux/time.h"
481struct timespec {
482 __kernel_time_t tv_sec ;
483 long tv_nsec ;
484};
485#line 49 "include/linux/wait.h"
486struct __wait_queue_head {
487 spinlock_t lock ;
488 struct list_head task_list ;
489};
490#line 53 "include/linux/wait.h"
491typedef struct __wait_queue_head wait_queue_head_t;
492#line 55
493struct task_struct;
494#line 98 "include/linux/nodemask.h"
495struct __anonstruct_nodemask_t_42 {
496 unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
497};
498#line 98 "include/linux/nodemask.h"
499typedef struct __anonstruct_nodemask_t_42 nodemask_t;
500#line 60 "include/linux/pageblock-flags.h"
501struct page;
502#line 48 "include/linux/mutex.h"
503struct mutex {
504 atomic_t count ;
505 spinlock_t wait_lock ;
506 struct list_head wait_list ;
507 struct task_struct *owner ;
508 char const *name ;
509 void *magic ;
510};
511#line 69 "include/linux/mutex.h"
512struct mutex_waiter {
513 struct list_head list ;
514 struct task_struct *task ;
515 void *magic ;
516};
517#line 19 "include/linux/rwsem.h"
518struct rw_semaphore;
519#line 19
520struct rw_semaphore;
521#line 25 "include/linux/rwsem.h"
522struct rw_semaphore {
523 long count ;
524 raw_spinlock_t wait_lock ;
525 struct list_head wait_list ;
526};
527#line 25 "include/linux/completion.h"
528struct completion {
529 unsigned int done ;
530 wait_queue_head_t wait ;
531};
532#line 9 "include/linux/memory_hotplug.h"
533struct page;
534#line 18 "include/linux/ioport.h"
535struct resource {
536 resource_size_t start ;
537 resource_size_t end ;
538 char const *name ;
539 unsigned long flags ;
540 struct resource *parent ;
541 struct resource *sibling ;
542 struct resource *child ;
543};
544#line 202
545struct device;
546#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
547struct device;
548#line 46 "include/linux/ktime.h"
549union ktime {
550 s64 tv64 ;
551};
552#line 59 "include/linux/ktime.h"
553typedef union ktime ktime_t;
554#line 10 "include/linux/timer.h"
555struct tvec_base;
556#line 10
557struct tvec_base;
558#line 12 "include/linux/timer.h"
559struct timer_list {
560 struct list_head entry ;
561 unsigned long expires ;
562 struct tvec_base *base ;
563 void (*function)(unsigned long ) ;
564 unsigned long data ;
565 int slack ;
566 int start_pid ;
567 void *start_site ;
568 char start_comm[16] ;
569};
570#line 289
571struct hrtimer;
572#line 289
573struct hrtimer;
574#line 290
575enum hrtimer_restart;
576#line 17 "include/linux/workqueue.h"
577struct work_struct;
578#line 17
579struct work_struct;
580#line 79 "include/linux/workqueue.h"
581struct work_struct {
582 atomic_long_t data ;
583 struct list_head entry ;
584 void (*func)(struct work_struct *work ) ;
585};
586#line 42 "include/linux/pm.h"
587struct device;
588#line 50 "include/linux/pm.h"
589struct pm_message {
590 int event ;
591};
592#line 50 "include/linux/pm.h"
593typedef struct pm_message pm_message_t;
594#line 264 "include/linux/pm.h"
595struct dev_pm_ops {
596 int (*prepare)(struct device *dev ) ;
597 void (*complete)(struct device *dev ) ;
598 int (*suspend)(struct device *dev ) ;
599 int (*resume)(struct device *dev ) ;
600 int (*freeze)(struct device *dev ) ;
601 int (*thaw)(struct device *dev ) ;
602 int (*poweroff)(struct device *dev ) ;
603 int (*restore)(struct device *dev ) ;
604 int (*suspend_late)(struct device *dev ) ;
605 int (*resume_early)(struct device *dev ) ;
606 int (*freeze_late)(struct device *dev ) ;
607 int (*thaw_early)(struct device *dev ) ;
608 int (*poweroff_late)(struct device *dev ) ;
609 int (*restore_early)(struct device *dev ) ;
610 int (*suspend_noirq)(struct device *dev ) ;
611 int (*resume_noirq)(struct device *dev ) ;
612 int (*freeze_noirq)(struct device *dev ) ;
613 int (*thaw_noirq)(struct device *dev ) ;
614 int (*poweroff_noirq)(struct device *dev ) ;
615 int (*restore_noirq)(struct device *dev ) ;
616 int (*runtime_suspend)(struct device *dev ) ;
617 int (*runtime_resume)(struct device *dev ) ;
618 int (*runtime_idle)(struct device *dev ) ;
619};
620#line 458
621enum rpm_status {
622 RPM_ACTIVE = 0,
623 RPM_RESUMING = 1,
624 RPM_SUSPENDED = 2,
625 RPM_SUSPENDING = 3
626} ;
627#line 480
628enum rpm_request {
629 RPM_REQ_NONE = 0,
630 RPM_REQ_IDLE = 1,
631 RPM_REQ_SUSPEND = 2,
632 RPM_REQ_AUTOSUSPEND = 3,
633 RPM_REQ_RESUME = 4
634} ;
635#line 488
636struct wakeup_source;
637#line 488
638struct wakeup_source;
639#line 495 "include/linux/pm.h"
640struct pm_subsys_data {
641 spinlock_t lock ;
642 unsigned int refcount ;
643};
644#line 506
645struct dev_pm_qos_request;
646#line 506
647struct pm_qos_constraints;
648#line 506 "include/linux/pm.h"
649struct dev_pm_info {
650 pm_message_t power_state ;
651 unsigned int can_wakeup : 1 ;
652 unsigned int async_suspend : 1 ;
653 bool is_prepared : 1 ;
654 bool is_suspended : 1 ;
655 bool ignore_children : 1 ;
656 spinlock_t lock ;
657 struct list_head entry ;
658 struct completion completion ;
659 struct wakeup_source *wakeup ;
660 bool wakeup_path : 1 ;
661 struct timer_list suspend_timer ;
662 unsigned long timer_expires ;
663 struct work_struct work ;
664 wait_queue_head_t wait_queue ;
665 atomic_t usage_count ;
666 atomic_t child_count ;
667 unsigned int disable_depth : 3 ;
668 unsigned int idle_notification : 1 ;
669 unsigned int request_pending : 1 ;
670 unsigned int deferred_resume : 1 ;
671 unsigned int run_wake : 1 ;
672 unsigned int runtime_auto : 1 ;
673 unsigned int no_callbacks : 1 ;
674 unsigned int irq_safe : 1 ;
675 unsigned int use_autosuspend : 1 ;
676 unsigned int timer_autosuspends : 1 ;
677 enum rpm_request request ;
678 enum rpm_status runtime_status ;
679 int runtime_error ;
680 int autosuspend_delay ;
681 unsigned long last_busy ;
682 unsigned long active_jiffies ;
683 unsigned long suspended_jiffies ;
684 unsigned long accounting_timestamp ;
685 ktime_t suspend_time ;
686 s64 max_time_suspended_ns ;
687 struct dev_pm_qos_request *pq_req ;
688 struct pm_subsys_data *subsys_data ;
689 struct pm_qos_constraints *constraints ;
690};
691#line 564 "include/linux/pm.h"
692struct dev_pm_domain {
693 struct dev_pm_ops ops ;
694};
695#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
696struct __anonstruct_mm_context_t_112 {
697 void *ldt ;
698 int size ;
699 unsigned short ia32_compat ;
700 struct mutex lock ;
701 void *vdso ;
702};
703#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
704typedef struct __anonstruct_mm_context_t_112 mm_context_t;
705#line 8 "include/linux/vmalloc.h"
706struct vm_area_struct;
707#line 8
708struct vm_area_struct;
709#line 994 "include/linux/mmzone.h"
710struct page;
711#line 10 "include/linux/gfp.h"
712struct vm_area_struct;
713#line 29 "include/linux/sysctl.h"
714struct completion;
715#line 100 "include/linux/rbtree.h"
716struct rb_node {
717 unsigned long rb_parent_color ;
718 struct rb_node *rb_right ;
719 struct rb_node *rb_left ;
720} __attribute__((__aligned__(sizeof(long )))) ;
721#line 110 "include/linux/rbtree.h"
722struct rb_root {
723 struct rb_node *rb_node ;
724};
725#line 939 "include/linux/sysctl.h"
726struct nsproxy;
727#line 939
728struct nsproxy;
729#line 48 "include/linux/kmod.h"
730struct cred;
731#line 48
732struct cred;
733#line 49
734struct file;
735#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
736struct task_struct;
737#line 18 "include/linux/elf.h"
738typedef __u64 Elf64_Addr;
739#line 19 "include/linux/elf.h"
740typedef __u16 Elf64_Half;
741#line 23 "include/linux/elf.h"
742typedef __u32 Elf64_Word;
743#line 24 "include/linux/elf.h"
744typedef __u64 Elf64_Xword;
745#line 194 "include/linux/elf.h"
746struct elf64_sym {
747 Elf64_Word st_name ;
748 unsigned char st_info ;
749 unsigned char st_other ;
750 Elf64_Half st_shndx ;
751 Elf64_Addr st_value ;
752 Elf64_Xword st_size ;
753};
754#line 194 "include/linux/elf.h"
755typedef struct elf64_sym Elf64_Sym;
756#line 438
757struct file;
758#line 20 "include/linux/kobject_ns.h"
759struct sock;
760#line 20
761struct sock;
762#line 21
763struct kobject;
764#line 21
765struct kobject;
766#line 27
767enum kobj_ns_type {
768 KOBJ_NS_TYPE_NONE = 0,
769 KOBJ_NS_TYPE_NET = 1,
770 KOBJ_NS_TYPES = 2
771} ;
772#line 40 "include/linux/kobject_ns.h"
773struct kobj_ns_type_operations {
774 enum kobj_ns_type type ;
775 void *(*grab_current_ns)(void) ;
776 void const *(*netlink_ns)(struct sock *sk ) ;
777 void const *(*initial_ns)(void) ;
778 void (*drop_ns)(void * ) ;
779};
780#line 22 "include/linux/sysfs.h"
781struct kobject;
782#line 23
783struct module;
784#line 24
785enum kobj_ns_type;
786#line 26 "include/linux/sysfs.h"
787struct attribute {
788 char const *name ;
789 umode_t mode ;
790};
791#line 56 "include/linux/sysfs.h"
792struct attribute_group {
793 char const *name ;
794 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
795 struct attribute **attrs ;
796};
797#line 85
798struct file;
799#line 86
800struct vm_area_struct;
801#line 88 "include/linux/sysfs.h"
802struct bin_attribute {
803 struct attribute attr ;
804 size_t size ;
805 void *private ;
806 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
807 loff_t , size_t ) ;
808 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
809 loff_t , size_t ) ;
810 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
811};
812#line 112 "include/linux/sysfs.h"
813struct sysfs_ops {
814 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
815 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
816 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
817};
818#line 118
819struct sysfs_dirent;
820#line 118
821struct sysfs_dirent;
822#line 22 "include/linux/kref.h"
823struct kref {
824 atomic_t refcount ;
825};
826#line 60 "include/linux/kobject.h"
827struct kset;
828#line 60
829struct kobj_type;
830#line 60 "include/linux/kobject.h"
831struct kobject {
832 char const *name ;
833 struct list_head entry ;
834 struct kobject *parent ;
835 struct kset *kset ;
836 struct kobj_type *ktype ;
837 struct sysfs_dirent *sd ;
838 struct kref kref ;
839 unsigned int state_initialized : 1 ;
840 unsigned int state_in_sysfs : 1 ;
841 unsigned int state_add_uevent_sent : 1 ;
842 unsigned int state_remove_uevent_sent : 1 ;
843 unsigned int uevent_suppress : 1 ;
844};
845#line 108 "include/linux/kobject.h"
846struct kobj_type {
847 void (*release)(struct kobject *kobj ) ;
848 struct sysfs_ops const *sysfs_ops ;
849 struct attribute **default_attrs ;
850 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
851 void const *(*namespace)(struct kobject *kobj ) ;
852};
853#line 116 "include/linux/kobject.h"
854struct kobj_uevent_env {
855 char *envp[32] ;
856 int envp_idx ;
857 char buf[2048] ;
858 int buflen ;
859};
860#line 123 "include/linux/kobject.h"
861struct kset_uevent_ops {
862 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
863 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
864 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
865};
866#line 140
867struct sock;
868#line 159 "include/linux/kobject.h"
869struct kset {
870 struct list_head list ;
871 spinlock_t list_lock ;
872 struct kobject kobj ;
873 struct kset_uevent_ops const *uevent_ops ;
874};
875#line 39 "include/linux/moduleparam.h"
876struct kernel_param;
877#line 39
878struct kernel_param;
879#line 41 "include/linux/moduleparam.h"
880struct kernel_param_ops {
881 int (*set)(char const *val , struct kernel_param const *kp ) ;
882 int (*get)(char *buffer , struct kernel_param const *kp ) ;
883 void (*free)(void *arg ) ;
884};
885#line 50
886struct kparam_string;
887#line 50
888struct kparam_array;
889#line 50 "include/linux/moduleparam.h"
890union __anonunion____missing_field_name_199 {
891 void *arg ;
892 struct kparam_string const *str ;
893 struct kparam_array const *arr ;
894};
895#line 50 "include/linux/moduleparam.h"
896struct kernel_param {
897 char const *name ;
898 struct kernel_param_ops const *ops ;
899 u16 perm ;
900 s16 level ;
901 union __anonunion____missing_field_name_199 __annonCompField32 ;
902};
903#line 63 "include/linux/moduleparam.h"
904struct kparam_string {
905 unsigned int maxlen ;
906 char *string ;
907};
908#line 69 "include/linux/moduleparam.h"
909struct kparam_array {
910 unsigned int max ;
911 unsigned int elemsize ;
912 unsigned int *num ;
913 struct kernel_param_ops const *ops ;
914 void *elem ;
915};
916#line 445
917struct module;
918#line 80 "include/linux/jump_label.h"
919struct module;
920#line 143 "include/linux/jump_label.h"
921struct static_key {
922 atomic_t enabled ;
923};
924#line 22 "include/linux/tracepoint.h"
925struct module;
926#line 23
927struct tracepoint;
928#line 23
929struct tracepoint;
930#line 25 "include/linux/tracepoint.h"
931struct tracepoint_func {
932 void *func ;
933 void *data ;
934};
935#line 30 "include/linux/tracepoint.h"
936struct tracepoint {
937 char const *name ;
938 struct static_key key ;
939 void (*regfunc)(void) ;
940 void (*unregfunc)(void) ;
941 struct tracepoint_func *funcs ;
942};
943#line 19 "include/linux/export.h"
944struct kernel_symbol {
945 unsigned long value ;
946 char const *name ;
947};
948#line 8 "include/asm-generic/module.h"
949struct mod_arch_specific {
950
951};
952#line 35 "include/linux/module.h"
953struct module;
954#line 37
955struct module_param_attrs;
956#line 37 "include/linux/module.h"
957struct module_kobject {
958 struct kobject kobj ;
959 struct module *mod ;
960 struct kobject *drivers_dir ;
961 struct module_param_attrs *mp ;
962};
963#line 44 "include/linux/module.h"
964struct module_attribute {
965 struct attribute attr ;
966 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
967 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
968 size_t count ) ;
969 void (*setup)(struct module * , char const * ) ;
970 int (*test)(struct module * ) ;
971 void (*free)(struct module * ) ;
972};
973#line 71
974struct exception_table_entry;
975#line 71
976struct exception_table_entry;
977#line 199
978enum module_state {
979 MODULE_STATE_LIVE = 0,
980 MODULE_STATE_COMING = 1,
981 MODULE_STATE_GOING = 2
982} ;
983#line 215 "include/linux/module.h"
984struct module_ref {
985 unsigned long incs ;
986 unsigned long decs ;
987} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
988#line 220
989struct module_sect_attrs;
990#line 220
991struct module_notes_attrs;
992#line 220
993struct ftrace_event_call;
994#line 220 "include/linux/module.h"
995struct module {
996 enum module_state state ;
997 struct list_head list ;
998 char name[64UL - sizeof(unsigned long )] ;
999 struct module_kobject mkobj ;
1000 struct module_attribute *modinfo_attrs ;
1001 char const *version ;
1002 char const *srcversion ;
1003 struct kobject *holders_dir ;
1004 struct kernel_symbol const *syms ;
1005 unsigned long const *crcs ;
1006 unsigned int num_syms ;
1007 struct kernel_param *kp ;
1008 unsigned int num_kp ;
1009 unsigned int num_gpl_syms ;
1010 struct kernel_symbol const *gpl_syms ;
1011 unsigned long const *gpl_crcs ;
1012 struct kernel_symbol const *unused_syms ;
1013 unsigned long const *unused_crcs ;
1014 unsigned int num_unused_syms ;
1015 unsigned int num_unused_gpl_syms ;
1016 struct kernel_symbol const *unused_gpl_syms ;
1017 unsigned long const *unused_gpl_crcs ;
1018 struct kernel_symbol const *gpl_future_syms ;
1019 unsigned long const *gpl_future_crcs ;
1020 unsigned int num_gpl_future_syms ;
1021 unsigned int num_exentries ;
1022 struct exception_table_entry *extable ;
1023 int (*init)(void) ;
1024 void *module_init ;
1025 void *module_core ;
1026 unsigned int init_size ;
1027 unsigned int core_size ;
1028 unsigned int init_text_size ;
1029 unsigned int core_text_size ;
1030 unsigned int init_ro_size ;
1031 unsigned int core_ro_size ;
1032 struct mod_arch_specific arch ;
1033 unsigned int taints ;
1034 unsigned int num_bugs ;
1035 struct list_head bug_list ;
1036 struct bug_entry *bug_table ;
1037 Elf64_Sym *symtab ;
1038 Elf64_Sym *core_symtab ;
1039 unsigned int num_symtab ;
1040 unsigned int core_num_syms ;
1041 char *strtab ;
1042 char *core_strtab ;
1043 struct module_sect_attrs *sect_attrs ;
1044 struct module_notes_attrs *notes_attrs ;
1045 char *args ;
1046 void *percpu ;
1047 unsigned int percpu_size ;
1048 unsigned int num_tracepoints ;
1049 struct tracepoint * const *tracepoints_ptrs ;
1050 unsigned int num_trace_bprintk_fmt ;
1051 char const **trace_bprintk_fmt_start ;
1052 struct ftrace_event_call **trace_events ;
1053 unsigned int num_trace_events ;
1054 struct list_head source_list ;
1055 struct list_head target_list ;
1056 struct task_struct *waiter ;
1057 void (*exit)(void) ;
1058 struct module_ref *refptr ;
1059 ctor_fn_t *ctors ;
1060 unsigned int num_ctors ;
1061};
1062#line 12 "include/linux/mod_devicetable.h"
1063typedef unsigned long kernel_ulong_t;
1064#line 219 "include/linux/mod_devicetable.h"
1065struct of_device_id {
1066 char name[32] ;
1067 char type[32] ;
1068 char compatible[128] ;
1069 void *data ;
1070};
1071#line 431 "include/linux/mod_devicetable.h"
1072struct i2c_device_id {
1073 char name[20] ;
1074 kernel_ulong_t driver_data __attribute__((__aligned__(sizeof(kernel_ulong_t )))) ;
1075};
1076#line 506 "include/linux/mod_devicetable.h"
1077struct platform_device_id {
1078 char name[20] ;
1079 kernel_ulong_t driver_data __attribute__((__aligned__(sizeof(kernel_ulong_t )))) ;
1080};
1081#line 19 "include/linux/klist.h"
1082struct klist_node;
1083#line 19
1084struct klist_node;
1085#line 39 "include/linux/klist.h"
1086struct klist_node {
1087 void *n_klist ;
1088 struct list_head n_node ;
1089 struct kref n_ref ;
1090};
1091#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1092struct dma_map_ops;
1093#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1094struct dev_archdata {
1095 void *acpi_handle ;
1096 struct dma_map_ops *dma_ops ;
1097 void *iommu ;
1098};
1099#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1100struct pdev_archdata {
1101
1102};
1103#line 28 "include/linux/device.h"
1104struct device;
1105#line 29
1106struct device_private;
1107#line 29
1108struct device_private;
1109#line 30
1110struct device_driver;
1111#line 30
1112struct device_driver;
1113#line 31
1114struct driver_private;
1115#line 31
1116struct driver_private;
1117#line 32
1118struct module;
1119#line 33
1120struct class;
1121#line 33
1122struct class;
1123#line 34
1124struct subsys_private;
1125#line 34
1126struct subsys_private;
1127#line 35
1128struct bus_type;
1129#line 35
1130struct bus_type;
1131#line 36
1132struct device_node;
1133#line 36
1134struct device_node;
1135#line 37
1136struct iommu_ops;
1137#line 37
1138struct iommu_ops;
1139#line 39 "include/linux/device.h"
1140struct bus_attribute {
1141 struct attribute attr ;
1142 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1143 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
1144};
1145#line 89
1146struct device_attribute;
1147#line 89
1148struct driver_attribute;
1149#line 89 "include/linux/device.h"
1150struct bus_type {
1151 char const *name ;
1152 char const *dev_name ;
1153 struct device *dev_root ;
1154 struct bus_attribute *bus_attrs ;
1155 struct device_attribute *dev_attrs ;
1156 struct driver_attribute *drv_attrs ;
1157 int (*match)(struct device *dev , struct device_driver *drv ) ;
1158 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1159 int (*probe)(struct device *dev ) ;
1160 int (*remove)(struct device *dev ) ;
1161 void (*shutdown)(struct device *dev ) ;
1162 int (*suspend)(struct device *dev , pm_message_t state ) ;
1163 int (*resume)(struct device *dev ) ;
1164 struct dev_pm_ops const *pm ;
1165 struct iommu_ops *iommu_ops ;
1166 struct subsys_private *p ;
1167};
1168#line 127
1169struct device_type;
1170#line 214 "include/linux/device.h"
1171struct device_driver {
1172 char const *name ;
1173 struct bus_type *bus ;
1174 struct module *owner ;
1175 char const *mod_name ;
1176 bool suppress_bind_attrs ;
1177 struct of_device_id const *of_match_table ;
1178 int (*probe)(struct device *dev ) ;
1179 int (*remove)(struct device *dev ) ;
1180 void (*shutdown)(struct device *dev ) ;
1181 int (*suspend)(struct device *dev , pm_message_t state ) ;
1182 int (*resume)(struct device *dev ) ;
1183 struct attribute_group const **groups ;
1184 struct dev_pm_ops const *pm ;
1185 struct driver_private *p ;
1186};
1187#line 249 "include/linux/device.h"
1188struct driver_attribute {
1189 struct attribute attr ;
1190 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
1191 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
1192};
1193#line 330
1194struct class_attribute;
1195#line 330 "include/linux/device.h"
1196struct class {
1197 char const *name ;
1198 struct module *owner ;
1199 struct class_attribute *class_attrs ;
1200 struct device_attribute *dev_attrs ;
1201 struct bin_attribute *dev_bin_attrs ;
1202 struct kobject *dev_kobj ;
1203 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1204 char *(*devnode)(struct device *dev , umode_t *mode ) ;
1205 void (*class_release)(struct class *class ) ;
1206 void (*dev_release)(struct device *dev ) ;
1207 int (*suspend)(struct device *dev , pm_message_t state ) ;
1208 int (*resume)(struct device *dev ) ;
1209 struct kobj_ns_type_operations const *ns_type ;
1210 void const *(*namespace)(struct device *dev ) ;
1211 struct dev_pm_ops const *pm ;
1212 struct subsys_private *p ;
1213};
1214#line 397 "include/linux/device.h"
1215struct class_attribute {
1216 struct attribute attr ;
1217 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
1218 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
1219 size_t count ) ;
1220 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
1221};
1222#line 465 "include/linux/device.h"
1223struct device_type {
1224 char const *name ;
1225 struct attribute_group const **groups ;
1226 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1227 char *(*devnode)(struct device *dev , umode_t *mode ) ;
1228 void (*release)(struct device *dev ) ;
1229 struct dev_pm_ops const *pm ;
1230};
1231#line 476 "include/linux/device.h"
1232struct device_attribute {
1233 struct attribute attr ;
1234 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
1235 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
1236 size_t count ) ;
1237};
1238#line 559 "include/linux/device.h"
1239struct device_dma_parameters {
1240 unsigned int max_segment_size ;
1241 unsigned long segment_boundary_mask ;
1242};
1243#line 627
1244struct dma_coherent_mem;
1245#line 627 "include/linux/device.h"
1246struct device {
1247 struct device *parent ;
1248 struct device_private *p ;
1249 struct kobject kobj ;
1250 char const *init_name ;
1251 struct device_type const *type ;
1252 struct mutex mutex ;
1253 struct bus_type *bus ;
1254 struct device_driver *driver ;
1255 void *platform_data ;
1256 struct dev_pm_info power ;
1257 struct dev_pm_domain *pm_domain ;
1258 int numa_node ;
1259 u64 *dma_mask ;
1260 u64 coherent_dma_mask ;
1261 struct device_dma_parameters *dma_parms ;
1262 struct list_head dma_pools ;
1263 struct dma_coherent_mem *dma_mem ;
1264 struct dev_archdata archdata ;
1265 struct device_node *of_node ;
1266 dev_t devt ;
1267 u32 id ;
1268 spinlock_t devres_lock ;
1269 struct list_head devres_head ;
1270 struct klist_node knode_class ;
1271 struct class *class ;
1272 struct attribute_group const **groups ;
1273 void (*release)(struct device *dev ) ;
1274};
1275#line 43 "include/linux/pm_wakeup.h"
1276struct wakeup_source {
1277 char const *name ;
1278 struct list_head entry ;
1279 spinlock_t lock ;
1280 struct timer_list timer ;
1281 unsigned long timer_expires ;
1282 ktime_t total_time ;
1283 ktime_t max_time ;
1284 ktime_t last_time ;
1285 unsigned long event_count ;
1286 unsigned long active_count ;
1287 unsigned long relax_count ;
1288 unsigned long hit_count ;
1289 unsigned int active : 1 ;
1290};
1291#line 18 "include/linux/capability.h"
1292struct task_struct;
1293#line 94 "include/linux/capability.h"
1294struct kernel_cap_struct {
1295 __u32 cap[2] ;
1296};
1297#line 94 "include/linux/capability.h"
1298typedef struct kernel_cap_struct kernel_cap_t;
1299#line 377
1300struct dentry;
1301#line 377
1302struct dentry;
1303#line 378
1304struct user_namespace;
1305#line 378
1306struct user_namespace;
1307#line 14 "include/linux/prio_tree.h"
1308struct prio_tree_node;
1309#line 14 "include/linux/prio_tree.h"
1310struct raw_prio_tree_node {
1311 struct prio_tree_node *left ;
1312 struct prio_tree_node *right ;
1313 struct prio_tree_node *parent ;
1314};
1315#line 20 "include/linux/prio_tree.h"
1316struct prio_tree_node {
1317 struct prio_tree_node *left ;
1318 struct prio_tree_node *right ;
1319 struct prio_tree_node *parent ;
1320 unsigned long start ;
1321 unsigned long last ;
1322};
1323#line 23 "include/linux/mm_types.h"
1324struct address_space;
1325#line 23
1326struct address_space;
1327#line 40 "include/linux/mm_types.h"
1328union __anonunion____missing_field_name_204 {
1329 unsigned long index ;
1330 void *freelist ;
1331};
1332#line 40 "include/linux/mm_types.h"
1333struct __anonstruct____missing_field_name_208 {
1334 unsigned int inuse : 16 ;
1335 unsigned int objects : 15 ;
1336 unsigned int frozen : 1 ;
1337};
1338#line 40 "include/linux/mm_types.h"
1339union __anonunion____missing_field_name_207 {
1340 atomic_t _mapcount ;
1341 struct __anonstruct____missing_field_name_208 __annonCompField34 ;
1342};
1343#line 40 "include/linux/mm_types.h"
1344struct __anonstruct____missing_field_name_206 {
1345 union __anonunion____missing_field_name_207 __annonCompField35 ;
1346 atomic_t _count ;
1347};
1348#line 40 "include/linux/mm_types.h"
1349union __anonunion____missing_field_name_205 {
1350 unsigned long counters ;
1351 struct __anonstruct____missing_field_name_206 __annonCompField36 ;
1352};
1353#line 40 "include/linux/mm_types.h"
1354struct __anonstruct____missing_field_name_203 {
1355 union __anonunion____missing_field_name_204 __annonCompField33 ;
1356 union __anonunion____missing_field_name_205 __annonCompField37 ;
1357};
1358#line 40 "include/linux/mm_types.h"
1359struct __anonstruct____missing_field_name_210 {
1360 struct page *next ;
1361 int pages ;
1362 int pobjects ;
1363};
1364#line 40 "include/linux/mm_types.h"
1365union __anonunion____missing_field_name_209 {
1366 struct list_head lru ;
1367 struct __anonstruct____missing_field_name_210 __annonCompField39 ;
1368};
1369#line 40 "include/linux/mm_types.h"
1370union __anonunion____missing_field_name_211 {
1371 unsigned long private ;
1372 struct kmem_cache *slab ;
1373 struct page *first_page ;
1374};
1375#line 40 "include/linux/mm_types.h"
1376struct page {
1377 unsigned long flags ;
1378 struct address_space *mapping ;
1379 struct __anonstruct____missing_field_name_203 __annonCompField38 ;
1380 union __anonunion____missing_field_name_209 __annonCompField40 ;
1381 union __anonunion____missing_field_name_211 __annonCompField41 ;
1382 unsigned long debug_flags ;
1383} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
1384#line 200 "include/linux/mm_types.h"
1385struct __anonstruct_vm_set_213 {
1386 struct list_head list ;
1387 void *parent ;
1388 struct vm_area_struct *head ;
1389};
1390#line 200 "include/linux/mm_types.h"
1391union __anonunion_shared_212 {
1392 struct __anonstruct_vm_set_213 vm_set ;
1393 struct raw_prio_tree_node prio_tree_node ;
1394};
1395#line 200
1396struct anon_vma;
1397#line 200
1398struct vm_operations_struct;
1399#line 200
1400struct mempolicy;
1401#line 200 "include/linux/mm_types.h"
1402struct vm_area_struct {
1403 struct mm_struct *vm_mm ;
1404 unsigned long vm_start ;
1405 unsigned long vm_end ;
1406 struct vm_area_struct *vm_next ;
1407 struct vm_area_struct *vm_prev ;
1408 pgprot_t vm_page_prot ;
1409 unsigned long vm_flags ;
1410 struct rb_node vm_rb ;
1411 union __anonunion_shared_212 shared ;
1412 struct list_head anon_vma_chain ;
1413 struct anon_vma *anon_vma ;
1414 struct vm_operations_struct const *vm_ops ;
1415 unsigned long vm_pgoff ;
1416 struct file *vm_file ;
1417 void *vm_private_data ;
1418 struct mempolicy *vm_policy ;
1419};
1420#line 257 "include/linux/mm_types.h"
1421struct core_thread {
1422 struct task_struct *task ;
1423 struct core_thread *next ;
1424};
1425#line 262 "include/linux/mm_types.h"
1426struct core_state {
1427 atomic_t nr_threads ;
1428 struct core_thread dumper ;
1429 struct completion startup ;
1430};
1431#line 284 "include/linux/mm_types.h"
1432struct mm_rss_stat {
1433 atomic_long_t count[3] ;
1434};
1435#line 288
1436struct linux_binfmt;
1437#line 288
1438struct mmu_notifier_mm;
1439#line 288 "include/linux/mm_types.h"
1440struct mm_struct {
1441 struct vm_area_struct *mmap ;
1442 struct rb_root mm_rb ;
1443 struct vm_area_struct *mmap_cache ;
1444 unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1445 unsigned long pgoff , unsigned long flags ) ;
1446 void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1447 unsigned long mmap_base ;
1448 unsigned long task_size ;
1449 unsigned long cached_hole_size ;
1450 unsigned long free_area_cache ;
1451 pgd_t *pgd ;
1452 atomic_t mm_users ;
1453 atomic_t mm_count ;
1454 int map_count ;
1455 spinlock_t page_table_lock ;
1456 struct rw_semaphore mmap_sem ;
1457 struct list_head mmlist ;
1458 unsigned long hiwater_rss ;
1459 unsigned long hiwater_vm ;
1460 unsigned long total_vm ;
1461 unsigned long locked_vm ;
1462 unsigned long pinned_vm ;
1463 unsigned long shared_vm ;
1464 unsigned long exec_vm ;
1465 unsigned long stack_vm ;
1466 unsigned long reserved_vm ;
1467 unsigned long def_flags ;
1468 unsigned long nr_ptes ;
1469 unsigned long start_code ;
1470 unsigned long end_code ;
1471 unsigned long start_data ;
1472 unsigned long end_data ;
1473 unsigned long start_brk ;
1474 unsigned long brk ;
1475 unsigned long start_stack ;
1476 unsigned long arg_start ;
1477 unsigned long arg_end ;
1478 unsigned long env_start ;
1479 unsigned long env_end ;
1480 unsigned long saved_auxv[44] ;
1481 struct mm_rss_stat rss_stat ;
1482 struct linux_binfmt *binfmt ;
1483 cpumask_var_t cpu_vm_mask_var ;
1484 mm_context_t context ;
1485 unsigned int faultstamp ;
1486 unsigned int token_priority ;
1487 unsigned int last_interval ;
1488 unsigned long flags ;
1489 struct core_state *core_state ;
1490 spinlock_t ioctx_lock ;
1491 struct hlist_head ioctx_list ;
1492 struct task_struct *owner ;
1493 struct file *exe_file ;
1494 unsigned long num_exe_file_vmas ;
1495 struct mmu_notifier_mm *mmu_notifier_mm ;
1496 pgtable_t pmd_huge_pte ;
1497 struct cpumask cpumask_allocation ;
1498};
1499#line 7 "include/asm-generic/cputime.h"
1500typedef unsigned long cputime_t;
1501#line 84 "include/linux/sem.h"
1502struct task_struct;
1503#line 101
1504struct sem_undo_list;
1505#line 101 "include/linux/sem.h"
1506struct sysv_sem {
1507 struct sem_undo_list *undo_list ;
1508};
1509#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1510struct siginfo;
1511#line 10
1512struct siginfo;
1513#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1514struct __anonstruct_sigset_t_215 {
1515 unsigned long sig[1] ;
1516};
1517#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1518typedef struct __anonstruct_sigset_t_215 sigset_t;
1519#line 17 "include/asm-generic/signal-defs.h"
1520typedef void __signalfn_t(int );
1521#line 18 "include/asm-generic/signal-defs.h"
1522typedef __signalfn_t *__sighandler_t;
1523#line 20 "include/asm-generic/signal-defs.h"
1524typedef void __restorefn_t(void);
1525#line 21 "include/asm-generic/signal-defs.h"
1526typedef __restorefn_t *__sigrestore_t;
1527#line 167 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1528struct sigaction {
1529 __sighandler_t sa_handler ;
1530 unsigned long sa_flags ;
1531 __sigrestore_t sa_restorer ;
1532 sigset_t sa_mask ;
1533};
1534#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1535struct k_sigaction {
1536 struct sigaction sa ;
1537};
1538#line 7 "include/asm-generic/siginfo.h"
1539union sigval {
1540 int sival_int ;
1541 void *sival_ptr ;
1542};
1543#line 7 "include/asm-generic/siginfo.h"
1544typedef union sigval sigval_t;
1545#line 48 "include/asm-generic/siginfo.h"
1546struct __anonstruct__kill_217 {
1547 __kernel_pid_t _pid ;
1548 __kernel_uid32_t _uid ;
1549};
1550#line 48 "include/asm-generic/siginfo.h"
1551struct __anonstruct__timer_218 {
1552 __kernel_timer_t _tid ;
1553 int _overrun ;
1554 char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
1555 sigval_t _sigval ;
1556 int _sys_private ;
1557};
1558#line 48 "include/asm-generic/siginfo.h"
1559struct __anonstruct__rt_219 {
1560 __kernel_pid_t _pid ;
1561 __kernel_uid32_t _uid ;
1562 sigval_t _sigval ;
1563};
1564#line 48 "include/asm-generic/siginfo.h"
1565struct __anonstruct__sigchld_220 {
1566 __kernel_pid_t _pid ;
1567 __kernel_uid32_t _uid ;
1568 int _status ;
1569 __kernel_clock_t _utime ;
1570 __kernel_clock_t _stime ;
1571};
1572#line 48 "include/asm-generic/siginfo.h"
1573struct __anonstruct__sigfault_221 {
1574 void *_addr ;
1575 short _addr_lsb ;
1576};
1577#line 48 "include/asm-generic/siginfo.h"
1578struct __anonstruct__sigpoll_222 {
1579 long _band ;
1580 int _fd ;
1581};
1582#line 48 "include/asm-generic/siginfo.h"
1583union __anonunion__sifields_216 {
1584 int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
1585 struct __anonstruct__kill_217 _kill ;
1586 struct __anonstruct__timer_218 _timer ;
1587 struct __anonstruct__rt_219 _rt ;
1588 struct __anonstruct__sigchld_220 _sigchld ;
1589 struct __anonstruct__sigfault_221 _sigfault ;
1590 struct __anonstruct__sigpoll_222 _sigpoll ;
1591};
1592#line 48 "include/asm-generic/siginfo.h"
1593struct siginfo {
1594 int si_signo ;
1595 int si_errno ;
1596 int si_code ;
1597 union __anonunion__sifields_216 _sifields ;
1598};
1599#line 48 "include/asm-generic/siginfo.h"
1600typedef struct siginfo siginfo_t;
1601#line 288
1602struct siginfo;
1603#line 10 "include/linux/signal.h"
1604struct task_struct;
1605#line 18
1606struct user_struct;
1607#line 28 "include/linux/signal.h"
1608struct sigpending {
1609 struct list_head list ;
1610 sigset_t signal ;
1611};
1612#line 239
1613struct timespec;
1614#line 240
1615struct pt_regs;
1616#line 50 "include/linux/pid.h"
1617struct pid_namespace;
1618#line 50 "include/linux/pid.h"
1619struct upid {
1620 int nr ;
1621 struct pid_namespace *ns ;
1622 struct hlist_node pid_chain ;
1623};
1624#line 57 "include/linux/pid.h"
1625struct pid {
1626 atomic_t count ;
1627 unsigned int level ;
1628 struct hlist_head tasks[3] ;
1629 struct rcu_head rcu ;
1630 struct upid numbers[1] ;
1631};
1632#line 69 "include/linux/pid.h"
1633struct pid_link {
1634 struct hlist_node node ;
1635 struct pid *pid ;
1636};
1637#line 100
1638struct pid_namespace;
1639#line 10 "include/linux/seccomp.h"
1640struct __anonstruct_seccomp_t_225 {
1641 int mode ;
1642};
1643#line 10 "include/linux/seccomp.h"
1644typedef struct __anonstruct_seccomp_t_225 seccomp_t;
1645#line 81 "include/linux/plist.h"
1646struct plist_head {
1647 struct list_head node_list ;
1648};
1649#line 85 "include/linux/plist.h"
1650struct plist_node {
1651 int prio ;
1652 struct list_head prio_list ;
1653 struct list_head node_list ;
1654};
1655#line 28 "include/linux/rtmutex.h"
1656struct rt_mutex {
1657 raw_spinlock_t wait_lock ;
1658 struct plist_head wait_list ;
1659 struct task_struct *owner ;
1660 int save_state ;
1661 char const *name ;
1662 char const *file ;
1663 int line ;
1664 void *magic ;
1665};
1666#line 40
1667struct rt_mutex_waiter;
1668#line 40
1669struct rt_mutex_waiter;
1670#line 42 "include/linux/resource.h"
1671struct rlimit {
1672 unsigned long rlim_cur ;
1673 unsigned long rlim_max ;
1674};
1675#line 81
1676struct task_struct;
1677#line 8 "include/linux/timerqueue.h"
1678struct timerqueue_node {
1679 struct rb_node node ;
1680 ktime_t expires ;
1681};
1682#line 13 "include/linux/timerqueue.h"
1683struct timerqueue_head {
1684 struct rb_root head ;
1685 struct timerqueue_node *next ;
1686};
1687#line 27 "include/linux/hrtimer.h"
1688struct hrtimer_clock_base;
1689#line 27
1690struct hrtimer_clock_base;
1691#line 28
1692struct hrtimer_cpu_base;
1693#line 28
1694struct hrtimer_cpu_base;
1695#line 44
1696enum hrtimer_restart {
1697 HRTIMER_NORESTART = 0,
1698 HRTIMER_RESTART = 1
1699} ;
1700#line 108 "include/linux/hrtimer.h"
1701struct hrtimer {
1702 struct timerqueue_node node ;
1703 ktime_t _softexpires ;
1704 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1705 struct hrtimer_clock_base *base ;
1706 unsigned long state ;
1707 int start_pid ;
1708 void *start_site ;
1709 char start_comm[16] ;
1710};
1711#line 145 "include/linux/hrtimer.h"
1712struct hrtimer_clock_base {
1713 struct hrtimer_cpu_base *cpu_base ;
1714 int index ;
1715 clockid_t clockid ;
1716 struct timerqueue_head active ;
1717 ktime_t resolution ;
1718 ktime_t (*get_time)(void) ;
1719 ktime_t softirq_time ;
1720 ktime_t offset ;
1721};
1722#line 178 "include/linux/hrtimer.h"
1723struct hrtimer_cpu_base {
1724 raw_spinlock_t lock ;
1725 unsigned long active_bases ;
1726 ktime_t expires_next ;
1727 int hres_active ;
1728 int hang_detected ;
1729 unsigned long nr_events ;
1730 unsigned long nr_retries ;
1731 unsigned long nr_hangs ;
1732 ktime_t max_hang_time ;
1733 struct hrtimer_clock_base clock_base[3] ;
1734};
1735#line 11 "include/linux/task_io_accounting.h"
1736struct task_io_accounting {
1737 u64 rchar ;
1738 u64 wchar ;
1739 u64 syscr ;
1740 u64 syscw ;
1741 u64 read_bytes ;
1742 u64 write_bytes ;
1743 u64 cancelled_write_bytes ;
1744};
1745#line 13 "include/linux/latencytop.h"
1746struct task_struct;
1747#line 20 "include/linux/latencytop.h"
1748struct latency_record {
1749 unsigned long backtrace[12] ;
1750 unsigned int count ;
1751 unsigned long time ;
1752 unsigned long max ;
1753};
1754#line 29 "include/linux/key.h"
1755typedef int32_t key_serial_t;
1756#line 32 "include/linux/key.h"
1757typedef uint32_t key_perm_t;
1758#line 34
1759struct key;
1760#line 34
1761struct key;
1762#line 75
1763struct user_struct;
1764#line 76
1765struct signal_struct;
1766#line 76
1767struct signal_struct;
1768#line 77
1769struct cred;
1770#line 79
1771struct key_type;
1772#line 79
1773struct key_type;
1774#line 81
1775struct keyring_list;
1776#line 81
1777struct keyring_list;
1778#line 124
1779struct key_user;
1780#line 124 "include/linux/key.h"
1781union __anonunion____missing_field_name_226 {
1782 time_t expiry ;
1783 time_t revoked_at ;
1784};
1785#line 124 "include/linux/key.h"
1786union __anonunion_type_data_227 {
1787 struct list_head link ;
1788 unsigned long x[2] ;
1789 void *p[2] ;
1790 int reject_error ;
1791};
1792#line 124 "include/linux/key.h"
1793union __anonunion_payload_228 {
1794 unsigned long value ;
1795 void *rcudata ;
1796 void *data ;
1797 struct keyring_list *subscriptions ;
1798};
1799#line 124 "include/linux/key.h"
1800struct key {
1801 atomic_t usage ;
1802 key_serial_t serial ;
1803 struct rb_node serial_node ;
1804 struct key_type *type ;
1805 struct rw_semaphore sem ;
1806 struct key_user *user ;
1807 void *security ;
1808 union __anonunion____missing_field_name_226 __annonCompField42 ;
1809 uid_t uid ;
1810 gid_t gid ;
1811 key_perm_t perm ;
1812 unsigned short quotalen ;
1813 unsigned short datalen ;
1814 unsigned long flags ;
1815 char *description ;
1816 union __anonunion_type_data_227 type_data ;
1817 union __anonunion_payload_228 payload ;
1818};
1819#line 18 "include/linux/selinux.h"
1820struct audit_context;
1821#line 18
1822struct audit_context;
1823#line 21 "include/linux/cred.h"
1824struct user_struct;
1825#line 22
1826struct cred;
1827#line 31 "include/linux/cred.h"
1828struct group_info {
1829 atomic_t usage ;
1830 int ngroups ;
1831 int nblocks ;
1832 gid_t small_block[32] ;
1833 gid_t *blocks[0] ;
1834};
1835#line 83 "include/linux/cred.h"
1836struct thread_group_cred {
1837 atomic_t usage ;
1838 pid_t tgid ;
1839 spinlock_t lock ;
1840 struct key *session_keyring ;
1841 struct key *process_keyring ;
1842 struct rcu_head rcu ;
1843};
1844#line 116 "include/linux/cred.h"
1845struct cred {
1846 atomic_t usage ;
1847 atomic_t subscribers ;
1848 void *put_addr ;
1849 unsigned int magic ;
1850 uid_t uid ;
1851 gid_t gid ;
1852 uid_t suid ;
1853 gid_t sgid ;
1854 uid_t euid ;
1855 gid_t egid ;
1856 uid_t fsuid ;
1857 gid_t fsgid ;
1858 unsigned int securebits ;
1859 kernel_cap_t cap_inheritable ;
1860 kernel_cap_t cap_permitted ;
1861 kernel_cap_t cap_effective ;
1862 kernel_cap_t cap_bset ;
1863 unsigned char jit_keyring ;
1864 struct key *thread_keyring ;
1865 struct key *request_key_auth ;
1866 struct thread_group_cred *tgcred ;
1867 void *security ;
1868 struct user_struct *user ;
1869 struct user_namespace *user_ns ;
1870 struct group_info *group_info ;
1871 struct rcu_head rcu ;
1872};
1873#line 61 "include/linux/llist.h"
1874struct llist_node;
1875#line 65 "include/linux/llist.h"
1876struct llist_node {
1877 struct llist_node *next ;
1878};
1879#line 97 "include/linux/sched.h"
1880struct futex_pi_state;
1881#line 97
1882struct futex_pi_state;
1883#line 98
1884struct robust_list_head;
1885#line 98
1886struct robust_list_head;
1887#line 99
1888struct bio_list;
1889#line 99
1890struct bio_list;
1891#line 100
1892struct fs_struct;
1893#line 100
1894struct fs_struct;
1895#line 101
1896struct perf_event_context;
1897#line 101
1898struct perf_event_context;
1899#line 102
1900struct blk_plug;
1901#line 102
1902struct blk_plug;
1903#line 151
1904struct cfs_rq;
1905#line 151
1906struct cfs_rq;
1907#line 259
1908struct task_struct;
1909#line 366
1910struct nsproxy;
1911#line 367
1912struct user_namespace;
1913#line 214 "include/linux/aio.h"
1914struct mm_struct;
1915#line 443 "include/linux/sched.h"
1916struct sighand_struct {
1917 atomic_t count ;
1918 struct k_sigaction action[64] ;
1919 spinlock_t siglock ;
1920 wait_queue_head_t signalfd_wqh ;
1921};
1922#line 450 "include/linux/sched.h"
1923struct pacct_struct {
1924 int ac_flag ;
1925 long ac_exitcode ;
1926 unsigned long ac_mem ;
1927 cputime_t ac_utime ;
1928 cputime_t ac_stime ;
1929 unsigned long ac_minflt ;
1930 unsigned long ac_majflt ;
1931};
1932#line 458 "include/linux/sched.h"
1933struct cpu_itimer {
1934 cputime_t expires ;
1935 cputime_t incr ;
1936 u32 error ;
1937 u32 incr_error ;
1938};
1939#line 476 "include/linux/sched.h"
1940struct task_cputime {
1941 cputime_t utime ;
1942 cputime_t stime ;
1943 unsigned long long sum_exec_runtime ;
1944};
1945#line 512 "include/linux/sched.h"
1946struct thread_group_cputimer {
1947 struct task_cputime cputime ;
1948 int running ;
1949 raw_spinlock_t lock ;
1950};
1951#line 519
1952struct autogroup;
1953#line 519
1954struct autogroup;
1955#line 528
1956struct tty_struct;
1957#line 528
1958struct taskstats;
1959#line 528
1960struct tty_audit_buf;
1961#line 528 "include/linux/sched.h"
1962struct signal_struct {
1963 atomic_t sigcnt ;
1964 atomic_t live ;
1965 int nr_threads ;
1966 wait_queue_head_t wait_chldexit ;
1967 struct task_struct *curr_target ;
1968 struct sigpending shared_pending ;
1969 int group_exit_code ;
1970 int notify_count ;
1971 struct task_struct *group_exit_task ;
1972 int group_stop_count ;
1973 unsigned int flags ;
1974 unsigned int is_child_subreaper : 1 ;
1975 unsigned int has_child_subreaper : 1 ;
1976 struct list_head posix_timers ;
1977 struct hrtimer real_timer ;
1978 struct pid *leader_pid ;
1979 ktime_t it_real_incr ;
1980 struct cpu_itimer it[2] ;
1981 struct thread_group_cputimer cputimer ;
1982 struct task_cputime cputime_expires ;
1983 struct list_head cpu_timers[3] ;
1984 struct pid *tty_old_pgrp ;
1985 int leader ;
1986 struct tty_struct *tty ;
1987 struct autogroup *autogroup ;
1988 cputime_t utime ;
1989 cputime_t stime ;
1990 cputime_t cutime ;
1991 cputime_t cstime ;
1992 cputime_t gtime ;
1993 cputime_t cgtime ;
1994 cputime_t prev_utime ;
1995 cputime_t prev_stime ;
1996 unsigned long nvcsw ;
1997 unsigned long nivcsw ;
1998 unsigned long cnvcsw ;
1999 unsigned long cnivcsw ;
2000 unsigned long min_flt ;
2001 unsigned long maj_flt ;
2002 unsigned long cmin_flt ;
2003 unsigned long cmaj_flt ;
2004 unsigned long inblock ;
2005 unsigned long oublock ;
2006 unsigned long cinblock ;
2007 unsigned long coublock ;
2008 unsigned long maxrss ;
2009 unsigned long cmaxrss ;
2010 struct task_io_accounting ioac ;
2011 unsigned long long sum_sched_runtime ;
2012 struct rlimit rlim[16] ;
2013 struct pacct_struct pacct ;
2014 struct taskstats *stats ;
2015 unsigned int audit_tty ;
2016 struct tty_audit_buf *tty_audit_buf ;
2017 struct rw_semaphore group_rwsem ;
2018 int oom_adj ;
2019 int oom_score_adj ;
2020 int oom_score_adj_min ;
2021 struct mutex cred_guard_mutex ;
2022};
2023#line 703 "include/linux/sched.h"
2024struct user_struct {
2025 atomic_t __count ;
2026 atomic_t processes ;
2027 atomic_t files ;
2028 atomic_t sigpending ;
2029 atomic_t inotify_watches ;
2030 atomic_t inotify_devs ;
2031 atomic_t fanotify_listeners ;
2032 atomic_long_t epoll_watches ;
2033 unsigned long mq_bytes ;
2034 unsigned long locked_shm ;
2035 struct key *uid_keyring ;
2036 struct key *session_keyring ;
2037 struct hlist_node uidhash_node ;
2038 uid_t uid ;
2039 struct user_namespace *user_ns ;
2040 atomic_long_t locked_vm ;
2041};
2042#line 747
2043struct backing_dev_info;
2044#line 747
2045struct backing_dev_info;
2046#line 748
2047struct reclaim_state;
2048#line 748
2049struct reclaim_state;
2050#line 751 "include/linux/sched.h"
2051struct sched_info {
2052 unsigned long pcount ;
2053 unsigned long long run_delay ;
2054 unsigned long long last_arrival ;
2055 unsigned long long last_queued ;
2056};
2057#line 763 "include/linux/sched.h"
2058struct task_delay_info {
2059 spinlock_t lock ;
2060 unsigned int flags ;
2061 struct timespec blkio_start ;
2062 struct timespec blkio_end ;
2063 u64 blkio_delay ;
2064 u64 swapin_delay ;
2065 u32 blkio_count ;
2066 u32 swapin_count ;
2067 struct timespec freepages_start ;
2068 struct timespec freepages_end ;
2069 u64 freepages_delay ;
2070 u32 freepages_count ;
2071};
2072#line 1088
2073struct io_context;
2074#line 1088
2075struct io_context;
2076#line 1097
2077struct audit_context;
2078#line 1098
2079struct mempolicy;
2080#line 1099
2081struct pipe_inode_info;
2082#line 1099
2083struct pipe_inode_info;
2084#line 1102
2085struct rq;
2086#line 1102
2087struct rq;
2088#line 1122 "include/linux/sched.h"
2089struct sched_class {
2090 struct sched_class const *next ;
2091 void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2092 void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2093 void (*yield_task)(struct rq *rq ) ;
2094 bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
2095 void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
2096 struct task_struct *(*pick_next_task)(struct rq *rq ) ;
2097 void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
2098 int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
2099 void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
2100 void (*post_schedule)(struct rq *this_rq ) ;
2101 void (*task_waking)(struct task_struct *task ) ;
2102 void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
2103 void (*set_cpus_allowed)(struct task_struct *p , struct cpumask const *newmask ) ;
2104 void (*rq_online)(struct rq *rq ) ;
2105 void (*rq_offline)(struct rq *rq ) ;
2106 void (*set_curr_task)(struct rq *rq ) ;
2107 void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
2108 void (*task_fork)(struct task_struct *p ) ;
2109 void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
2110 void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
2111 void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
2112 unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
2113 void (*task_move_group)(struct task_struct *p , int on_rq ) ;
2114};
2115#line 1167 "include/linux/sched.h"
2116struct load_weight {
2117 unsigned long weight ;
2118 unsigned long inv_weight ;
2119};
2120#line 1172 "include/linux/sched.h"
2121struct sched_statistics {
2122 u64 wait_start ;
2123 u64 wait_max ;
2124 u64 wait_count ;
2125 u64 wait_sum ;
2126 u64 iowait_count ;
2127 u64 iowait_sum ;
2128 u64 sleep_start ;
2129 u64 sleep_max ;
2130 s64 sum_sleep_runtime ;
2131 u64 block_start ;
2132 u64 block_max ;
2133 u64 exec_max ;
2134 u64 slice_max ;
2135 u64 nr_migrations_cold ;
2136 u64 nr_failed_migrations_affine ;
2137 u64 nr_failed_migrations_running ;
2138 u64 nr_failed_migrations_hot ;
2139 u64 nr_forced_migrations ;
2140 u64 nr_wakeups ;
2141 u64 nr_wakeups_sync ;
2142 u64 nr_wakeups_migrate ;
2143 u64 nr_wakeups_local ;
2144 u64 nr_wakeups_remote ;
2145 u64 nr_wakeups_affine ;
2146 u64 nr_wakeups_affine_attempts ;
2147 u64 nr_wakeups_passive ;
2148 u64 nr_wakeups_idle ;
2149};
2150#line 1207 "include/linux/sched.h"
2151struct sched_entity {
2152 struct load_weight load ;
2153 struct rb_node run_node ;
2154 struct list_head group_node ;
2155 unsigned int on_rq ;
2156 u64 exec_start ;
2157 u64 sum_exec_runtime ;
2158 u64 vruntime ;
2159 u64 prev_sum_exec_runtime ;
2160 u64 nr_migrations ;
2161 struct sched_statistics statistics ;
2162 struct sched_entity *parent ;
2163 struct cfs_rq *cfs_rq ;
2164 struct cfs_rq *my_q ;
2165};
2166#line 1233
2167struct rt_rq;
2168#line 1233 "include/linux/sched.h"
2169struct sched_rt_entity {
2170 struct list_head run_list ;
2171 unsigned long timeout ;
2172 unsigned int time_slice ;
2173 int nr_cpus_allowed ;
2174 struct sched_rt_entity *back ;
2175 struct sched_rt_entity *parent ;
2176 struct rt_rq *rt_rq ;
2177 struct rt_rq *my_q ;
2178};
2179#line 1264
2180struct files_struct;
2181#line 1264
2182struct css_set;
2183#line 1264
2184struct compat_robust_list_head;
2185#line 1264
2186struct mem_cgroup;
2187#line 1264 "include/linux/sched.h"
2188struct memcg_batch_info {
2189 int do_batch ;
2190 struct mem_cgroup *memcg ;
2191 unsigned long nr_pages ;
2192 unsigned long memsw_nr_pages ;
2193};
2194#line 1264 "include/linux/sched.h"
2195struct task_struct {
2196 long volatile state ;
2197 void *stack ;
2198 atomic_t usage ;
2199 unsigned int flags ;
2200 unsigned int ptrace ;
2201 struct llist_node wake_entry ;
2202 int on_cpu ;
2203 int on_rq ;
2204 int prio ;
2205 int static_prio ;
2206 int normal_prio ;
2207 unsigned int rt_priority ;
2208 struct sched_class const *sched_class ;
2209 struct sched_entity se ;
2210 struct sched_rt_entity rt ;
2211 struct hlist_head preempt_notifiers ;
2212 unsigned char fpu_counter ;
2213 unsigned int policy ;
2214 cpumask_t cpus_allowed ;
2215 struct sched_info sched_info ;
2216 struct list_head tasks ;
2217 struct plist_node pushable_tasks ;
2218 struct mm_struct *mm ;
2219 struct mm_struct *active_mm ;
2220 unsigned int brk_randomized : 1 ;
2221 int exit_state ;
2222 int exit_code ;
2223 int exit_signal ;
2224 int pdeath_signal ;
2225 unsigned int jobctl ;
2226 unsigned int personality ;
2227 unsigned int did_exec : 1 ;
2228 unsigned int in_execve : 1 ;
2229 unsigned int in_iowait : 1 ;
2230 unsigned int sched_reset_on_fork : 1 ;
2231 unsigned int sched_contributes_to_load : 1 ;
2232 unsigned int irq_thread : 1 ;
2233 pid_t pid ;
2234 pid_t tgid ;
2235 unsigned long stack_canary ;
2236 struct task_struct *real_parent ;
2237 struct task_struct *parent ;
2238 struct list_head children ;
2239 struct list_head sibling ;
2240 struct task_struct *group_leader ;
2241 struct list_head ptraced ;
2242 struct list_head ptrace_entry ;
2243 struct pid_link pids[3] ;
2244 struct list_head thread_group ;
2245 struct completion *vfork_done ;
2246 int *set_child_tid ;
2247 int *clear_child_tid ;
2248 cputime_t utime ;
2249 cputime_t stime ;
2250 cputime_t utimescaled ;
2251 cputime_t stimescaled ;
2252 cputime_t gtime ;
2253 cputime_t prev_utime ;
2254 cputime_t prev_stime ;
2255 unsigned long nvcsw ;
2256 unsigned long nivcsw ;
2257 struct timespec start_time ;
2258 struct timespec real_start_time ;
2259 unsigned long min_flt ;
2260 unsigned long maj_flt ;
2261 struct task_cputime cputime_expires ;
2262 struct list_head cpu_timers[3] ;
2263 struct cred const *real_cred ;
2264 struct cred const *cred ;
2265 struct cred *replacement_session_keyring ;
2266 char comm[16] ;
2267 int link_count ;
2268 int total_link_count ;
2269 struct sysv_sem sysvsem ;
2270 unsigned long last_switch_count ;
2271 struct thread_struct thread ;
2272 struct fs_struct *fs ;
2273 struct files_struct *files ;
2274 struct nsproxy *nsproxy ;
2275 struct signal_struct *signal ;
2276 struct sighand_struct *sighand ;
2277 sigset_t blocked ;
2278 sigset_t real_blocked ;
2279 sigset_t saved_sigmask ;
2280 struct sigpending pending ;
2281 unsigned long sas_ss_sp ;
2282 size_t sas_ss_size ;
2283 int (*notifier)(void *priv ) ;
2284 void *notifier_data ;
2285 sigset_t *notifier_mask ;
2286 struct audit_context *audit_context ;
2287 uid_t loginuid ;
2288 unsigned int sessionid ;
2289 seccomp_t seccomp ;
2290 u32 parent_exec_id ;
2291 u32 self_exec_id ;
2292 spinlock_t alloc_lock ;
2293 raw_spinlock_t pi_lock ;
2294 struct plist_head pi_waiters ;
2295 struct rt_mutex_waiter *pi_blocked_on ;
2296 struct mutex_waiter *blocked_on ;
2297 unsigned int irq_events ;
2298 unsigned long hardirq_enable_ip ;
2299 unsigned long hardirq_disable_ip ;
2300 unsigned int hardirq_enable_event ;
2301 unsigned int hardirq_disable_event ;
2302 int hardirqs_enabled ;
2303 int hardirq_context ;
2304 unsigned long softirq_disable_ip ;
2305 unsigned long softirq_enable_ip ;
2306 unsigned int softirq_disable_event ;
2307 unsigned int softirq_enable_event ;
2308 int softirqs_enabled ;
2309 int softirq_context ;
2310 void *journal_info ;
2311 struct bio_list *bio_list ;
2312 struct blk_plug *plug ;
2313 struct reclaim_state *reclaim_state ;
2314 struct backing_dev_info *backing_dev_info ;
2315 struct io_context *io_context ;
2316 unsigned long ptrace_message ;
2317 siginfo_t *last_siginfo ;
2318 struct task_io_accounting ioac ;
2319 u64 acct_rss_mem1 ;
2320 u64 acct_vm_mem1 ;
2321 cputime_t acct_timexpd ;
2322 nodemask_t mems_allowed ;
2323 seqcount_t mems_allowed_seq ;
2324 int cpuset_mem_spread_rotor ;
2325 int cpuset_slab_spread_rotor ;
2326 struct css_set *cgroups ;
2327 struct list_head cg_list ;
2328 struct robust_list_head *robust_list ;
2329 struct compat_robust_list_head *compat_robust_list ;
2330 struct list_head pi_state_list ;
2331 struct futex_pi_state *pi_state_cache ;
2332 struct perf_event_context *perf_event_ctxp[2] ;
2333 struct mutex perf_event_mutex ;
2334 struct list_head perf_event_list ;
2335 struct mempolicy *mempolicy ;
2336 short il_next ;
2337 short pref_node_fork ;
2338 struct rcu_head rcu ;
2339 struct pipe_inode_info *splice_pipe ;
2340 struct task_delay_info *delays ;
2341 int make_it_fail ;
2342 int nr_dirtied ;
2343 int nr_dirtied_pause ;
2344 unsigned long dirty_paused_when ;
2345 int latency_record_count ;
2346 struct latency_record latency_record[32] ;
2347 unsigned long timer_slack_ns ;
2348 unsigned long default_timer_slack_ns ;
2349 struct list_head *scm_work_list ;
2350 unsigned long trace ;
2351 unsigned long trace_recursion ;
2352 struct memcg_batch_info memcg_batch ;
2353 atomic_t ptrace_bp_refcnt ;
2354};
2355#line 1681
2356struct pid_namespace;
2357#line 28 "include/linux/of.h"
2358typedef u32 phandle;
2359#line 31 "include/linux/of.h"
2360struct property {
2361 char *name ;
2362 int length ;
2363 void *value ;
2364 struct property *next ;
2365 unsigned long _flags ;
2366 unsigned int unique_id ;
2367};
2368#line 44
2369struct proc_dir_entry;
2370#line 44 "include/linux/of.h"
2371struct device_node {
2372 char const *name ;
2373 char const *type ;
2374 phandle phandle ;
2375 char *full_name ;
2376 struct property *properties ;
2377 struct property *deadprops ;
2378 struct device_node *parent ;
2379 struct device_node *child ;
2380 struct device_node *sibling ;
2381 struct device_node *next ;
2382 struct device_node *allnext ;
2383 struct proc_dir_entry *pde ;
2384 struct kref kref ;
2385 unsigned long _flags ;
2386 void *data ;
2387};
2388#line 44 "include/linux/i2c.h"
2389struct i2c_msg;
2390#line 44
2391struct i2c_msg;
2392#line 45
2393struct i2c_algorithm;
2394#line 45
2395struct i2c_algorithm;
2396#line 46
2397struct i2c_adapter;
2398#line 46
2399struct i2c_adapter;
2400#line 47
2401struct i2c_client;
2402#line 47
2403struct i2c_client;
2404#line 48
2405struct i2c_driver;
2406#line 48
2407struct i2c_driver;
2408#line 49
2409union i2c_smbus_data;
2410#line 49
2411union i2c_smbus_data;
2412#line 50
2413struct i2c_board_info;
2414#line 50
2415struct i2c_board_info;
2416#line 52
2417struct module;
2418#line 161 "include/linux/i2c.h"
2419struct i2c_driver {
2420 unsigned int class ;
2421 int (*attach_adapter)(struct i2c_adapter * ) __attribute__((__deprecated__)) ;
2422 int (*detach_adapter)(struct i2c_adapter * ) __attribute__((__deprecated__)) ;
2423 int (*probe)(struct i2c_client * , struct i2c_device_id const * ) ;
2424 int (*remove)(struct i2c_client * ) ;
2425 void (*shutdown)(struct i2c_client * ) ;
2426 int (*suspend)(struct i2c_client * , pm_message_t mesg ) ;
2427 int (*resume)(struct i2c_client * ) ;
2428 void (*alert)(struct i2c_client * , unsigned int data ) ;
2429 int (*command)(struct i2c_client *client , unsigned int cmd , void *arg ) ;
2430 struct device_driver driver ;
2431 struct i2c_device_id const *id_table ;
2432 int (*detect)(struct i2c_client * , struct i2c_board_info * ) ;
2433 unsigned short const *address_list ;
2434 struct list_head clients ;
2435};
2436#line 220 "include/linux/i2c.h"
2437struct i2c_client {
2438 unsigned short flags ;
2439 unsigned short addr ;
2440 char name[20] ;
2441 struct i2c_adapter *adapter ;
2442 struct i2c_driver *driver ;
2443 struct device dev ;
2444 int irq ;
2445 struct list_head detected ;
2446};
2447#line 273 "include/linux/i2c.h"
2448struct i2c_board_info {
2449 char type[20] ;
2450 unsigned short flags ;
2451 unsigned short addr ;
2452 void *platform_data ;
2453 struct dev_archdata *archdata ;
2454 struct device_node *of_node ;
2455 int irq ;
2456};
2457#line 352 "include/linux/i2c.h"
2458struct i2c_algorithm {
2459 int (*master_xfer)(struct i2c_adapter *adap , struct i2c_msg *msgs , int num ) ;
2460 int (*smbus_xfer)(struct i2c_adapter *adap , u16 addr , unsigned short flags ,
2461 char read_write , u8 command , int size , union i2c_smbus_data *data ) ;
2462 u32 (*functionality)(struct i2c_adapter * ) ;
2463};
2464#line 373 "include/linux/i2c.h"
2465struct i2c_adapter {
2466 struct module *owner ;
2467 unsigned int class ;
2468 struct i2c_algorithm const *algo ;
2469 void *algo_data ;
2470 struct rt_mutex bus_lock ;
2471 int timeout ;
2472 int retries ;
2473 struct device dev ;
2474 int nr ;
2475 char name[48] ;
2476 struct completion dev_released ;
2477 struct mutex userspace_clients_lock ;
2478 struct list_head userspace_clients ;
2479};
2480#line 538 "include/linux/i2c.h"
2481struct i2c_msg {
2482 __u16 addr ;
2483 __u16 flags ;
2484 __u16 len ;
2485 __u8 *buf ;
2486};
2487#line 596 "include/linux/i2c.h"
2488union i2c_smbus_data {
2489 __u8 byte ;
2490 __u16 word ;
2491 __u8 block[34] ;
2492};
2493#line 17 "include/linux/platform_device.h"
2494struct mfd_cell;
2495#line 17
2496struct mfd_cell;
2497#line 19 "include/linux/platform_device.h"
2498struct platform_device {
2499 char const *name ;
2500 int id ;
2501 struct device dev ;
2502 u32 num_resources ;
2503 struct resource *resource ;
2504 struct platform_device_id const *id_entry ;
2505 struct mfd_cell *mfd_cell ;
2506 struct pdev_archdata archdata ;
2507};
2508#line 24 "include/linux/mfd/core.h"
2509struct mfd_cell {
2510 char const *name ;
2511 int id ;
2512 atomic_t *usage_count ;
2513 int (*enable)(struct platform_device *dev ) ;
2514 int (*disable)(struct platform_device *dev ) ;
2515 int (*suspend)(struct platform_device *dev ) ;
2516 int (*resume)(struct platform_device *dev ) ;
2517 void *platform_data ;
2518 size_t pdata_size ;
2519 int num_resources ;
2520 struct resource const *resources ;
2521 bool ignore_resource_conflicts ;
2522 bool pm_runtime_no_callbacks ;
2523};
2524#line 38 "include/linux/regulator/consumer.h"
2525struct device;
2526#line 40 "include/linux/taskstats.h"
2527struct taskstats {
2528 __u16 version ;
2529 __u32 ac_exitcode ;
2530 __u8 ac_flag ;
2531 __u8 ac_nice ;
2532 __u64 cpu_count __attribute__((__aligned__(8))) ;
2533 __u64 cpu_delay_total ;
2534 __u64 blkio_count ;
2535 __u64 blkio_delay_total ;
2536 __u64 swapin_count ;
2537 __u64 swapin_delay_total ;
2538 __u64 cpu_run_real_total ;
2539 __u64 cpu_run_virtual_total ;
2540 char ac_comm[32] ;
2541 __u8 ac_sched __attribute__((__aligned__(8))) ;
2542 __u8 ac_pad[3] ;
2543 __u32 ac_uid __attribute__((__aligned__(8))) ;
2544 __u32 ac_gid ;
2545 __u32 ac_pid ;
2546 __u32 ac_ppid ;
2547 __u32 ac_btime ;
2548 __u64 ac_etime __attribute__((__aligned__(8))) ;
2549 __u64 ac_utime ;
2550 __u64 ac_stime ;
2551 __u64 ac_minflt ;
2552 __u64 ac_majflt ;
2553 __u64 coremem ;
2554 __u64 virtmem ;
2555 __u64 hiwater_rss ;
2556 __u64 hiwater_vm ;
2557 __u64 read_char ;
2558 __u64 write_char ;
2559 __u64 read_syscalls ;
2560 __u64 write_syscalls ;
2561 __u64 read_bytes ;
2562 __u64 write_bytes ;
2563 __u64 cancelled_write_bytes ;
2564 __u64 nvcsw ;
2565 __u64 nivcsw ;
2566 __u64 ac_utimescaled ;
2567 __u64 ac_stimescaled ;
2568 __u64 cpu_scaled_run_real_total ;
2569 __u64 freepages_count ;
2570 __u64 freepages_delay_total ;
2571};
2572#line 22 "include/linux/cgroup.h"
2573struct cgroupfs_root;
2574#line 22
2575struct cgroupfs_root;
2576#line 25
2577struct cgroup;
2578#line 25
2579struct cgroup;
2580#line 26
2581struct css_id;
2582#line 26
2583struct css_id;
2584#line 60 "include/linux/cgroup.h"
2585struct cgroup_subsys_state {
2586 struct cgroup *cgroup ;
2587 atomic_t refcnt ;
2588 unsigned long flags ;
2589 struct css_id *id ;
2590};
2591#line 163 "include/linux/cgroup.h"
2592struct cgroup {
2593 unsigned long flags ;
2594 atomic_t count ;
2595 struct list_head sibling ;
2596 struct list_head children ;
2597 struct cgroup *parent ;
2598 struct dentry *dentry ;
2599 struct cgroup_subsys_state *subsys[8UL * sizeof(unsigned long )] ;
2600 struct cgroupfs_root *root ;
2601 struct cgroup *top_cgroup ;
2602 struct list_head css_sets ;
2603 struct list_head release_list ;
2604 struct list_head pidlists ;
2605 struct mutex pidlist_mutex ;
2606 struct rcu_head rcu_head ;
2607 struct list_head event_list ;
2608 spinlock_t event_list_lock ;
2609};
2610#line 224 "include/linux/cgroup.h"
2611struct css_set {
2612 atomic_t refcount ;
2613 struct hlist_node hlist ;
2614 struct list_head tasks ;
2615 struct list_head cg_links ;
2616 struct cgroup_subsys_state *subsys[8UL * sizeof(unsigned long )] ;
2617 struct rcu_head rcu_head ;
2618};
2619#line 25 "include/linux/memcontrol.h"
2620struct mem_cgroup;
2621#line 27
2622struct page;
2623#line 28
2624struct mm_struct;
2625#line 439
2626struct sock;
2627#line 113 "include/linux/swap.h"
2628struct reclaim_state {
2629 unsigned long reclaimed_slab ;
2630};
2631#line 119
2632struct address_space;
2633#line 356
2634struct backing_dev_info;
2635#line 8 "include/linux/debug_locks.h"
2636struct task_struct;
2637#line 48
2638struct task_struct;
2639#line 22 "include/linux/mm.h"
2640struct mempolicy;
2641#line 23
2642struct anon_vma;
2643#line 25
2644struct user_struct;
2645#line 41 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64.h"
2646struct mm_struct;
2647#line 656 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable.h"
2648struct vm_area_struct;
2649#line 188 "include/linux/mm.h"
2650struct vm_fault {
2651 unsigned int flags ;
2652 unsigned long pgoff ;
2653 void *virtual_address ;
2654 struct page *page ;
2655};
2656#line 205 "include/linux/mm.h"
2657struct vm_operations_struct {
2658 void (*open)(struct vm_area_struct *area ) ;
2659 void (*close)(struct vm_area_struct *area ) ;
2660 int (*fault)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
2661 int (*page_mkwrite)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
2662 int (*access)(struct vm_area_struct *vma , unsigned long addr , void *buf , int len ,
2663 int write ) ;
2664 int (*set_policy)(struct vm_area_struct *vma , struct mempolicy *new ) ;
2665 struct mempolicy *(*get_policy)(struct vm_area_struct *vma , unsigned long addr ) ;
2666 int (*migrate)(struct vm_area_struct *vma , nodemask_t const *from , nodemask_t const *to ,
2667 unsigned long flags ) ;
2668};
2669#line 195 "include/linux/page-flags.h"
2670struct page;
2671#line 33 "include/linux/mfd/wm8400.h"
2672struct wm8400_platform_data {
2673 int (*platform_init)(struct device *dev ) ;
2674};
2675#line 28 "include/linux/mfd/wm8400-private.h"
2676struct regmap;
2677#line 28
2678struct regmap;
2679#line 32 "include/linux/mfd/wm8400-private.h"
2680struct wm8400 {
2681 struct device *dev ;
2682 struct mutex io_lock ;
2683 struct regmap *regmap ;
2684 u16 reg_cache[85] ;
2685 struct platform_device regulators[6] ;
2686};
2687#line 1184 "include/linux/mfd/wm8400-audio.h"
2688struct wm8400;
2689#line 18 "include/linux/regmap.h"
2690struct module;
2691#line 19
2692struct device;
2693#line 20
2694struct i2c_client;
2695#line 22
2696struct regmap;
2697#line 25
2698enum regcache_type {
2699 REGCACHE_NONE = 0,
2700 REGCACHE_RBTREE = 1,
2701 REGCACHE_COMPRESSED = 2
2702} ;
2703#line 39 "include/linux/regmap.h"
2704struct reg_default {
2705 unsigned int reg ;
2706 unsigned int def ;
2707};
2708#line 79 "include/linux/regmap.h"
2709struct regmap_config {
2710 int reg_bits ;
2711 int pad_bits ;
2712 int val_bits ;
2713 bool (*writeable_reg)(struct device *dev , unsigned int reg ) ;
2714 bool (*readable_reg)(struct device *dev , unsigned int reg ) ;
2715 bool (*volatile_reg)(struct device *dev , unsigned int reg ) ;
2716 bool (*precious_reg)(struct device *dev , unsigned int reg ) ;
2717 unsigned int max_register ;
2718 struct reg_default const *reg_defaults ;
2719 unsigned int num_reg_defaults ;
2720 enum regcache_type cache_type ;
2721 void const *reg_defaults_raw ;
2722 unsigned int num_reg_defaults_raw ;
2723 u8 read_flag_mask ;
2724 u8 write_flag_mask ;
2725};
2726#line 46 "include/linux/slub_def.h"
2727struct kmem_cache_cpu {
2728 void **freelist ;
2729 unsigned long tid ;
2730 struct page *page ;
2731 struct page *partial ;
2732 int node ;
2733 unsigned int stat[26] ;
2734};
2735#line 57 "include/linux/slub_def.h"
2736struct kmem_cache_node {
2737 spinlock_t list_lock ;
2738 unsigned long nr_partial ;
2739 struct list_head partial ;
2740 atomic_long_t nr_slabs ;
2741 atomic_long_t total_objects ;
2742 struct list_head full ;
2743};
2744#line 73 "include/linux/slub_def.h"
2745struct kmem_cache_order_objects {
2746 unsigned long x ;
2747};
2748#line 80 "include/linux/slub_def.h"
2749struct kmem_cache {
2750 struct kmem_cache_cpu *cpu_slab ;
2751 unsigned long flags ;
2752 unsigned long min_partial ;
2753 int size ;
2754 int objsize ;
2755 int offset ;
2756 int cpu_partial ;
2757 struct kmem_cache_order_objects oo ;
2758 struct kmem_cache_order_objects max ;
2759 struct kmem_cache_order_objects min ;
2760 gfp_t allocflags ;
2761 int refcount ;
2762 void (*ctor)(void * ) ;
2763 int inuse ;
2764 int align ;
2765 int reserved ;
2766 char const *name ;
2767 struct list_head list ;
2768 struct kobject kobj ;
2769 int remote_node_defrag_ratio ;
2770 struct kmem_cache_node *node[1 << 10] ;
2771};
2772#line 27 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
2773struct __anonstruct_reg_data_245 {
2774 u16 readable ;
2775 u16 writable ;
2776 u16 vol ;
2777 int is_codec ;
2778 u16 default_val ;
2779};
2780#line 125 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
2781struct __anonstruct_246 {
2782 int : 0 ;
2783};
2784#line 146 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
2785struct __anonstruct_247 {
2786 int : 0 ;
2787};
2788#line 232 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
2789struct __anonstruct_248 {
2790 int : 0 ;
2791};
2792#line 283 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
2793struct __anonstruct_249 {
2794 int : 0 ;
2795};
2796#line 289 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
2797struct __anonstruct_250 {
2798 int : 0 ;
2799};
2800#line 294 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
2801struct __anonstruct_251 {
2802 int : 0 ;
2803};
2804#line 1 "<compiler builtins>"
2805
2806#line 1
2807long __builtin_expect(long val , long res ) ;
2808#line 46 "include/linux/swab.h"
2809__inline static __u16 __fswab16(__u16 val ) __attribute__((__no_instrument_function__,
2810__const__)) ;
2811#line 46 "include/linux/swab.h"
2812__inline static __u16 __fswab16(__u16 val )
2813{ int __cil_tmp2 ;
2814 int __cil_tmp3 ;
2815 int __cil_tmp4 ;
2816 int __cil_tmp5 ;
2817 int __cil_tmp6 ;
2818 int __cil_tmp7 ;
2819 int __cil_tmp8 ;
2820
2821 {
2822 {
2823#line 51
2824 __cil_tmp2 = (int )val;
2825#line 51
2826 __cil_tmp3 = __cil_tmp2 & 65280;
2827#line 51
2828 __cil_tmp4 = __cil_tmp3 >> 8;
2829#line 51
2830 __cil_tmp5 = (int )val;
2831#line 51
2832 __cil_tmp6 = __cil_tmp5 & 255;
2833#line 51
2834 __cil_tmp7 = __cil_tmp6 << 8;
2835#line 51
2836 __cil_tmp8 = __cil_tmp7 | __cil_tmp4;
2837#line 51
2838 return ((__u16 )__cil_tmp8);
2839 }
2840}
2841}
2842#line 100 "include/linux/printk.h"
2843extern int ( printk)(char const *fmt , ...) ;
2844#line 27 "include/linux/err.h"
2845__inline static long __attribute__((__warn_unused_result__)) PTR_ERR(void const *ptr ) __attribute__((__no_instrument_function__)) ;
2846#line 27 "include/linux/err.h"
2847__inline static long __attribute__((__warn_unused_result__)) PTR_ERR(void const *ptr )
2848{
2849
2850 {
2851#line 29
2852 return ((long )ptr);
2853}
2854}
2855#line 32
2856__inline static long __attribute__((__warn_unused_result__)) IS_ERR(void const *ptr ) __attribute__((__no_instrument_function__)) ;
2857#line 32 "include/linux/err.h"
2858__inline static long __attribute__((__warn_unused_result__)) IS_ERR(void const *ptr )
2859{ long tmp ;
2860 unsigned long __cil_tmp3 ;
2861 int __cil_tmp4 ;
2862 int __cil_tmp5 ;
2863 int __cil_tmp6 ;
2864 long __cil_tmp7 ;
2865
2866 {
2867 {
2868#line 34
2869 __cil_tmp3 = (unsigned long )ptr;
2870#line 34
2871 __cil_tmp4 = __cil_tmp3 >= 0xfffffffffffff001UL;
2872#line 34
2873 __cil_tmp5 = ! __cil_tmp4;
2874#line 34
2875 __cil_tmp6 = ! __cil_tmp5;
2876#line 34
2877 __cil_tmp7 = (long )__cil_tmp6;
2878#line 34
2879 tmp = __builtin_expect(__cil_tmp7, 0L);
2880 }
2881#line 34
2882 return (tmp);
2883}
2884}
2885#line 115 "include/linux/mutex.h"
2886extern void __mutex_init(struct mutex *lock , char const *name , struct lock_class_key *key ) ;
2887#line 152
2888void mutex_lock(struct mutex *lock ) ;
2889#line 153
2890int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
2891#line 154
2892int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
2893#line 168
2894int mutex_trylock(struct mutex *lock ) ;
2895#line 169
2896void mutex_unlock(struct mutex *lock ) ;
2897#line 170
2898int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
2899#line 26 "include/linux/export.h"
2900extern struct module __this_module ;
2901#line 67 "include/linux/module.h"
2902int init_module(void) ;
2903#line 68
2904void cleanup_module(void) ;
2905#line 553 "include/linux/device.h"
2906extern void *devm_kzalloc(struct device *dev , size_t size , gfp_t gfp ) ;
2907#line 792
2908extern void *dev_get_drvdata(struct device const *dev ) ;
2909#line 793
2910extern int dev_set_drvdata(struct device *dev , void *data ) ;
2911#line 891
2912extern int ( dev_err)(struct device const *dev , char const *fmt
2913 , ...) ;
2914#line 893
2915extern int ( dev_warn)(struct device const *dev , char const *fmt
2916 , ...) ;
2917#line 897
2918extern int ( _dev_info)(struct device const *dev , char const *fmt
2919 , ...) ;
2920#line 242 "include/linux/i2c.h"
2921__inline static void *i2c_get_clientdata(struct i2c_client const *dev ) __attribute__((__no_instrument_function__)) ;
2922#line 242 "include/linux/i2c.h"
2923__inline static void *i2c_get_clientdata(struct i2c_client const *dev )
2924{ void *tmp___7 ;
2925 unsigned long __cil_tmp3 ;
2926 unsigned long __cil_tmp4 ;
2927 struct device const *__cil_tmp5 ;
2928
2929 {
2930 {
2931#line 244
2932 __cil_tmp3 = (unsigned long )dev;
2933#line 244
2934 __cil_tmp4 = __cil_tmp3 + 40;
2935#line 244
2936 __cil_tmp5 = (struct device const *)__cil_tmp4;
2937#line 244
2938 tmp___7 = dev_get_drvdata(__cil_tmp5);
2939 }
2940#line 244
2941 return (tmp___7);
2942}
2943}
2944#line 247
2945__inline static void i2c_set_clientdata(struct i2c_client *dev , void *data ) __attribute__((__no_instrument_function__)) ;
2946#line 247 "include/linux/i2c.h"
2947__inline static void i2c_set_clientdata(struct i2c_client *dev , void *data )
2948{ unsigned long __cil_tmp3 ;
2949 unsigned long __cil_tmp4 ;
2950 struct device *__cil_tmp5 ;
2951
2952 {
2953 {
2954#line 249
2955 __cil_tmp3 = (unsigned long )dev;
2956#line 249
2957 __cil_tmp4 = __cil_tmp3 + 40;
2958#line 249
2959 __cil_tmp5 = (struct device *)__cil_tmp4;
2960#line 249
2961 dev_set_drvdata(__cil_tmp5, data);
2962 }
2963#line 250
2964 return;
2965}
2966}
2967#line 450
2968extern int i2c_register_driver(struct module * , struct i2c_driver * ) ;
2969#line 451
2970extern void i2c_del_driver(struct i2c_driver * ) ;
2971#line 93 "include/linux/mfd/core.h"
2972extern int mfd_add_devices(struct device *parent , int id , struct mfd_cell *cells ,
2973 int n_devs , struct resource *mem_base , int irq_base ) ;
2974#line 98
2975extern void mfd_remove_devices(struct device *parent ) ;
2976#line 931 "include/linux/mfd/wm8400-private.h"
2977u16 wm8400_reg_read(struct wm8400 *wm8400 , u8 reg ) ;
2978#line 932
2979int wm8400_block_read(struct wm8400 *wm8400 , u8 reg , int count , u16 *data ) ;
2980#line 933
2981int wm8400_set_bits(struct wm8400 *wm8400 , u8 reg , u16 mask , u16 val ) ;
2982#line 1185 "include/linux/mfd/wm8400-audio.h"
2983void wm8400_reset_codec_reg_cache(struct wm8400 *wm8400 ) ;
2984#line 138 "include/linux/regmap.h"
2985extern struct regmap *devm_regmap_init_i2c(struct i2c_client *i2c , struct regmap_config const *config ) ;
2986#line 146
2987extern int regmap_write(struct regmap *map , unsigned int reg , unsigned int val ) ;
2988#line 151
2989extern int regmap_read(struct regmap *map , unsigned int reg , unsigned int *val ) ;
2990#line 152
2991extern int regmap_raw_read(struct regmap *map , unsigned int reg , void *val , size_t val_len ) ;
2992#line 154
2993extern int regmap_bulk_read(struct regmap *map , unsigned int reg , void *val , size_t val_count ) ;
2994#line 27 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
2995static struct __anonstruct_reg_data_245 reg_data[85] =
2996#line 27 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
2997 { {(u16 )65535, (u16 )65535, (u16 )0, 0, (u16 )24946},
2998 {(u16 )28672, (u16 )0, (u16 )32768, 0, (u16 )0},
2999 {(u16 )65303, (u16 )65303, (u16 )0, 0, (u16 )0},
3000 {(u16 )60403, (u16 )60403, (u16 )0, 1, (u16 )24576},
3001 {(u16 )15603, (u16 )15603, (u16 )0, 1, (u16 )0},
3002 {(u16 )61944, (u16 )61944, (u16 )0, 1, (u16 )16464},
3003 {(u16 )64543, (u16 )64543, (u16 )0, 1, (u16 )16384},
3004 {(u16 )57310, (u16 )57310, (u16 )0, 1, (u16 )456},
3005 {(u16 )64764, (u16 )64764, (u16 )0, 1, (u16 )0},
3006 {(u16 )61439, (u16 )61439, (u16 )0, 1, (u16 )64},
3007 {(u16 )61439, (u16 )61439, (u16 )0, 1, (u16 )64},
3008 {(u16 )10231, (u16 )10231, (u16 )0, 1, (u16 )4},
3009 {(u16 )511, (u16 )511, (u16 )0, 1, (u16 )192},
3010 {(u16 )511, (u16 )511, (u16 )0, 1, (u16 )192},
3011 {(u16 )8175, (u16 )8175, (u16 )0, 1, (u16 )0},
3012 {(u16 )355, (u16 )355, (u16 )0, 1, (u16 )256},
3013 {(u16 )511, (u16 )511, (u16 )0, 1, (u16 )192},
3014 {(u16 )511, (u16 )511, (u16 )0, 1, (u16 )192},
3015 {(u16 )8191, (u16 )4095, (u16 )0, 1, (u16 )0},
3016 {(u16 )65535, (u16 )65535, (u16 )0, 1, (u16 )4096},
3017 {(u16 )65535, (u16 )65535, (u16 )0, 1, (u16 )4112},
3018 {(u16 )65535, (u16 )65535, (u16 )0, 1, (u16 )4112},
3019 {(u16 )4061, (u16 )4061, (u16 )0, 1, (u16 )32768},
3020 {(u16 )8191, (u16 )8191, (u16 )0, 1, (u16 )2048},
3021 {(u16 )0, (u16 )479, (u16 )0, 1, (u16 )139},
3022 {(u16 )0, (u16 )479, (u16 )0, 1, (u16 )139},
3023 {(u16 )0, (u16 )479, (u16 )0, 1, (u16 )139},
3024 {(u16 )0, (u16 )479, (u16 )0, 1, (u16 )139},
3025 {(u16 )0, (u16 )511, (u16 )0, 1, (u16 )0},
3026 {(u16 )0, (u16 )511, (u16 )0, 1, (u16 )0},
3027 {(u16 )0, (u16 )119, (u16 )0, 1, (u16 )102},
3028 {(u16 )0, (u16 )51, (u16 )0, 1, (u16 )34},
3029 {(u16 )0, (u16 )511, (u16 )0, 1, (u16 )121},
3030 {(u16 )0, (u16 )511, (u16 )0, 1, (u16 )121},
3031 {(u16 )0, (u16 )3, (u16 )0, 1, (u16 )3},
3032 {(u16 )0, (u16 )511, (u16 )0, 1, (u16 )3},
3033 {(u16 )0, (u16 )0, (u16 )0, 0, (u16 )0},
3034 {(u16 )0, (u16 )63, (u16 )0, 1, (u16 )256},
3035 {(u16 )0, (u16 )0, (u16 )0, 0, (u16 )0},
3036 {(u16 )0, (u16 )15, (u16 )0, 0, (u16 )0},
3037 {(u16 )0, (u16 )255, (u16 )0, 1, (u16 )0},
3038 {(u16 )0, (u16 )439, (u16 )0, 1, (u16 )0},
3039 {(u16 )0, (u16 )439, (u16 )0, 1, (u16 )0},
3040 {(u16 )0, (u16 )511, (u16 )0, 1, (u16 )0},
3041 {(u16 )0, (u16 )511, (u16 )0, 1, (u16 )0},
3042 {(u16 )0, (u16 )253, (u16 )0, 1, (u16 )0},
3043 {(u16 )0, (u16 )253, (u16 )0, 1, (u16 )0},
3044 {(u16 )0, (u16 )511, (u16 )0, 1, (u16 )0},
3045 {(u16 )0, (u16 )511, (u16 )0, 1, (u16 )0},
3046 {(u16 )0, (u16 )511, (u16 )0, 1, (u16 )0},
3047 {(u16 )0, (u16 )511, (u16 )0, 1, (u16 )0},
3048 {(u16 )0, (u16 )435, (u16 )0, 1, (u16 )384},
3049 {(u16 )0, (u16 )119, (u16 )0, 1, (u16 )0},
3050 {(u16 )0, (u16 )119, (u16 )0, 1, (u16 )0},
3051 {(u16 )0, (u16 )255, (u16 )0, 1, (u16 )0},
3052 {(u16 )0, (u16 )1, (u16 )0, 1, (u16 )0},
3053 {(u16 )0, (u16 )63, (u16 )0, 1, (u16 )0},
3054 {(u16 )0, (u16 )79, (u16 )0, 1, (u16 )0},
3055 {(u16 )0, (u16 )253, (u16 )0, 1, (u16 )0},
3056 {(u16 )0, (u16 )0, (u16 )0, 0, (u16 )0},
3057 {(u16 )8191, (u16 )8191, (u16 )0, 1, (u16 )0},
3058 {(u16 )65535, (u16 )65535, (u16 )0, 1, (u16 )0},
3059 {(u16 )1023, (u16 )1023, (u16 )0, 1, (u16 )0},
3060 {(u16 )127, (u16 )127, (u16 )0, 1, (u16 )0},
3061 {(u16 )0, (u16 )0, (u16 )0, 0, (u16 )0},
3062 {(u16 )57343, (u16 )57343, (u16 )0, 0, (u16 )0},
3063 {(u16 )57343, (u16 )57343, (u16 )0, 0, (u16 )0},
3064 {(u16 )57343, (u16 )57343, (u16 )0, 0, (u16 )0},
3065 {(u16 )57343, (u16 )57343, (u16 )0, 0, (u16 )0},
3066 {(u16 )0, (u16 )0, (u16 )0, 0, (u16 )0},
3067 {(u16 )65535, (u16 )65535, (u16 )0, 0, (u16 )17408},
3068 {(u16 )9215, (u16 )9215, (u16 )0, 0, (u16 )0},
3069 {(u16 )65535, (u16 )65535, (u16 )0, 0, (u16 )17408},
3070 {(u16 )9215, (u16 )9215, (u16 )0, 0, (u16 )0},
3071 {(u16 )0, (u16 )0, (u16 )0, 0, (u16 )0},
3072 {(u16 )14, (u16 )14, (u16 )0, 0, (u16 )8},
3073 {(u16 )57359, (u16 )57359, (u16 )0, 0, (u16 )0},
3074 {(u16 )0, (u16 )0, (u16 )0, 0, (u16 )0},
3075 {(u16 )960, (u16 )960, (u16 )0, 0, (u16 )704},
3076 {(u16 )65535, (u16 )0, (u16 )65535, 0, (u16 )0},
3077 {(u16 )65535, (u16 )65535, (u16 )0, 0, (u16 )0},
3078 {(u16 )65535, (u16 )0, (u16 )65535, 0, (u16 )0},
3079 {(u16 )11263, (u16 )0, (u16 )65535, 0, (u16 )0},
3080 {(u16 )0, (u16 )0, (u16 )0, 0, (u16 )0},
3081 {(u16 )33023, (u16 )33023, (u16 )0, 0, (u16 )255}};
3082#line 121 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3083static int wm8400_read(struct wm8400 *wm8400 , u8 reg , int num_regs , u16 *dest )
3084{ int i ;
3085 int ret ;
3086 long tmp___7 ;
3087 size_t __len ;
3088 void *__ret ;
3089 unsigned long __cil_tmp10 ;
3090 unsigned long __cil_tmp11 ;
3091 int __cil_tmp12 ;
3092 int __cil_tmp13 ;
3093 unsigned long __cil_tmp14 ;
3094 int __cil_tmp15 ;
3095 int __cil_tmp16 ;
3096 int __cil_tmp17 ;
3097 long __cil_tmp18 ;
3098 int __cil_tmp19 ;
3099 int __cil_tmp20 ;
3100 unsigned long __cil_tmp21 ;
3101 unsigned long __cil_tmp22 ;
3102 unsigned long __cil_tmp23 ;
3103 unsigned long __cil_tmp24 ;
3104 unsigned long __cil_tmp25 ;
3105 struct regmap *__cil_tmp26 ;
3106 unsigned int __cil_tmp27 ;
3107 void *__cil_tmp28 ;
3108 size_t __cil_tmp29 ;
3109 unsigned long __cil_tmp30 ;
3110 void *__cil_tmp31 ;
3111 unsigned long __cil_tmp32 ;
3112 unsigned long __cil_tmp33 ;
3113 unsigned long __cil_tmp34 ;
3114 unsigned long __cil_tmp35 ;
3115 u16 *__cil_tmp36 ;
3116 void const *__cil_tmp37 ;
3117
3118 {
3119#line 123
3120 ret = 0;
3121 {
3122#line 125
3123 while (1) {
3124 while_continue: ;
3125 {
3126#line 125
3127 __cil_tmp10 = 170UL / 2UL;
3128#line 125
3129 __cil_tmp11 = __cil_tmp10 + 0UL;
3130#line 125
3131 __cil_tmp12 = (int )reg;
3132#line 125
3133 __cil_tmp13 = __cil_tmp12 + num_regs;
3134#line 125
3135 __cil_tmp14 = (unsigned long )__cil_tmp13;
3136#line 125
3137 __cil_tmp15 = __cil_tmp14 > __cil_tmp11;
3138#line 125
3139 __cil_tmp16 = ! __cil_tmp15;
3140#line 125
3141 __cil_tmp17 = ! __cil_tmp16;
3142#line 125
3143 __cil_tmp18 = (long )__cil_tmp17;
3144#line 125
3145 tmp___7 = __builtin_expect(__cil_tmp18, 0L);
3146 }
3147#line 125
3148 if (tmp___7) {
3149 {
3150#line 125
3151 while (1) {
3152 while_continue___0: ;
3153#line 125
3154 __asm__ volatile ("1:\tud2\n"
3155 ".pushsection __bug_table,\"a\"\n"
3156 "2:\t.long 1b - 2b, %c0 - 2b\n"
3157 "\t.word %c1, 0\n"
3158 "\t.org 2b+%c2\n"
3159 ".popsection": : "i" ("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"),
3160 "i" (125), "i" (12UL));
3161 {
3162#line 125
3163 while (1) {
3164 while_continue___1: ;
3165 }
3166 while_break___1: ;
3167 }
3168#line 125
3169 goto while_break___0;
3170 }
3171 while_break___0: ;
3172 }
3173 } else {
3174
3175 }
3176#line 125
3177 goto while_break;
3178 }
3179 while_break: ;
3180 }
3181#line 128
3182 i = (int )reg;
3183 {
3184#line 128
3185 while (1) {
3186 while_continue___2: ;
3187 {
3188#line 128
3189 __cil_tmp19 = (int )reg;
3190#line 128
3191 __cil_tmp20 = __cil_tmp19 + num_regs;
3192#line 128
3193 if (i < __cil_tmp20) {
3194
3195 } else {
3196#line 128
3197 goto while_break___2;
3198 }
3199 }
3200 {
3201#line 129
3202 __cil_tmp21 = i * 16UL;
3203#line 129
3204 __cil_tmp22 = __cil_tmp21 + 4;
3205#line 129
3206 __cil_tmp23 = (unsigned long )(reg_data) + __cil_tmp22;
3207#line 129
3208 if (*((u16 *)__cil_tmp23)) {
3209 {
3210#line 130
3211 __cil_tmp24 = (unsigned long )wm8400;
3212#line 130
3213 __cil_tmp25 = __cil_tmp24 + 80;
3214#line 130
3215 __cil_tmp26 = *((struct regmap **)__cil_tmp25);
3216#line 130
3217 __cil_tmp27 = (unsigned int )reg;
3218#line 130
3219 __cil_tmp28 = (void *)dest;
3220#line 130
3221 __cil_tmp29 = (size_t )num_regs;
3222#line 130
3223 ret = regmap_bulk_read(__cil_tmp26, __cil_tmp27, __cil_tmp28, __cil_tmp29);
3224 }
3225#line 132
3226 return (ret);
3227 } else {
3228
3229 }
3230 }
3231#line 128
3232 i = i + 1;
3233 }
3234 while_break___2: ;
3235 }
3236 {
3237#line 136
3238 __cil_tmp30 = (unsigned long )num_regs;
3239#line 136
3240 __len = __cil_tmp30 * 2UL;
3241#line 136
3242 __cil_tmp31 = (void *)dest;
3243#line 136
3244 __cil_tmp32 = reg * 2UL;
3245#line 136
3246 __cil_tmp33 = 88 + __cil_tmp32;
3247#line 136
3248 __cil_tmp34 = (unsigned long )wm8400;
3249#line 136
3250 __cil_tmp35 = __cil_tmp34 + __cil_tmp33;
3251#line 136
3252 __cil_tmp36 = (u16 *)__cil_tmp35;
3253#line 136
3254 __cil_tmp37 = (void const *)__cil_tmp36;
3255#line 136
3256 __ret = __builtin_memcpy(__cil_tmp31, __cil_tmp37, __len);
3257 }
3258#line 138
3259 return (0);
3260}
3261}
3262#line 141 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3263static int wm8400_write(struct wm8400 *wm8400 , u8 reg , int num_regs , u16 *src )
3264{ int ret ;
3265 int i ;
3266 long tmp___7 ;
3267 long tmp___8 ;
3268 unsigned long __cil_tmp9 ;
3269 unsigned long __cil_tmp10 ;
3270 int __cil_tmp11 ;
3271 int __cil_tmp12 ;
3272 unsigned long __cil_tmp13 ;
3273 int __cil_tmp14 ;
3274 int __cil_tmp15 ;
3275 int __cil_tmp16 ;
3276 long __cil_tmp17 ;
3277 int __cil_tmp18 ;
3278 int __cil_tmp19 ;
3279 unsigned long __cil_tmp20 ;
3280 unsigned long __cil_tmp21 ;
3281 unsigned long __cil_tmp22 ;
3282 u16 __cil_tmp23 ;
3283 int __cil_tmp24 ;
3284 int __cil_tmp25 ;
3285 int __cil_tmp26 ;
3286 long __cil_tmp27 ;
3287 int __cil_tmp28 ;
3288 int __cil_tmp29 ;
3289 unsigned long __cil_tmp30 ;
3290 unsigned long __cil_tmp31 ;
3291 unsigned long __cil_tmp32 ;
3292 unsigned long __cil_tmp33 ;
3293 u16 *__cil_tmp34 ;
3294 unsigned long __cil_tmp35 ;
3295 unsigned long __cil_tmp36 ;
3296 struct regmap *__cil_tmp37 ;
3297 unsigned int __cil_tmp38 ;
3298 u16 *__cil_tmp39 ;
3299 u16 __cil_tmp40 ;
3300 unsigned int __cil_tmp41 ;
3301
3302 {
3303 {
3304#line 146
3305 while (1) {
3306 while_continue: ;
3307 {
3308#line 146
3309 __cil_tmp9 = 170UL / 2UL;
3310#line 146
3311 __cil_tmp10 = __cil_tmp9 + 0UL;
3312#line 146
3313 __cil_tmp11 = (int )reg;
3314#line 146
3315 __cil_tmp12 = __cil_tmp11 + num_regs;
3316#line 146
3317 __cil_tmp13 = (unsigned long )__cil_tmp12;
3318#line 146
3319 __cil_tmp14 = __cil_tmp13 > __cil_tmp10;
3320#line 146
3321 __cil_tmp15 = ! __cil_tmp14;
3322#line 146
3323 __cil_tmp16 = ! __cil_tmp15;
3324#line 146
3325 __cil_tmp17 = (long )__cil_tmp16;
3326#line 146
3327 tmp___7 = __builtin_expect(__cil_tmp17, 0L);
3328 }
3329#line 146
3330 if (tmp___7) {
3331 {
3332#line 146
3333 while (1) {
3334 while_continue___0: ;
3335#line 146
3336 __asm__ volatile ("1:\tud2\n"
3337 ".pushsection __bug_table,\"a\"\n"
3338 "2:\t.long 1b - 2b, %c0 - 2b\n"
3339 "\t.word %c1, 0\n"
3340 "\t.org 2b+%c2\n"
3341 ".popsection": : "i" ("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"),
3342 "i" (146), "i" (12UL));
3343 {
3344#line 146
3345 while (1) {
3346 while_continue___1: ;
3347 }
3348 while_break___1: ;
3349 }
3350#line 146
3351 goto while_break___0;
3352 }
3353 while_break___0: ;
3354 }
3355 } else {
3356
3357 }
3358#line 146
3359 goto while_break;
3360 }
3361 while_break: ;
3362 }
3363#line 148
3364 i = 0;
3365 {
3366#line 148
3367 while (1) {
3368 while_continue___2: ;
3369#line 148
3370 if (i < num_regs) {
3371
3372 } else {
3373#line 148
3374 goto while_break___2;
3375 }
3376 {
3377#line 149
3378 while (1) {
3379 while_continue___3: ;
3380 {
3381#line 149
3382 __cil_tmp18 = (int )reg;
3383#line 149
3384 __cil_tmp19 = __cil_tmp18 + i;
3385#line 149
3386 __cil_tmp20 = __cil_tmp19 * 16UL;
3387#line 149
3388 __cil_tmp21 = __cil_tmp20 + 2;
3389#line 149
3390 __cil_tmp22 = (unsigned long )(reg_data) + __cil_tmp21;
3391#line 149
3392 __cil_tmp23 = *((u16 *)__cil_tmp22);
3393#line 149
3394 __cil_tmp24 = ! __cil_tmp23;
3395#line 149
3396 __cil_tmp25 = ! __cil_tmp24;
3397#line 149
3398 __cil_tmp26 = ! __cil_tmp25;
3399#line 149
3400 __cil_tmp27 = (long )__cil_tmp26;
3401#line 149
3402 tmp___8 = __builtin_expect(__cil_tmp27, 0L);
3403 }
3404#line 149
3405 if (tmp___8) {
3406 {
3407#line 149
3408 while (1) {
3409 while_continue___4: ;
3410#line 149
3411 __asm__ volatile ("1:\tud2\n"
3412 ".pushsection __bug_table,\"a\"\n"
3413 "2:\t.long 1b - 2b, %c0 - 2b\n"
3414 "\t.word %c1, 0\n"
3415 "\t.org 2b+%c2\n"
3416 ".popsection": : "i" ("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"),
3417 "i" (149), "i" (12UL));
3418 {
3419#line 149
3420 while (1) {
3421 while_continue___5: ;
3422 }
3423 while_break___5: ;
3424 }
3425#line 149
3426 goto while_break___4;
3427 }
3428 while_break___4: ;
3429 }
3430 } else {
3431
3432 }
3433#line 149
3434 goto while_break___3;
3435 }
3436 while_break___3: ;
3437 }
3438 {
3439#line 150
3440 __cil_tmp28 = (int )reg;
3441#line 150
3442 __cil_tmp29 = __cil_tmp28 + i;
3443#line 150
3444 __cil_tmp30 = __cil_tmp29 * 2UL;
3445#line 150
3446 __cil_tmp31 = 88 + __cil_tmp30;
3447#line 150
3448 __cil_tmp32 = (unsigned long )wm8400;
3449#line 150
3450 __cil_tmp33 = __cil_tmp32 + __cil_tmp31;
3451#line 150
3452 __cil_tmp34 = src + i;
3453#line 150
3454 *((u16 *)__cil_tmp33) = *__cil_tmp34;
3455#line 151
3456 __cil_tmp35 = (unsigned long )wm8400;
3457#line 151
3458 __cil_tmp36 = __cil_tmp35 + 80;
3459#line 151
3460 __cil_tmp37 = *((struct regmap **)__cil_tmp36);
3461#line 151
3462 __cil_tmp38 = (unsigned int )reg;
3463#line 151
3464 __cil_tmp39 = src + i;
3465#line 151
3466 __cil_tmp40 = *__cil_tmp39;
3467#line 151
3468 __cil_tmp41 = (unsigned int )__cil_tmp40;
3469#line 151
3470 ret = regmap_write(__cil_tmp37, __cil_tmp38, __cil_tmp41);
3471 }
3472#line 152
3473 if (ret != 0) {
3474#line 153
3475 return (ret);
3476 } else {
3477
3478 }
3479#line 148
3480 i = i + 1;
3481 }
3482 while_break___2: ;
3483 }
3484#line 156
3485 return (0);
3486}
3487}
3488#line 167 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3489u16 wm8400_reg_read(struct wm8400 *wm8400 , u8 reg )
3490{ u16 val ;
3491 unsigned long __cil_tmp4 ;
3492 unsigned long __cil_tmp5 ;
3493 struct mutex *__cil_tmp6 ;
3494 unsigned long __cil_tmp7 ;
3495 unsigned long __cil_tmp8 ;
3496 struct mutex *__cil_tmp9 ;
3497 u16 *__cil_tmp10 ;
3498
3499 {
3500 {
3501#line 171
3502 __cil_tmp4 = (unsigned long )wm8400;
3503#line 171
3504 __cil_tmp5 = __cil_tmp4 + 8;
3505#line 171
3506 __cil_tmp6 = (struct mutex *)__cil_tmp5;
3507#line 171
3508 mutex_lock(__cil_tmp6);
3509#line 173
3510 wm8400_read(wm8400, reg, 1, & val);
3511#line 175
3512 __cil_tmp7 = (unsigned long )wm8400;
3513#line 175
3514 __cil_tmp8 = __cil_tmp7 + 8;
3515#line 175
3516 __cil_tmp9 = (struct mutex *)__cil_tmp8;
3517#line 175
3518 mutex_unlock(__cil_tmp9);
3519 }
3520 {
3521#line 177
3522 __cil_tmp10 = & val;
3523#line 177
3524 return (*__cil_tmp10);
3525 }
3526}
3527}
3528#line 179
3529extern void *__crc_wm8400_reg_read __attribute__((__weak__)) ;
3530#line 179 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3531static unsigned long const __kcrctab_wm8400_reg_read __attribute__((__used__, __unused__,
3532__section__("___kcrctab_gpl+wm8400_reg_read"))) = (unsigned long const )((unsigned long )(& __crc_wm8400_reg_read));
3533#line 179 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3534static char const __kstrtab_wm8400_reg_read[16] __attribute__((__section__("__ksymtab_strings"),
3535__aligned__(1))) =
3536#line 179
3537 { (char const )'w', (char const )'m', (char const )'8', (char const )'4',
3538 (char const )'0', (char const )'0', (char const )'_', (char const )'r',
3539 (char const )'e', (char const )'g', (char const )'_', (char const )'r',
3540 (char const )'e', (char const )'a', (char const )'d', (char const )'\000'};
3541#line 179 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3542static struct kernel_symbol const __ksymtab_wm8400_reg_read __attribute__((__used__,
3543__unused__, __section__("___ksymtab_gpl+wm8400_reg_read"))) = {(unsigned long )(& wm8400_reg_read), __kstrtab_wm8400_reg_read};
3544#line 181 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3545int wm8400_block_read(struct wm8400 *wm8400 , u8 reg , int count , u16 *data )
3546{ int ret ;
3547 unsigned long __cil_tmp6 ;
3548 unsigned long __cil_tmp7 ;
3549 struct mutex *__cil_tmp8 ;
3550 unsigned long __cil_tmp9 ;
3551 unsigned long __cil_tmp10 ;
3552 struct mutex *__cil_tmp11 ;
3553
3554 {
3555 {
3556#line 185
3557 __cil_tmp6 = (unsigned long )wm8400;
3558#line 185
3559 __cil_tmp7 = __cil_tmp6 + 8;
3560#line 185
3561 __cil_tmp8 = (struct mutex *)__cil_tmp7;
3562#line 185
3563 mutex_lock(__cil_tmp8);
3564#line 187
3565 ret = wm8400_read(wm8400, reg, count, data);
3566#line 189
3567 __cil_tmp9 = (unsigned long )wm8400;
3568#line 189
3569 __cil_tmp10 = __cil_tmp9 + 8;
3570#line 189
3571 __cil_tmp11 = (struct mutex *)__cil_tmp10;
3572#line 189
3573 mutex_unlock(__cil_tmp11);
3574 }
3575#line 191
3576 return (ret);
3577}
3578}
3579#line 193
3580extern void *__crc_wm8400_block_read __attribute__((__weak__)) ;
3581#line 193 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3582static unsigned long const __kcrctab_wm8400_block_read __attribute__((__used__,
3583__unused__, __section__("___kcrctab_gpl+wm8400_block_read"))) = (unsigned long const )((unsigned long )(& __crc_wm8400_block_read));
3584#line 193 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3585static char const __kstrtab_wm8400_block_read[18] __attribute__((__section__("__ksymtab_strings"),
3586__aligned__(1))) =
3587#line 193
3588 { (char const )'w', (char const )'m', (char const )'8', (char const )'4',
3589 (char const )'0', (char const )'0', (char const )'_', (char const )'b',
3590 (char const )'l', (char const )'o', (char const )'c', (char const )'k',
3591 (char const )'_', (char const )'r', (char const )'e', (char const )'a',
3592 (char const )'d', (char const )'\000'};
3593#line 193 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3594static struct kernel_symbol const __ksymtab_wm8400_block_read __attribute__((__used__,
3595__unused__, __section__("___ksymtab_gpl+wm8400_block_read"))) = {(unsigned long )(& wm8400_block_read), __kstrtab_wm8400_block_read};
3596#line 203 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3597int wm8400_set_bits(struct wm8400 *wm8400 , u8 reg , u16 mask , u16 val )
3598{ u16 tmp___7 ;
3599 int ret ;
3600 unsigned long __cil_tmp7 ;
3601 unsigned long __cil_tmp8 ;
3602 struct mutex *__cil_tmp9 ;
3603 u16 *__cil_tmp10 ;
3604 int __cil_tmp11 ;
3605 int __cil_tmp12 ;
3606 int __cil_tmp13 ;
3607 u16 *__cil_tmp14 ;
3608 u16 __cil_tmp15 ;
3609 int __cil_tmp16 ;
3610 int __cil_tmp17 ;
3611 int __cil_tmp18 ;
3612 unsigned long __cil_tmp19 ;
3613 unsigned long __cil_tmp20 ;
3614 struct mutex *__cil_tmp21 ;
3615
3616 {
3617 {
3618#line 208
3619 __cil_tmp7 = (unsigned long )wm8400;
3620#line 208
3621 __cil_tmp8 = __cil_tmp7 + 8;
3622#line 208
3623 __cil_tmp9 = (struct mutex *)__cil_tmp8;
3624#line 208
3625 mutex_lock(__cil_tmp9);
3626#line 210
3627 ret = wm8400_read(wm8400, reg, 1, & tmp___7);
3628#line 211
3629 __cil_tmp10 = & tmp___7;
3630#line 211
3631 __cil_tmp11 = (int )val;
3632#line 211
3633 __cil_tmp12 = (int )mask;
3634#line 211
3635 __cil_tmp13 = ~ __cil_tmp12;
3636#line 211
3637 __cil_tmp14 = & tmp___7;
3638#line 211
3639 __cil_tmp15 = *__cil_tmp14;
3640#line 211
3641 __cil_tmp16 = (int )__cil_tmp15;
3642#line 211
3643 __cil_tmp17 = __cil_tmp16 & __cil_tmp13;
3644#line 211
3645 __cil_tmp18 = __cil_tmp17 | __cil_tmp11;
3646#line 211
3647 *__cil_tmp10 = (u16 )__cil_tmp18;
3648 }
3649#line 212
3650 if (ret == 0) {
3651 {
3652#line 213
3653 ret = wm8400_write(wm8400, reg, 1, & tmp___7);
3654 }
3655 } else {
3656
3657 }
3658 {
3659#line 215
3660 __cil_tmp19 = (unsigned long )wm8400;
3661#line 215
3662 __cil_tmp20 = __cil_tmp19 + 8;
3663#line 215
3664 __cil_tmp21 = (struct mutex *)__cil_tmp20;
3665#line 215
3666 mutex_unlock(__cil_tmp21);
3667 }
3668#line 217
3669 return (ret);
3670}
3671}
3672#line 219
3673extern void *__crc_wm8400_set_bits __attribute__((__weak__)) ;
3674#line 219 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3675static unsigned long const __kcrctab_wm8400_set_bits __attribute__((__used__, __unused__,
3676__section__("___kcrctab_gpl+wm8400_set_bits"))) = (unsigned long const )((unsigned long )(& __crc_wm8400_set_bits));
3677#line 219 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3678static char const __kstrtab_wm8400_set_bits[16] __attribute__((__section__("__ksymtab_strings"),
3679__aligned__(1))) =
3680#line 219
3681 { (char const )'w', (char const )'m', (char const )'8', (char const )'4',
3682 (char const )'0', (char const )'0', (char const )'_', (char const )'s',
3683 (char const )'e', (char const )'t', (char const )'_', (char const )'b',
3684 (char const )'i', (char const )'t', (char const )'s', (char const )'\000'};
3685#line 219 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3686static struct kernel_symbol const __ksymtab_wm8400_set_bits __attribute__((__used__,
3687__unused__, __section__("___ksymtab_gpl+wm8400_set_bits"))) = {(unsigned long )(& wm8400_set_bits), __kstrtab_wm8400_set_bits};
3688#line 225 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3689void wm8400_reset_codec_reg_cache(struct wm8400 *wm8400 )
3690{ int i ;
3691 unsigned long __cil_tmp3 ;
3692 unsigned long __cil_tmp4 ;
3693 struct mutex *__cil_tmp5 ;
3694 unsigned long __cil_tmp6 ;
3695 unsigned long __cil_tmp7 ;
3696 unsigned long __cil_tmp8 ;
3697 unsigned long __cil_tmp9 ;
3698 unsigned long __cil_tmp10 ;
3699 unsigned long __cil_tmp11 ;
3700 unsigned long __cil_tmp12 ;
3701 unsigned long __cil_tmp13 ;
3702 unsigned long __cil_tmp14 ;
3703 unsigned long __cil_tmp15 ;
3704 unsigned long __cil_tmp16 ;
3705 unsigned long __cil_tmp17 ;
3706 unsigned long __cil_tmp18 ;
3707 unsigned long __cil_tmp19 ;
3708 unsigned long __cil_tmp20 ;
3709 struct mutex *__cil_tmp21 ;
3710
3711 {
3712 {
3713#line 229
3714 __cil_tmp3 = (unsigned long )wm8400;
3715#line 229
3716 __cil_tmp4 = __cil_tmp3 + 8;
3717#line 229
3718 __cil_tmp5 = (struct mutex *)__cil_tmp4;
3719#line 229
3720 mutex_lock(__cil_tmp5);
3721#line 232
3722 i = 0;
3723 }
3724 {
3725#line 232
3726 while (1) {
3727 while_continue: ;
3728 {
3729#line 232
3730 __cil_tmp6 = 170UL / 2UL;
3731#line 232
3732 __cil_tmp7 = __cil_tmp6 + 0UL;
3733#line 232
3734 __cil_tmp8 = (unsigned long )i;
3735#line 232
3736 if (__cil_tmp8 < __cil_tmp7) {
3737
3738 } else {
3739#line 232
3740 goto while_break;
3741 }
3742 }
3743 {
3744#line 233
3745 __cil_tmp9 = i * 16UL;
3746#line 233
3747 __cil_tmp10 = __cil_tmp9 + 8;
3748#line 233
3749 __cil_tmp11 = (unsigned long )(reg_data) + __cil_tmp10;
3750#line 233
3751 if (*((int *)__cil_tmp11)) {
3752#line 234
3753 __cil_tmp12 = i * 2UL;
3754#line 234
3755 __cil_tmp13 = 88 + __cil_tmp12;
3756#line 234
3757 __cil_tmp14 = (unsigned long )wm8400;
3758#line 234
3759 __cil_tmp15 = __cil_tmp14 + __cil_tmp13;
3760#line 234
3761 __cil_tmp16 = i * 16UL;
3762#line 234
3763 __cil_tmp17 = __cil_tmp16 + 12;
3764#line 234
3765 __cil_tmp18 = (unsigned long )(reg_data) + __cil_tmp17;
3766#line 234
3767 *((u16 *)__cil_tmp15) = *((u16 *)__cil_tmp18);
3768 } else {
3769
3770 }
3771 }
3772#line 232
3773 i = i + 1;
3774 }
3775 while_break: ;
3776 }
3777 {
3778#line 236
3779 __cil_tmp19 = (unsigned long )wm8400;
3780#line 236
3781 __cil_tmp20 = __cil_tmp19 + 8;
3782#line 236
3783 __cil_tmp21 = (struct mutex *)__cil_tmp20;
3784#line 236
3785 mutex_unlock(__cil_tmp21);
3786 }
3787#line 237
3788 return;
3789}
3790}
3791#line 238
3792extern void *__crc_wm8400_reset_codec_reg_cache __attribute__((__weak__)) ;
3793#line 238 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3794static unsigned long const __kcrctab_wm8400_reset_codec_reg_cache __attribute__((__used__,
3795__unused__, __section__("___kcrctab_gpl+wm8400_reset_codec_reg_cache"))) = (unsigned long const )((unsigned long )(& __crc_wm8400_reset_codec_reg_cache));
3796#line 238 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3797static char const __kstrtab_wm8400_reset_codec_reg_cache[29] __attribute__((__section__("__ksymtab_strings"),
3798__aligned__(1))) =
3799#line 238
3800 { (char const )'w', (char const )'m', (char const )'8', (char const )'4',
3801 (char const )'0', (char const )'0', (char const )'_', (char const )'r',
3802 (char const )'e', (char const )'s', (char const )'e', (char const )'t',
3803 (char const )'_', (char const )'c', (char const )'o', (char const )'d',
3804 (char const )'e', (char const )'c', (char const )'_', (char const )'r',
3805 (char const )'e', (char const )'g', (char const )'_', (char const )'c',
3806 (char const )'a', (char const )'c', (char const )'h', (char const )'e',
3807 (char const )'\000'};
3808#line 238 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3809static struct kernel_symbol const __ksymtab_wm8400_reset_codec_reg_cache __attribute__((__used__,
3810__unused__, __section__("___ksymtab_gpl+wm8400_reset_codec_reg_cache"))) = {(unsigned long )(& wm8400_reset_codec_reg_cache), __kstrtab_wm8400_reset_codec_reg_cache};
3811#line 240 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3812static int wm8400_register_codec(struct wm8400 *wm8400 )
3813{ struct mfd_cell cell ;
3814 int tmp___7 ;
3815 struct mfd_cell *__cil_tmp4 ;
3816 unsigned long __cil_tmp5 ;
3817 unsigned long __cil_tmp6 ;
3818 unsigned long __cil_tmp7 ;
3819 unsigned long __cil_tmp8 ;
3820 unsigned long __cil_tmp9 ;
3821 unsigned long __cil_tmp10 ;
3822 unsigned long __cil_tmp11 ;
3823 unsigned long __cil_tmp12 ;
3824 unsigned long __cil_tmp13 ;
3825 unsigned long __cil_tmp14 ;
3826 unsigned long __cil_tmp15 ;
3827 unsigned long __cil_tmp16 ;
3828 struct device *__cil_tmp17 ;
3829 void *__cil_tmp18 ;
3830 struct resource *__cil_tmp19 ;
3831
3832 {
3833 {
3834#line 242
3835 __cil_tmp4 = & cell;
3836#line 242
3837 *((char const **)__cil_tmp4) = "wm8400-codec";
3838#line 242
3839 __cil_tmp5 = (unsigned long )(& cell) + 8;
3840#line 242
3841 *((int *)__cil_tmp5) = 0;
3842#line 242
3843 __cil_tmp6 = (unsigned long )(& cell) + 16;
3844#line 242
3845 *((atomic_t **)__cil_tmp6) = (atomic_t *)0;
3846#line 242
3847 __cil_tmp7 = (unsigned long )(& cell) + 24;
3848#line 242
3849 *((int (**)(struct platform_device *dev ))__cil_tmp7) = (int (*)(struct platform_device *dev ))0;
3850#line 242
3851 __cil_tmp8 = (unsigned long )(& cell) + 32;
3852#line 242
3853 *((int (**)(struct platform_device *dev ))__cil_tmp8) = (int (*)(struct platform_device *dev ))0;
3854#line 242
3855 __cil_tmp9 = (unsigned long )(& cell) + 40;
3856#line 242
3857 *((int (**)(struct platform_device *dev ))__cil_tmp9) = (int (*)(struct platform_device *dev ))0;
3858#line 242
3859 __cil_tmp10 = (unsigned long )(& cell) + 48;
3860#line 242
3861 *((int (**)(struct platform_device *dev ))__cil_tmp10) = (int (*)(struct platform_device *dev ))0;
3862#line 242
3863 __cil_tmp11 = (unsigned long )(& cell) + 56;
3864#line 242
3865 *((void **)__cil_tmp11) = (void *)wm8400;
3866#line 242
3867 __cil_tmp12 = (unsigned long )(& cell) + 64;
3868#line 242
3869 *((size_t *)__cil_tmp12) = 5160UL;
3870#line 242
3871 __cil_tmp13 = (unsigned long )(& cell) + 72;
3872#line 242
3873 *((int *)__cil_tmp13) = 0;
3874#line 242
3875 __cil_tmp14 = (unsigned long )(& cell) + 80;
3876#line 242
3877 *((struct resource const **)__cil_tmp14) = (struct resource const *)0;
3878#line 242
3879 __cil_tmp15 = (unsigned long )(& cell) + 88;
3880#line 242
3881 *((bool *)__cil_tmp15) = (_Bool)0;
3882#line 242
3883 __cil_tmp16 = (unsigned long )(& cell) + 89;
3884#line 242
3885 *((bool *)__cil_tmp16) = (_Bool)0;
3886#line 248
3887 __cil_tmp17 = *((struct device **)wm8400);
3888#line 248
3889 __cil_tmp18 = (void *)0;
3890#line 248
3891 __cil_tmp19 = (struct resource *)__cil_tmp18;
3892#line 248
3893 tmp___7 = mfd_add_devices(__cil_tmp17, -1, & cell, 1, __cil_tmp19, 0);
3894 }
3895#line 248
3896 return (tmp___7);
3897}
3898}
3899#line 264 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3900static struct lock_class_key __key___3 ;
3901#line 258 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
3902static int wm8400_init(struct wm8400 *wm8400 , struct wm8400_platform_data *pdata )
3903{ u16 reg ;
3904 int ret ;
3905 int i ;
3906 __u16 tmp___7 ;
3907 unsigned long __cil_tmp7 ;
3908 unsigned long __cil_tmp8 ;
3909 struct mutex *__cil_tmp9 ;
3910 struct device *__cil_tmp10 ;
3911 void *__cil_tmp11 ;
3912 unsigned long __cil_tmp12 ;
3913 unsigned long __cil_tmp13 ;
3914 struct regmap *__cil_tmp14 ;
3915 unsigned int *__cil_tmp15 ;
3916 struct device *__cil_tmp16 ;
3917 struct device const *__cil_tmp17 ;
3918 unsigned long __cil_tmp18 ;
3919 unsigned long __cil_tmp19 ;
3920 unsigned long __cil_tmp20 ;
3921 u16 __cil_tmp21 ;
3922 int __cil_tmp22 ;
3923 int *__cil_tmp23 ;
3924 int __cil_tmp24 ;
3925 struct device *__cil_tmp25 ;
3926 struct device const *__cil_tmp26 ;
3927 int *__cil_tmp27 ;
3928 int __cil_tmp28 ;
3929 unsigned long __cil_tmp29 ;
3930 unsigned long __cil_tmp30 ;
3931 struct regmap *__cil_tmp31 ;
3932 unsigned long __cil_tmp32 ;
3933 unsigned long __cil_tmp33 ;
3934 unsigned long __cil_tmp34 ;
3935 unsigned long __cil_tmp35 ;
3936 u16 *__cil_tmp36 ;
3937 void *__cil_tmp37 ;
3938 unsigned long __cil_tmp38 ;
3939 unsigned long __cil_tmp39 ;
3940 struct device *__cil_tmp40 ;
3941 struct device const *__cil_tmp41 ;
3942 int *__cil_tmp42 ;
3943 unsigned long __cil_tmp43 ;
3944 unsigned long __cil_tmp44 ;
3945 int *__cil_tmp45 ;
3946 int __cil_tmp46 ;
3947 unsigned long __cil_tmp47 ;
3948 int *__cil_tmp48 ;
3949 int __cil_tmp49 ;
3950 unsigned long __cil_tmp50 ;
3951 unsigned long __cil_tmp51 ;
3952 unsigned long __cil_tmp52 ;
3953 unsigned long __cil_tmp53 ;
3954 u16 __cil_tmp54 ;
3955 int *__cil_tmp55 ;
3956 int __cil_tmp56 ;
3957 unsigned long __cil_tmp57 ;
3958 unsigned long __cil_tmp58 ;
3959 unsigned long __cil_tmp59 ;
3960 unsigned long __cil_tmp60 ;
3961 int __cil_tmp61 ;
3962 int *__cil_tmp62 ;
3963 int *__cil_tmp63 ;
3964 int __cil_tmp64 ;
3965 unsigned long __cil_tmp65 ;
3966 unsigned long __cil_tmp66 ;
3967 unsigned long __cil_tmp67 ;
3968 unsigned long __cil_tmp68 ;
3969 u16 __cil_tmp69 ;
3970 int __cil_tmp70 ;
3971 int __cil_tmp71 ;
3972 int *__cil_tmp72 ;
3973 unsigned long __cil_tmp73 ;
3974 unsigned long __cil_tmp74 ;
3975 int *__cil_tmp75 ;
3976 int __cil_tmp76 ;
3977 unsigned long __cil_tmp77 ;
3978 int *__cil_tmp78 ;
3979 int __cil_tmp79 ;
3980 unsigned long __cil_tmp80 ;
3981 unsigned long __cil_tmp81 ;
3982 unsigned long __cil_tmp82 ;
3983 int *__cil_tmp83 ;
3984 int __cil_tmp84 ;
3985 unsigned long __cil_tmp85 ;
3986 unsigned long __cil_tmp86 ;
3987 unsigned long __cil_tmp87 ;
3988 unsigned long __cil_tmp88 ;
3989 int *__cil_tmp89 ;
3990 int __cil_tmp90 ;
3991 unsigned long __cil_tmp91 ;
3992 unsigned long __cil_tmp92 ;
3993 unsigned long __cil_tmp93 ;
3994 int *__cil_tmp94 ;
3995 int *__cil_tmp95 ;
3996 int __cil_tmp96 ;
3997 u8 __cil_tmp97 ;
3998 struct device *__cil_tmp98 ;
3999 struct device const *__cil_tmp99 ;
4000 u16 *__cil_tmp100 ;
4001 u16 *__cil_tmp101 ;
4002 u16 __cil_tmp102 ;
4003 int __cil_tmp103 ;
4004 int __cil_tmp104 ;
4005 int __cil_tmp105 ;
4006 struct device *__cil_tmp106 ;
4007 struct device const *__cil_tmp107 ;
4008 u16 *__cil_tmp108 ;
4009 u16 __cil_tmp109 ;
4010 int __cil_tmp110 ;
4011 struct device *__cil_tmp111 ;
4012 struct device const *__cil_tmp112 ;
4013 int (*__cil_tmp113)(struct device *dev ) ;
4014 struct device *__cil_tmp114 ;
4015 struct device *__cil_tmp115 ;
4016 struct device const *__cil_tmp116 ;
4017 struct device *__cil_tmp117 ;
4018 struct device const *__cil_tmp118 ;
4019 struct device *__cil_tmp119 ;
4020 struct device const *__cil_tmp120 ;
4021 struct device *__cil_tmp121 ;
4022
4023 {
4024 {
4025#line 264
4026 while (1) {
4027 while_continue: ;
4028 {
4029#line 264
4030 __cil_tmp7 = (unsigned long )wm8400;
4031#line 264
4032 __cil_tmp8 = __cil_tmp7 + 8;
4033#line 264
4034 __cil_tmp9 = (struct mutex *)__cil_tmp8;
4035#line 264
4036 __mutex_init(__cil_tmp9, "&wm8400->io_lock", & __key___3);
4037 }
4038#line 264
4039 goto while_break;
4040 }
4041 while_break: ;
4042 }
4043 {
4044#line 266
4045 __cil_tmp10 = *((struct device **)wm8400);
4046#line 266
4047 __cil_tmp11 = (void *)wm8400;
4048#line 266
4049 dev_set_drvdata(__cil_tmp10, __cil_tmp11);
4050#line 269
4051 __cil_tmp12 = (unsigned long )wm8400;
4052#line 269
4053 __cil_tmp13 = __cil_tmp12 + 80;
4054#line 269
4055 __cil_tmp14 = *((struct regmap **)__cil_tmp13);
4056#line 269
4057 __cil_tmp15 = (unsigned int *)(& i);
4058#line 269
4059 ret = regmap_read(__cil_tmp14, 0U, __cil_tmp15);
4060 }
4061#line 270
4062 if (ret != 0) {
4063 {
4064#line 271
4065 __cil_tmp16 = *((struct device **)wm8400);
4066#line 271
4067 __cil_tmp17 = (struct device const *)__cil_tmp16;
4068#line 271
4069 dev_err(__cil_tmp17, "Chip ID register read failed\n");
4070 }
4071#line 272
4072 return (-5);
4073 } else {
4074
4075 }
4076 {
4077#line 274
4078 __cil_tmp18 = 0 * 16UL;
4079#line 274
4080 __cil_tmp19 = __cil_tmp18 + 12;
4081#line 274
4082 __cil_tmp20 = (unsigned long )(reg_data) + __cil_tmp19;
4083#line 274
4084 __cil_tmp21 = *((u16 *)__cil_tmp20);
4085#line 274
4086 __cil_tmp22 = (int )__cil_tmp21;
4087#line 274
4088 __cil_tmp23 = & i;
4089#line 274
4090 __cil_tmp24 = *__cil_tmp23;
4091#line 274
4092 if (__cil_tmp24 != __cil_tmp22) {
4093 {
4094#line 275
4095 __cil_tmp25 = *((struct device **)wm8400);
4096#line 275
4097 __cil_tmp26 = (struct device const *)__cil_tmp25;
4098#line 275
4099 __cil_tmp27 = & i;
4100#line 275
4101 __cil_tmp28 = *__cil_tmp27;
4102#line 275
4103 dev_err(__cil_tmp26, "Device is not a WM8400, ID is %x\n", __cil_tmp28);
4104 }
4105#line 276
4106 return (-19);
4107 } else {
4108
4109 }
4110 }
4111 {
4112#line 283
4113 __cil_tmp29 = (unsigned long )wm8400;
4114#line 283
4115 __cil_tmp30 = __cil_tmp29 + 80;
4116#line 283
4117 __cil_tmp31 = *((struct regmap **)__cil_tmp30);
4118#line 283
4119 __cil_tmp32 = 0 * 2UL;
4120#line 283
4121 __cil_tmp33 = 88 + __cil_tmp32;
4122#line 283
4123 __cil_tmp34 = (unsigned long )wm8400;
4124#line 283
4125 __cil_tmp35 = __cil_tmp34 + __cil_tmp33;
4126#line 283
4127 __cil_tmp36 = (u16 *)__cil_tmp35;
4128#line 283
4129 __cil_tmp37 = (void *)__cil_tmp36;
4130#line 283
4131 __cil_tmp38 = 170UL / 2UL;
4132#line 283
4133 __cil_tmp39 = __cil_tmp38 + 0UL;
4134#line 283
4135 ret = regmap_raw_read(__cil_tmp31, 0U, __cil_tmp37, __cil_tmp39);
4136 }
4137#line 285
4138 if (ret != 0) {
4139 {
4140#line 286
4141 __cil_tmp40 = *((struct device **)wm8400);
4142#line 286
4143 __cil_tmp41 = (struct device const *)__cil_tmp40;
4144#line 286
4145 dev_err(__cil_tmp41, "Register cache read failed\n");
4146 }
4147#line 287
4148 return (-5);
4149 } else {
4150
4151 }
4152#line 289
4153 __cil_tmp42 = & i;
4154#line 289
4155 *__cil_tmp42 = 0;
4156 {
4157#line 289
4158 while (1) {
4159 while_continue___0: ;
4160 {
4161#line 289
4162 __cil_tmp43 = 170UL / 2UL;
4163#line 289
4164 __cil_tmp44 = __cil_tmp43 + 0UL;
4165#line 289
4166 __cil_tmp45 = & i;
4167#line 289
4168 __cil_tmp46 = *__cil_tmp45;
4169#line 289
4170 __cil_tmp47 = (unsigned long )__cil_tmp46;
4171#line 289
4172 if (__cil_tmp47 < __cil_tmp44) {
4173
4174 } else {
4175#line 289
4176 goto while_break___0;
4177 }
4178 }
4179 {
4180#line 290
4181 __cil_tmp48 = & i;
4182#line 290
4183 __cil_tmp49 = *__cil_tmp48;
4184#line 290
4185 __cil_tmp50 = __cil_tmp49 * 2UL;
4186#line 290
4187 __cil_tmp51 = 88 + __cil_tmp50;
4188#line 290
4189 __cil_tmp52 = (unsigned long )wm8400;
4190#line 290
4191 __cil_tmp53 = __cil_tmp52 + __cil_tmp51;
4192#line 290
4193 __cil_tmp54 = *((u16 *)__cil_tmp53);
4194#line 290
4195 tmp___7 = __fswab16(__cil_tmp54);
4196#line 290
4197 __cil_tmp55 = & i;
4198#line 290
4199 __cil_tmp56 = *__cil_tmp55;
4200#line 290
4201 __cil_tmp57 = __cil_tmp56 * 2UL;
4202#line 290
4203 __cil_tmp58 = 88 + __cil_tmp57;
4204#line 290
4205 __cil_tmp59 = (unsigned long )wm8400;
4206#line 290
4207 __cil_tmp60 = __cil_tmp59 + __cil_tmp58;
4208#line 290
4209 __cil_tmp61 = (int )tmp___7;
4210#line 290
4211 *((u16 *)__cil_tmp60) = (u16 )__cil_tmp61;
4212#line 289
4213 __cil_tmp62 = & i;
4214#line 289
4215 __cil_tmp63 = & i;
4216#line 289
4217 __cil_tmp64 = *__cil_tmp63;
4218#line 289
4219 *__cil_tmp62 = __cil_tmp64 + 1;
4220 }
4221 }
4222 while_break___0: ;
4223 }
4224 {
4225#line 293
4226 __cil_tmp65 = 2 * 2UL;
4227#line 293
4228 __cil_tmp66 = 88 + __cil_tmp65;
4229#line 293
4230 __cil_tmp67 = (unsigned long )wm8400;
4231#line 293
4232 __cil_tmp68 = __cil_tmp67 + __cil_tmp66;
4233#line 293
4234 __cil_tmp69 = *((u16 *)__cil_tmp68);
4235#line 293
4236 __cil_tmp70 = (int )__cil_tmp69;
4237#line 293
4238 __cil_tmp71 = __cil_tmp70 & 32768;
4239#line 293
4240 if (! __cil_tmp71) {
4241#line 294
4242 __cil_tmp72 = & i;
4243#line 294
4244 *__cil_tmp72 = 0;
4245 {
4246#line 294
4247 while (1) {
4248 while_continue___1: ;
4249 {
4250#line 294
4251 __cil_tmp73 = 170UL / 2UL;
4252#line 294
4253 __cil_tmp74 = __cil_tmp73 + 0UL;
4254#line 294
4255 __cil_tmp75 = & i;
4256#line 294
4257 __cil_tmp76 = *__cil_tmp75;
4258#line 294
4259 __cil_tmp77 = (unsigned long )__cil_tmp76;
4260#line 294
4261 if (__cil_tmp77 < __cil_tmp74) {
4262
4263 } else {
4264#line 294
4265 goto while_break___1;
4266 }
4267 }
4268 {
4269#line 295
4270 __cil_tmp78 = & i;
4271#line 295
4272 __cil_tmp79 = *__cil_tmp78;
4273#line 295
4274 __cil_tmp80 = __cil_tmp79 * 16UL;
4275#line 295
4276 __cil_tmp81 = __cil_tmp80 + 8;
4277#line 295
4278 __cil_tmp82 = (unsigned long )(reg_data) + __cil_tmp81;
4279#line 295
4280 if (*((int *)__cil_tmp82)) {
4281#line 296
4282 __cil_tmp83 = & i;
4283#line 296
4284 __cil_tmp84 = *__cil_tmp83;
4285#line 296
4286 __cil_tmp85 = __cil_tmp84 * 2UL;
4287#line 296
4288 __cil_tmp86 = 88 + __cil_tmp85;
4289#line 296
4290 __cil_tmp87 = (unsigned long )wm8400;
4291#line 296
4292 __cil_tmp88 = __cil_tmp87 + __cil_tmp86;
4293#line 296
4294 __cil_tmp89 = & i;
4295#line 296
4296 __cil_tmp90 = *__cil_tmp89;
4297#line 296
4298 __cil_tmp91 = __cil_tmp90 * 16UL;
4299#line 296
4300 __cil_tmp92 = __cil_tmp91 + 12;
4301#line 296
4302 __cil_tmp93 = (unsigned long )(reg_data) + __cil_tmp92;
4303#line 296
4304 *((u16 *)__cil_tmp88) = *((u16 *)__cil_tmp93);
4305 } else {
4306
4307 }
4308 }
4309#line 294
4310 __cil_tmp94 = & i;
4311#line 294
4312 __cil_tmp95 = & i;
4313#line 294
4314 __cil_tmp96 = *__cil_tmp95;
4315#line 294
4316 *__cil_tmp94 = __cil_tmp96 + 1;
4317 }
4318 while_break___1: ;
4319 }
4320 } else {
4321
4322 }
4323 }
4324 {
4325#line 298
4326 __cil_tmp97 = (u8 )1;
4327#line 298
4328 ret = wm8400_read(wm8400, __cil_tmp97, 1, & reg);
4329 }
4330#line 299
4331 if (ret != 0) {
4332 {
4333#line 300
4334 __cil_tmp98 = *((struct device **)wm8400);
4335#line 300
4336 __cil_tmp99 = (struct device const *)__cil_tmp98;
4337#line 300
4338 dev_err(__cil_tmp99, "ID register read failed: %d\n", ret);
4339 }
4340#line 301
4341 return (ret);
4342 } else {
4343
4344 }
4345 {
4346#line 303
4347 __cil_tmp100 = & reg;
4348#line 303
4349 __cil_tmp101 = & reg;
4350#line 303
4351 __cil_tmp102 = *__cil_tmp101;
4352#line 303
4353 __cil_tmp103 = (int )__cil_tmp102;
4354#line 303
4355 __cil_tmp104 = __cil_tmp103 & 28672;
4356#line 303
4357 __cil_tmp105 = __cil_tmp104 >> 12;
4358#line 303
4359 *__cil_tmp100 = (u16 )__cil_tmp105;
4360#line 304
4361 __cil_tmp106 = *((struct device **)wm8400);
4362#line 304
4363 __cil_tmp107 = (struct device const *)__cil_tmp106;
4364#line 304
4365 __cil_tmp108 = & reg;
4366#line 304
4367 __cil_tmp109 = *__cil_tmp108;
4368#line 304
4369 __cil_tmp110 = (int )__cil_tmp109;
4370#line 304
4371 _dev_info(__cil_tmp107, "WM8400 revision %x\n", __cil_tmp110);
4372#line 306
4373 ret = wm8400_register_codec(wm8400);
4374 }
4375#line 307
4376 if (ret != 0) {
4377 {
4378#line 308
4379 __cil_tmp111 = *((struct device **)wm8400);
4380#line 308
4381 __cil_tmp112 = (struct device const *)__cil_tmp111;
4382#line 308
4383 dev_err(__cil_tmp112, "Failed to register codec\n");
4384 }
4385#line 309
4386 goto err_children;
4387 } else {
4388
4389 }
4390#line 312
4391 if (pdata) {
4392#line 312
4393 if (*((int (**)(struct device *dev ))pdata)) {
4394 {
4395#line 313
4396 __cil_tmp113 = *((int (**)(struct device *dev ))pdata);
4397#line 313
4398 __cil_tmp114 = *((struct device **)wm8400);
4399#line 313
4400 ret = (*__cil_tmp113)(__cil_tmp114);
4401 }
4402#line 314
4403 if (ret != 0) {
4404 {
4405#line 315
4406 __cil_tmp115 = *((struct device **)wm8400);
4407#line 315
4408 __cil_tmp116 = (struct device const *)__cil_tmp115;
4409#line 315
4410 dev_err(__cil_tmp116, "Platform init failed: %d\n", ret);
4411 }
4412#line 317
4413 goto err_children;
4414 } else {
4415
4416 }
4417 } else {
4418 {
4419#line 320
4420 __cil_tmp117 = *((struct device **)wm8400);
4421#line 320
4422 __cil_tmp118 = (struct device const *)__cil_tmp117;
4423#line 320
4424 dev_warn(__cil_tmp118, "No platform initialisation supplied\n");
4425 }
4426 }
4427 } else {
4428 {
4429#line 320
4430 __cil_tmp119 = *((struct device **)wm8400);
4431#line 320
4432 __cil_tmp120 = (struct device const *)__cil_tmp119;
4433#line 320
4434 dev_warn(__cil_tmp120, "No platform initialisation supplied\n");
4435 }
4436 }
4437#line 322
4438 return (0);
4439 err_children:
4440 {
4441#line 325
4442 __cil_tmp121 = *((struct device **)wm8400);
4443#line 325
4444 mfd_remove_devices(__cil_tmp121);
4445 }
4446#line 326
4447 return (ret);
4448}
4449}
4450#line 329 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
4451static void wm8400_release(struct wm8400 *wm8400 )
4452{ struct device *__cil_tmp2 ;
4453
4454 {
4455 {
4456#line 331
4457 __cil_tmp2 = *((struct device **)wm8400);
4458#line 331
4459 mfd_remove_devices(__cil_tmp2);
4460 }
4461#line 332
4462 return;
4463}
4464}
4465#line 334 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
4466static struct regmap_config const wm8400_regmap_config =
4467#line 334
4468 {8, 0, 16, (bool (*)(struct device *dev , unsigned int reg ))0, (bool (*)(struct device *dev ,
4469 unsigned int reg ))0,
4470 (bool (*)(struct device *dev , unsigned int reg ))0, (bool (*)(struct device *dev ,
4471 unsigned int reg ))0,
4472 84U, (struct reg_default const *)0, 0U, 0, (void const *)0, 0U, (unsigned char)0,
4473 (unsigned char)0};
4474#line 341 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
4475static int wm8400_i2c_probe(struct i2c_client *i2c , struct i2c_device_id const *id )
4476{ struct wm8400 *wm8400 ;
4477 int ret ;
4478 void *tmp___7 ;
4479 long tmp___8 ;
4480 long tmp___9 ;
4481 unsigned long __cil_tmp8 ;
4482 unsigned long __cil_tmp9 ;
4483 struct device *__cil_tmp10 ;
4484 void *__cil_tmp11 ;
4485 unsigned long __cil_tmp12 ;
4486 unsigned long __cil_tmp13 ;
4487 unsigned long __cil_tmp14 ;
4488 unsigned long __cil_tmp15 ;
4489 unsigned long __cil_tmp16 ;
4490 unsigned long __cil_tmp17 ;
4491 struct regmap *__cil_tmp18 ;
4492 void const *__cil_tmp19 ;
4493 unsigned long __cil_tmp20 ;
4494 unsigned long __cil_tmp21 ;
4495 struct regmap *__cil_tmp22 ;
4496 void const *__cil_tmp23 ;
4497 unsigned long __cil_tmp24 ;
4498 unsigned long __cil_tmp25 ;
4499 void *__cil_tmp26 ;
4500 unsigned long __cil_tmp27 ;
4501 unsigned long __cil_tmp28 ;
4502 unsigned long __cil_tmp29 ;
4503 void *__cil_tmp30 ;
4504 struct wm8400_platform_data *__cil_tmp31 ;
4505
4506 {
4507 {
4508#line 347
4509 __cil_tmp8 = (unsigned long )i2c;
4510#line 347
4511 __cil_tmp9 = __cil_tmp8 + 40;
4512#line 347
4513 __cil_tmp10 = (struct device *)__cil_tmp9;
4514#line 347
4515 tmp___7 = devm_kzalloc(__cil_tmp10, 5160UL, 208U);
4516#line 347
4517 wm8400 = (struct wm8400 *)tmp___7;
4518 }
4519 {
4520#line 348
4521 __cil_tmp11 = (void *)0;
4522#line 348
4523 __cil_tmp12 = (unsigned long )__cil_tmp11;
4524#line 348
4525 __cil_tmp13 = (unsigned long )wm8400;
4526#line 348
4527 if (__cil_tmp13 == __cil_tmp12) {
4528#line 349
4529 ret = -12;
4530#line 350
4531 goto err;
4532 } else {
4533
4534 }
4535 }
4536 {
4537#line 353
4538 __cil_tmp14 = (unsigned long )wm8400;
4539#line 353
4540 __cil_tmp15 = __cil_tmp14 + 80;
4541#line 353
4542 *((struct regmap **)__cil_tmp15) = devm_regmap_init_i2c(i2c, & wm8400_regmap_config);
4543#line 354
4544 __cil_tmp16 = (unsigned long )wm8400;
4545#line 354
4546 __cil_tmp17 = __cil_tmp16 + 80;
4547#line 354
4548 __cil_tmp18 = *((struct regmap **)__cil_tmp17);
4549#line 354
4550 __cil_tmp19 = (void const *)__cil_tmp18;
4551#line 354
4552 tmp___9 = (long )IS_ERR(__cil_tmp19);
4553 }
4554#line 354
4555 if (tmp___9) {
4556 {
4557#line 355
4558 __cil_tmp20 = (unsigned long )wm8400;
4559#line 355
4560 __cil_tmp21 = __cil_tmp20 + 80;
4561#line 355
4562 __cil_tmp22 = *((struct regmap **)__cil_tmp21);
4563#line 355
4564 __cil_tmp23 = (void const *)__cil_tmp22;
4565#line 355
4566 tmp___8 = (long )PTR_ERR(__cil_tmp23);
4567#line 355
4568 ret = (int )tmp___8;
4569 }
4570#line 356
4571 goto err;
4572 } else {
4573
4574 }
4575 {
4576#line 359
4577 __cil_tmp24 = (unsigned long )i2c;
4578#line 359
4579 __cil_tmp25 = __cil_tmp24 + 40;
4580#line 359
4581 *((struct device **)wm8400) = (struct device *)__cil_tmp25;
4582#line 360
4583 __cil_tmp26 = (void *)wm8400;
4584#line 360
4585 i2c_set_clientdata(i2c, __cil_tmp26);
4586#line 362
4587 __cil_tmp27 = 40 + 184;
4588#line 362
4589 __cil_tmp28 = (unsigned long )i2c;
4590#line 362
4591 __cil_tmp29 = __cil_tmp28 + __cil_tmp27;
4592#line 362
4593 __cil_tmp30 = *((void **)__cil_tmp29);
4594#line 362
4595 __cil_tmp31 = (struct wm8400_platform_data *)__cil_tmp30;
4596#line 362
4597 ret = wm8400_init(wm8400, __cil_tmp31);
4598 }
4599#line 363
4600 if (ret != 0) {
4601#line 364
4602 goto err;
4603 } else {
4604
4605 }
4606#line 366
4607 return (0);
4608 err:
4609#line 369
4610 return (ret);
4611}
4612}
4613#line 372 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
4614static int wm8400_i2c_remove(struct i2c_client *i2c )
4615{ struct wm8400 *wm8400 ;
4616 void *tmp___7 ;
4617 struct i2c_client const *__cil_tmp4 ;
4618
4619 {
4620 {
4621#line 374
4622 __cil_tmp4 = (struct i2c_client const *)i2c;
4623#line 374
4624 tmp___7 = i2c_get_clientdata(__cil_tmp4);
4625#line 374
4626 wm8400 = (struct wm8400 *)tmp___7;
4627#line 376
4628 wm8400_release(wm8400);
4629 }
4630#line 378
4631 return (0);
4632}
4633}
4634#line 381 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
4635static struct i2c_device_id const wm8400_i2c_id[1] = { {{(char )'w', (char )'m', (char )'8', (char )'4', (char )'0', (char )'0', (char )'\000',
4636 (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0,
4637 (char)0, (char)0, (char)0, (char)0}, (kernel_ulong_t )0}};
4638#line 385
4639extern struct i2c_device_id const __mod_i2c_device_table __attribute__((__unused__,
4640__alias__("wm8400_i2c_id"))) ;
4641#line 387 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
4642static struct i2c_driver wm8400_i2c_driver =
4643#line 387
4644 {0U, (int (*)(struct i2c_adapter * ))0, (int (*)(struct i2c_adapter * ))0, & wm8400_i2c_probe,
4645 & wm8400_i2c_remove, (void (*)(struct i2c_client * ))0, (int (*)(struct i2c_client * ,
4646 pm_message_t mesg ))0,
4647 (int (*)(struct i2c_client * ))0, (void (*)(struct i2c_client * , unsigned int data ))0,
4648 (int (*)(struct i2c_client *client , unsigned int cmd , void *arg ))0, {"WM8400",
4649 (struct bus_type *)0,
4650 & __this_module,
4651 (char const *)0,
4652 (_Bool)0,
4653 (struct of_device_id const *)0,
4654 (int (*)(struct device *dev ))0,
4655 (int (*)(struct device *dev ))0,
4656 (void (*)(struct device *dev ))0,
4657 (int (*)(struct device *dev ,
4658 pm_message_t state ))0,
4659 (int (*)(struct device *dev ))0,
4660 (struct attribute_group const **)0,
4661 (struct dev_pm_ops const *)0,
4662 (struct driver_private *)0},
4663 wm8400_i2c_id, (int (*)(struct i2c_client * , struct i2c_board_info * ))0, (unsigned short const *)0,
4664 {(struct list_head *)0, (struct list_head *)0}};
4665#line 398
4666static int wm8400_module_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
4667#line 398 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
4668static int wm8400_module_init(void)
4669{ int ret ;
4670
4671 {
4672 {
4673#line 400
4674 ret = -19;
4675#line 403
4676 ret = i2c_register_driver(& __this_module, & wm8400_i2c_driver);
4677 }
4678#line 404
4679 if (ret != 0) {
4680 {
4681#line 405
4682 printk("<3>Failed to register I2C driver: %d\n", ret);
4683 }
4684 } else {
4685
4686 }
4687#line 408
4688 return (ret);
4689}
4690}
4691#line 410 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
4692int init_module(void)
4693{ int tmp___7 ;
4694
4695 {
4696 {
4697#line 410
4698 tmp___7 = wm8400_module_init();
4699 }
4700#line 410
4701 return (tmp___7);
4702}
4703}
4704#line 412
4705static void wm8400_module_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
4706#line 412 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
4707static void wm8400_module_exit(void)
4708{
4709
4710 {
4711 {
4712#line 415
4713 i2c_del_driver(& wm8400_i2c_driver);
4714 }
4715#line 417
4716 return;
4717}
4718}
4719#line 418 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
4720void cleanup_module(void)
4721{
4722
4723 {
4724 {
4725#line 418
4726 wm8400_module_exit();
4727 }
4728#line 418
4729 return;
4730}
4731}
4732#line 420 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
4733static char const __mod_license420[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
4734__aligned__(1))) =
4735#line 420
4736 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
4737 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
4738 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
4739#line 421 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
4740static char const __mod_author421[56] __attribute__((__used__, __unused__, __section__(".modinfo"),
4741__aligned__(1))) =
4742#line 421
4743 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
4744 (char const )'o', (char const )'r', (char const )'=', (char const )'M',
4745 (char const )'a', (char const )'r', (char const )'k', (char const )' ',
4746 (char const )'B', (char const )'r', (char const )'o', (char const )'w',
4747 (char const )'n', (char const )' ', (char const )'<', (char const )'b',
4748 (char const )'r', (char const )'o', (char const )'o', (char const )'n',
4749 (char const )'i', (char const )'e', (char const )'@', (char const )'o',
4750 (char const )'p', (char const )'e', (char const )'n', (char const )'s',
4751 (char const )'o', (char const )'u', (char const )'r', (char const )'c',
4752 (char const )'e', (char const )'.', (char const )'w', (char const )'o',
4753 (char const )'l', (char const )'f', (char const )'s', (char const )'o',
4754 (char const )'n', (char const )'m', (char const )'i', (char const )'c',
4755 (char const )'r', (char const )'o', (char const )'.', (char const )'c',
4756 (char const )'o', (char const )'m', (char const )'>', (char const )'\000'};
4757#line 439
4758void ldv_check_final_state(void) ;
4759#line 442
4760extern void ldv_check_return_value(int res ) ;
4761#line 445
4762extern void ldv_initialize(void) ;
4763#line 448
4764extern int __VERIFIER_nondet_int(void) ;
4765#line 451 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
4766int LDV_IN_INTERRUPT ;
4767#line 470 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
4768static int res_wm8400_i2c_probe_9 ;
4769#line 483 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
4770static int res_wm8400_i2c_remove_10 ;
4771#line 454 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
4772void main(void)
4773{ struct i2c_client *var_group1 ;
4774 struct i2c_device_id const *var_wm8400_i2c_probe_9_p1 ;
4775 int tmp___7 ;
4776 int ldv_s_wm8400_i2c_driver_i2c_driver ;
4777 int tmp___8 ;
4778 int tmp___9 ;
4779 int __cil_tmp7 ;
4780
4781 {
4782 {
4783#line 498
4784 LDV_IN_INTERRUPT = 1;
4785#line 507
4786 ldv_initialize();
4787#line 516
4788 tmp___7 = wm8400_module_init();
4789 }
4790#line 516
4791 if (tmp___7) {
4792#line 517
4793 goto ldv_final;
4794 } else {
4795
4796 }
4797#line 522
4798 ldv_s_wm8400_i2c_driver_i2c_driver = 0;
4799 {
4800#line 525
4801 while (1) {
4802 while_continue: ;
4803 {
4804#line 525
4805 tmp___9 = __VERIFIER_nondet_int();
4806 }
4807#line 525
4808 if (tmp___9) {
4809
4810 } else {
4811 {
4812#line 525
4813 __cil_tmp7 = ldv_s_wm8400_i2c_driver_i2c_driver == 0;
4814#line 525
4815 if (! __cil_tmp7) {
4816
4817 } else {
4818#line 525
4819 goto while_break;
4820 }
4821 }
4822 }
4823 {
4824#line 529
4825 tmp___8 = __VERIFIER_nondet_int();
4826 }
4827#line 531
4828 if (tmp___8 == 0) {
4829#line 531
4830 goto case_0;
4831 } else
4832#line 559
4833 if (tmp___8 == 1) {
4834#line 559
4835 goto case_1;
4836 } else {
4837 {
4838#line 587
4839 goto switch_default;
4840#line 529
4841 if (0) {
4842 case_0:
4843#line 534
4844 if (ldv_s_wm8400_i2c_driver_i2c_driver == 0) {
4845 {
4846#line 541
4847 res_wm8400_i2c_probe_9 = wm8400_i2c_probe(var_group1, var_wm8400_i2c_probe_9_p1);
4848#line 542
4849 ldv_check_return_value(res_wm8400_i2c_probe_9);
4850 }
4851#line 543
4852 if (res_wm8400_i2c_probe_9) {
4853#line 544
4854 goto ldv_module_exit;
4855 } else {
4856
4857 }
4858#line 552
4859 ldv_s_wm8400_i2c_driver_i2c_driver = ldv_s_wm8400_i2c_driver_i2c_driver + 1;
4860 } else {
4861
4862 }
4863#line 558
4864 goto switch_break;
4865 case_1:
4866#line 562
4867 if (ldv_s_wm8400_i2c_driver_i2c_driver == 1) {
4868 {
4869#line 569
4870 res_wm8400_i2c_remove_10 = wm8400_i2c_remove(var_group1);
4871#line 570
4872 ldv_check_return_value(res_wm8400_i2c_remove_10);
4873 }
4874#line 571
4875 if (res_wm8400_i2c_remove_10) {
4876#line 572
4877 goto ldv_module_exit;
4878 } else {
4879
4880 }
4881#line 580
4882 ldv_s_wm8400_i2c_driver_i2c_driver = 0;
4883 } else {
4884
4885 }
4886#line 586
4887 goto switch_break;
4888 switch_default:
4889#line 587
4890 goto switch_break;
4891 } else {
4892 switch_break: ;
4893 }
4894 }
4895 }
4896 }
4897 while_break: ;
4898 }
4899 ldv_module_exit:
4900 {
4901#line 604
4902 wm8400_module_exit();
4903 }
4904 ldv_final:
4905 {
4906#line 607
4907 ldv_check_final_state();
4908 }
4909#line 610
4910 return;
4911}
4912}
4913#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
4914void ldv_blast_assert(void)
4915{
4916
4917 {
4918 ERROR:
4919#line 6
4920 goto ERROR;
4921}
4922}
4923#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
4924extern int __VERIFIER_nondet_int(void) ;
4925#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4926int ldv_mutex = 1;
4927#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4928int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
4929{ int nondetermined ;
4930
4931 {
4932#line 29
4933 if (ldv_mutex == 1) {
4934
4935 } else {
4936 {
4937#line 29
4938 ldv_blast_assert();
4939 }
4940 }
4941 {
4942#line 32
4943 nondetermined = __VERIFIER_nondet_int();
4944 }
4945#line 35
4946 if (nondetermined) {
4947#line 38
4948 ldv_mutex = 2;
4949#line 40
4950 return (0);
4951 } else {
4952#line 45
4953 return (-4);
4954 }
4955}
4956}
4957#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4958int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
4959{ int nondetermined ;
4960
4961 {
4962#line 57
4963 if (ldv_mutex == 1) {
4964
4965 } else {
4966 {
4967#line 57
4968 ldv_blast_assert();
4969 }
4970 }
4971 {
4972#line 60
4973 nondetermined = __VERIFIER_nondet_int();
4974 }
4975#line 63
4976 if (nondetermined) {
4977#line 66
4978 ldv_mutex = 2;
4979#line 68
4980 return (0);
4981 } else {
4982#line 73
4983 return (-4);
4984 }
4985}
4986}
4987#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4988int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
4989{ int atomic_value_after_dec ;
4990
4991 {
4992#line 83
4993 if (ldv_mutex == 1) {
4994
4995 } else {
4996 {
4997#line 83
4998 ldv_blast_assert();
4999 }
5000 }
5001 {
5002#line 86
5003 atomic_value_after_dec = __VERIFIER_nondet_int();
5004 }
5005#line 89
5006 if (atomic_value_after_dec == 0) {
5007#line 92
5008 ldv_mutex = 2;
5009#line 94
5010 return (1);
5011 } else {
5012
5013 }
5014#line 98
5015 return (0);
5016}
5017}
5018#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5019void mutex_lock(struct mutex *lock )
5020{
5021
5022 {
5023#line 108
5024 if (ldv_mutex == 1) {
5025
5026 } else {
5027 {
5028#line 108
5029 ldv_blast_assert();
5030 }
5031 }
5032#line 110
5033 ldv_mutex = 2;
5034#line 111
5035 return;
5036}
5037}
5038#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5039int mutex_trylock(struct mutex *lock )
5040{ int nondetermined ;
5041
5042 {
5043#line 121
5044 if (ldv_mutex == 1) {
5045
5046 } else {
5047 {
5048#line 121
5049 ldv_blast_assert();
5050 }
5051 }
5052 {
5053#line 124
5054 nondetermined = __VERIFIER_nondet_int();
5055 }
5056#line 127
5057 if (nondetermined) {
5058#line 130
5059 ldv_mutex = 2;
5060#line 132
5061 return (1);
5062 } else {
5063#line 137
5064 return (0);
5065 }
5066}
5067}
5068#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5069void mutex_unlock(struct mutex *lock )
5070{
5071
5072 {
5073#line 147
5074 if (ldv_mutex == 2) {
5075
5076 } else {
5077 {
5078#line 147
5079 ldv_blast_assert();
5080 }
5081 }
5082#line 149
5083 ldv_mutex = 1;
5084#line 150
5085 return;
5086}
5087}
5088#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5089void ldv_check_final_state(void)
5090{
5091
5092 {
5093#line 156
5094 if (ldv_mutex == 1) {
5095
5096 } else {
5097 {
5098#line 156
5099 ldv_blast_assert();
5100 }
5101 }
5102#line 157
5103 return;
5104}
5105}
5106#line 619 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8236/dscv_tempdir/dscv/ri/32_1/drivers/mfd/wm8400-core.c.common.c"
5107long s__builtin_expect(long val , long res )
5108{
5109
5110 {
5111#line 620
5112 return (val);
5113}
5114}