1
2
3
4#line 23 "include/asm-generic/int-ll64.h"
5typedef unsigned short __u16;
6#line 25 "include/asm-generic/int-ll64.h"
7typedef int __s32;
8#line 26 "include/asm-generic/int-ll64.h"
9typedef unsigned int __u32;
10#line 30 "include/asm-generic/int-ll64.h"
11typedef unsigned long long __u64;
12#line 43 "include/asm-generic/int-ll64.h"
13typedef unsigned char u8;
14#line 45 "include/asm-generic/int-ll64.h"
15typedef short s16;
16#line 46 "include/asm-generic/int-ll64.h"
17typedef unsigned short u16;
18#line 49 "include/asm-generic/int-ll64.h"
19typedef unsigned int u32;
20#line 51 "include/asm-generic/int-ll64.h"
21typedef long long s64;
22#line 52 "include/asm-generic/int-ll64.h"
23typedef unsigned long long u64;
24#line 14 "include/asm-generic/posix_types.h"
25typedef long __kernel_long_t;
26#line 15 "include/asm-generic/posix_types.h"
27typedef unsigned long __kernel_ulong_t;
28#line 31 "include/asm-generic/posix_types.h"
29typedef int __kernel_pid_t;
30#line 52 "include/asm-generic/posix_types.h"
31typedef unsigned int __kernel_uid32_t;
32#line 53 "include/asm-generic/posix_types.h"
33typedef unsigned int __kernel_gid32_t;
34#line 75 "include/asm-generic/posix_types.h"
35typedef __kernel_ulong_t __kernel_size_t;
36#line 76 "include/asm-generic/posix_types.h"
37typedef __kernel_long_t __kernel_ssize_t;
38#line 91 "include/asm-generic/posix_types.h"
39typedef long long __kernel_loff_t;
40#line 92 "include/asm-generic/posix_types.h"
41typedef __kernel_long_t __kernel_time_t;
42#line 93 "include/asm-generic/posix_types.h"
43typedef __kernel_long_t __kernel_clock_t;
44#line 94 "include/asm-generic/posix_types.h"
45typedef int __kernel_timer_t;
46#line 95 "include/asm-generic/posix_types.h"
47typedef int __kernel_clockid_t;
48#line 21 "include/linux/types.h"
49typedef __u32 __kernel_dev_t;
50#line 24 "include/linux/types.h"
51typedef __kernel_dev_t dev_t;
52#line 27 "include/linux/types.h"
53typedef unsigned short umode_t;
54#line 30 "include/linux/types.h"
55typedef __kernel_pid_t pid_t;
56#line 35 "include/linux/types.h"
57typedef __kernel_clockid_t clockid_t;
58#line 38 "include/linux/types.h"
59typedef _Bool bool;
60#line 40 "include/linux/types.h"
61typedef __kernel_uid32_t uid_t;
62#line 41 "include/linux/types.h"
63typedef __kernel_gid32_t gid_t;
64#line 54 "include/linux/types.h"
65typedef __kernel_loff_t loff_t;
66#line 63 "include/linux/types.h"
67typedef __kernel_size_t size_t;
68#line 68 "include/linux/types.h"
69typedef __kernel_ssize_t ssize_t;
70#line 78 "include/linux/types.h"
71typedef __kernel_time_t time_t;
72#line 111 "include/linux/types.h"
73typedef __s32 int32_t;
74#line 117 "include/linux/types.h"
75typedef __u32 uint32_t;
76#line 155 "include/linux/types.h"
77typedef u64 dma_addr_t;
78#line 202 "include/linux/types.h"
79typedef unsigned int gfp_t;
80#line 221 "include/linux/types.h"
81struct __anonstruct_atomic_t_6 {
82 int counter ;
83};
84#line 221 "include/linux/types.h"
85typedef struct __anonstruct_atomic_t_6 atomic_t;
86#line 226 "include/linux/types.h"
87struct __anonstruct_atomic64_t_7 {
88 long counter ;
89};
90#line 226 "include/linux/types.h"
91typedef struct __anonstruct_atomic64_t_7 atomic64_t;
92#line 227 "include/linux/types.h"
93struct list_head {
94 struct list_head *next ;
95 struct list_head *prev ;
96};
97#line 232
98struct hlist_node;
99#line 232 "include/linux/types.h"
100struct hlist_head {
101 struct hlist_node *first ;
102};
103#line 236 "include/linux/types.h"
104struct hlist_node {
105 struct hlist_node *next ;
106 struct hlist_node **pprev ;
107};
108#line 247 "include/linux/types.h"
109struct rcu_head {
110 struct rcu_head *next ;
111 void (*func)(struct rcu_head * ) ;
112};
113#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
114struct module;
115#line 55
116struct module;
117#line 146 "include/linux/init.h"
118typedef void (*ctor_fn_t)(void);
119#line 305 "include/linux/printk.h"
120struct _ddebug {
121 char const *modname ;
122 char const *function ;
123 char const *filename ;
124 char const *format ;
125 unsigned int lineno : 18 ;
126 unsigned char flags ;
127};
128#line 46 "include/linux/dynamic_debug.h"
129struct device;
130#line 46
131struct device;
132#line 57
133struct completion;
134#line 57
135struct completion;
136#line 58
137struct pt_regs;
138#line 58
139struct pt_regs;
140#line 348 "include/linux/kernel.h"
141struct pid;
142#line 348
143struct pid;
144#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
145struct timespec;
146#line 112
147struct timespec;
148#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
149struct page;
150#line 58
151struct page;
152#line 26 "include/asm-generic/getorder.h"
153struct task_struct;
154#line 26
155struct task_struct;
156#line 28
157struct mm_struct;
158#line 28
159struct mm_struct;
160#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
161struct pt_regs {
162 unsigned long r15 ;
163 unsigned long r14 ;
164 unsigned long r13 ;
165 unsigned long r12 ;
166 unsigned long bp ;
167 unsigned long bx ;
168 unsigned long r11 ;
169 unsigned long r10 ;
170 unsigned long r9 ;
171 unsigned long r8 ;
172 unsigned long ax ;
173 unsigned long cx ;
174 unsigned long dx ;
175 unsigned long si ;
176 unsigned long di ;
177 unsigned long orig_ax ;
178 unsigned long ip ;
179 unsigned long cs ;
180 unsigned long flags ;
181 unsigned long sp ;
182 unsigned long ss ;
183};
184#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
185struct __anonstruct_ldv_2180_13 {
186 unsigned int a ;
187 unsigned int b ;
188};
189#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
190struct __anonstruct_ldv_2195_14 {
191 u16 limit0 ;
192 u16 base0 ;
193 unsigned char base1 ;
194 unsigned char type : 4 ;
195 unsigned char s : 1 ;
196 unsigned char dpl : 2 ;
197 unsigned char p : 1 ;
198 unsigned char limit : 4 ;
199 unsigned char avl : 1 ;
200 unsigned char l : 1 ;
201 unsigned char d : 1 ;
202 unsigned char g : 1 ;
203 unsigned char base2 ;
204};
205#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
206union __anonunion_ldv_2196_12 {
207 struct __anonstruct_ldv_2180_13 ldv_2180 ;
208 struct __anonstruct_ldv_2195_14 ldv_2195 ;
209};
210#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
211struct desc_struct {
212 union __anonunion_ldv_2196_12 ldv_2196 ;
213};
214#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
215typedef unsigned long pgdval_t;
216#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
217typedef unsigned long pgprotval_t;
218#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
219struct pgprot {
220 pgprotval_t pgprot ;
221};
222#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
223typedef struct pgprot pgprot_t;
224#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
225struct __anonstruct_pgd_t_16 {
226 pgdval_t pgd ;
227};
228#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
229typedef struct __anonstruct_pgd_t_16 pgd_t;
230#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
231typedef struct page *pgtable_t;
232#line 290
233struct file;
234#line 290
235struct file;
236#line 305
237struct seq_file;
238#line 305
239struct seq_file;
240#line 337
241struct thread_struct;
242#line 337
243struct thread_struct;
244#line 339
245struct cpumask;
246#line 339
247struct cpumask;
248#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
249struct arch_spinlock;
250#line 327
251struct arch_spinlock;
252#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
253struct kernel_vm86_regs {
254 struct pt_regs pt ;
255 unsigned short es ;
256 unsigned short __esh ;
257 unsigned short ds ;
258 unsigned short __dsh ;
259 unsigned short fs ;
260 unsigned short __fsh ;
261 unsigned short gs ;
262 unsigned short __gsh ;
263};
264#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
265union __anonunion_ldv_2824_19 {
266 struct pt_regs *regs ;
267 struct kernel_vm86_regs *vm86 ;
268};
269#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
270struct math_emu_info {
271 long ___orig_eip ;
272 union __anonunion_ldv_2824_19 ldv_2824 ;
273};
274#line 306 "include/linux/bitmap.h"
275struct bug_entry {
276 int bug_addr_disp ;
277 int file_disp ;
278 unsigned short line ;
279 unsigned short flags ;
280};
281#line 89 "include/linux/bug.h"
282struct cpumask {
283 unsigned long bits[64U] ;
284};
285#line 14 "include/linux/cpumask.h"
286typedef struct cpumask cpumask_t;
287#line 637 "include/linux/cpumask.h"
288typedef struct cpumask *cpumask_var_t;
289#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
290struct static_key;
291#line 234
292struct static_key;
293#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
294struct i387_fsave_struct {
295 u32 cwd ;
296 u32 swd ;
297 u32 twd ;
298 u32 fip ;
299 u32 fcs ;
300 u32 foo ;
301 u32 fos ;
302 u32 st_space[20U] ;
303 u32 status ;
304};
305#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
306struct __anonstruct_ldv_5180_24 {
307 u64 rip ;
308 u64 rdp ;
309};
310#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
311struct __anonstruct_ldv_5186_25 {
312 u32 fip ;
313 u32 fcs ;
314 u32 foo ;
315 u32 fos ;
316};
317#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
318union __anonunion_ldv_5187_23 {
319 struct __anonstruct_ldv_5180_24 ldv_5180 ;
320 struct __anonstruct_ldv_5186_25 ldv_5186 ;
321};
322#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
323union __anonunion_ldv_5196_26 {
324 u32 padding1[12U] ;
325 u32 sw_reserved[12U] ;
326};
327#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
328struct i387_fxsave_struct {
329 u16 cwd ;
330 u16 swd ;
331 u16 twd ;
332 u16 fop ;
333 union __anonunion_ldv_5187_23 ldv_5187 ;
334 u32 mxcsr ;
335 u32 mxcsr_mask ;
336 u32 st_space[32U] ;
337 u32 xmm_space[64U] ;
338 u32 padding[12U] ;
339 union __anonunion_ldv_5196_26 ldv_5196 ;
340};
341#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
342struct i387_soft_struct {
343 u32 cwd ;
344 u32 swd ;
345 u32 twd ;
346 u32 fip ;
347 u32 fcs ;
348 u32 foo ;
349 u32 fos ;
350 u32 st_space[20U] ;
351 u8 ftop ;
352 u8 changed ;
353 u8 lookahead ;
354 u8 no_update ;
355 u8 rm ;
356 u8 alimit ;
357 struct math_emu_info *info ;
358 u32 entry_eip ;
359};
360#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
361struct ymmh_struct {
362 u32 ymmh_space[64U] ;
363};
364#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
365struct xsave_hdr_struct {
366 u64 xstate_bv ;
367 u64 reserved1[2U] ;
368 u64 reserved2[5U] ;
369};
370#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
371struct xsave_struct {
372 struct i387_fxsave_struct i387 ;
373 struct xsave_hdr_struct xsave_hdr ;
374 struct ymmh_struct ymmh ;
375};
376#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
377union thread_xstate {
378 struct i387_fsave_struct fsave ;
379 struct i387_fxsave_struct fxsave ;
380 struct i387_soft_struct soft ;
381 struct xsave_struct xsave ;
382};
383#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
384struct fpu {
385 unsigned int last_cpu ;
386 unsigned int has_fpu ;
387 union thread_xstate *state ;
388};
389#line 433
390struct kmem_cache;
391#line 434
392struct perf_event;
393#line 434
394struct perf_event;
395#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
396struct thread_struct {
397 struct desc_struct tls_array[3U] ;
398 unsigned long sp0 ;
399 unsigned long sp ;
400 unsigned long usersp ;
401 unsigned short es ;
402 unsigned short ds ;
403 unsigned short fsindex ;
404 unsigned short gsindex ;
405 unsigned long fs ;
406 unsigned long gs ;
407 struct perf_event *ptrace_bps[4U] ;
408 unsigned long debugreg6 ;
409 unsigned long ptrace_dr7 ;
410 unsigned long cr2 ;
411 unsigned long trap_nr ;
412 unsigned long error_code ;
413 struct fpu fpu ;
414 unsigned long *io_bitmap_ptr ;
415 unsigned long iopl ;
416 unsigned int io_bitmap_max ;
417};
418#line 23 "include/asm-generic/atomic-long.h"
419typedef atomic64_t atomic_long_t;
420#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
421typedef u16 __ticket_t;
422#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
423typedef u32 __ticketpair_t;
424#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
425struct __raw_tickets {
426 __ticket_t head ;
427 __ticket_t tail ;
428};
429#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
430union __anonunion_ldv_5907_29 {
431 __ticketpair_t head_tail ;
432 struct __raw_tickets tickets ;
433};
434#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
435struct arch_spinlock {
436 union __anonunion_ldv_5907_29 ldv_5907 ;
437};
438#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
439typedef struct arch_spinlock arch_spinlock_t;
440#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
441struct lockdep_map;
442#line 34
443struct lockdep_map;
444#line 55 "include/linux/debug_locks.h"
445struct stack_trace {
446 unsigned int nr_entries ;
447 unsigned int max_entries ;
448 unsigned long *entries ;
449 int skip ;
450};
451#line 26 "include/linux/stacktrace.h"
452struct lockdep_subclass_key {
453 char __one_byte ;
454};
455#line 53 "include/linux/lockdep.h"
456struct lock_class_key {
457 struct lockdep_subclass_key subkeys[8U] ;
458};
459#line 59 "include/linux/lockdep.h"
460struct lock_class {
461 struct list_head hash_entry ;
462 struct list_head lock_entry ;
463 struct lockdep_subclass_key *key ;
464 unsigned int subclass ;
465 unsigned int dep_gen_id ;
466 unsigned long usage_mask ;
467 struct stack_trace usage_traces[13U] ;
468 struct list_head locks_after ;
469 struct list_head locks_before ;
470 unsigned int version ;
471 unsigned long ops ;
472 char const *name ;
473 int name_version ;
474 unsigned long contention_point[4U] ;
475 unsigned long contending_point[4U] ;
476};
477#line 144 "include/linux/lockdep.h"
478struct lockdep_map {
479 struct lock_class_key *key ;
480 struct lock_class *class_cache[2U] ;
481 char const *name ;
482 int cpu ;
483 unsigned long ip ;
484};
485#line 187 "include/linux/lockdep.h"
486struct held_lock {
487 u64 prev_chain_key ;
488 unsigned long acquire_ip ;
489 struct lockdep_map *instance ;
490 struct lockdep_map *nest_lock ;
491 u64 waittime_stamp ;
492 u64 holdtime_stamp ;
493 unsigned short class_idx : 13 ;
494 unsigned char irq_context : 2 ;
495 unsigned char trylock : 1 ;
496 unsigned char read : 2 ;
497 unsigned char check : 2 ;
498 unsigned char hardirqs_off : 1 ;
499 unsigned short references : 11 ;
500};
501#line 556 "include/linux/lockdep.h"
502struct raw_spinlock {
503 arch_spinlock_t raw_lock ;
504 unsigned int magic ;
505 unsigned int owner_cpu ;
506 void *owner ;
507 struct lockdep_map dep_map ;
508};
509#line 32 "include/linux/spinlock_types.h"
510typedef struct raw_spinlock raw_spinlock_t;
511#line 33 "include/linux/spinlock_types.h"
512struct __anonstruct_ldv_6122_33 {
513 u8 __padding[24U] ;
514 struct lockdep_map dep_map ;
515};
516#line 33 "include/linux/spinlock_types.h"
517union __anonunion_ldv_6123_32 {
518 struct raw_spinlock rlock ;
519 struct __anonstruct_ldv_6122_33 ldv_6122 ;
520};
521#line 33 "include/linux/spinlock_types.h"
522struct spinlock {
523 union __anonunion_ldv_6123_32 ldv_6123 ;
524};
525#line 76 "include/linux/spinlock_types.h"
526typedef struct spinlock spinlock_t;
527#line 110 "include/linux/seqlock.h"
528struct seqcount {
529 unsigned int sequence ;
530};
531#line 121 "include/linux/seqlock.h"
532typedef struct seqcount seqcount_t;
533#line 254 "include/linux/seqlock.h"
534struct timespec {
535 __kernel_time_t tv_sec ;
536 long tv_nsec ;
537};
538#line 48 "include/linux/wait.h"
539struct __wait_queue_head {
540 spinlock_t lock ;
541 struct list_head task_list ;
542};
543#line 53 "include/linux/wait.h"
544typedef struct __wait_queue_head wait_queue_head_t;
545#line 98 "include/linux/nodemask.h"
546struct __anonstruct_nodemask_t_36 {
547 unsigned long bits[16U] ;
548};
549#line 98 "include/linux/nodemask.h"
550typedef struct __anonstruct_nodemask_t_36 nodemask_t;
551#line 670 "include/linux/mmzone.h"
552struct mutex {
553 atomic_t count ;
554 spinlock_t wait_lock ;
555 struct list_head wait_list ;
556 struct task_struct *owner ;
557 char const *name ;
558 void *magic ;
559 struct lockdep_map dep_map ;
560};
561#line 63 "include/linux/mutex.h"
562struct mutex_waiter {
563 struct list_head list ;
564 struct task_struct *task ;
565 void *magic ;
566};
567#line 171
568struct rw_semaphore;
569#line 171
570struct rw_semaphore;
571#line 172 "include/linux/mutex.h"
572struct rw_semaphore {
573 long count ;
574 raw_spinlock_t wait_lock ;
575 struct list_head wait_list ;
576 struct lockdep_map dep_map ;
577};
578#line 128 "include/linux/rwsem.h"
579struct completion {
580 unsigned int done ;
581 wait_queue_head_t wait ;
582};
583#line 312 "include/linux/jiffies.h"
584union ktime {
585 s64 tv64 ;
586};
587#line 59 "include/linux/ktime.h"
588typedef union ktime ktime_t;
589#line 341
590struct tvec_base;
591#line 341
592struct tvec_base;
593#line 342 "include/linux/ktime.h"
594struct timer_list {
595 struct list_head entry ;
596 unsigned long expires ;
597 struct tvec_base *base ;
598 void (*function)(unsigned long ) ;
599 unsigned long data ;
600 int slack ;
601 int start_pid ;
602 void *start_site ;
603 char start_comm[16U] ;
604 struct lockdep_map lockdep_map ;
605};
606#line 289 "include/linux/timer.h"
607struct hrtimer;
608#line 289
609struct hrtimer;
610#line 290
611enum hrtimer_restart;
612#line 302
613struct work_struct;
614#line 302
615struct work_struct;
616#line 45 "include/linux/workqueue.h"
617struct work_struct {
618 atomic_long_t data ;
619 struct list_head entry ;
620 void (*func)(struct work_struct * ) ;
621 struct lockdep_map lockdep_map ;
622};
623#line 46 "include/linux/pm.h"
624struct pm_message {
625 int event ;
626};
627#line 52 "include/linux/pm.h"
628typedef struct pm_message pm_message_t;
629#line 53 "include/linux/pm.h"
630struct dev_pm_ops {
631 int (*prepare)(struct device * ) ;
632 void (*complete)(struct device * ) ;
633 int (*suspend)(struct device * ) ;
634 int (*resume)(struct device * ) ;
635 int (*freeze)(struct device * ) ;
636 int (*thaw)(struct device * ) ;
637 int (*poweroff)(struct device * ) ;
638 int (*restore)(struct device * ) ;
639 int (*suspend_late)(struct device * ) ;
640 int (*resume_early)(struct device * ) ;
641 int (*freeze_late)(struct device * ) ;
642 int (*thaw_early)(struct device * ) ;
643 int (*poweroff_late)(struct device * ) ;
644 int (*restore_early)(struct device * ) ;
645 int (*suspend_noirq)(struct device * ) ;
646 int (*resume_noirq)(struct device * ) ;
647 int (*freeze_noirq)(struct device * ) ;
648 int (*thaw_noirq)(struct device * ) ;
649 int (*poweroff_noirq)(struct device * ) ;
650 int (*restore_noirq)(struct device * ) ;
651 int (*runtime_suspend)(struct device * ) ;
652 int (*runtime_resume)(struct device * ) ;
653 int (*runtime_idle)(struct device * ) ;
654};
655#line 289
656enum rpm_status {
657 RPM_ACTIVE = 0,
658 RPM_RESUMING = 1,
659 RPM_SUSPENDED = 2,
660 RPM_SUSPENDING = 3
661} ;
662#line 296
663enum rpm_request {
664 RPM_REQ_NONE = 0,
665 RPM_REQ_IDLE = 1,
666 RPM_REQ_SUSPEND = 2,
667 RPM_REQ_AUTOSUSPEND = 3,
668 RPM_REQ_RESUME = 4
669} ;
670#line 304
671struct wakeup_source;
672#line 304
673struct wakeup_source;
674#line 494 "include/linux/pm.h"
675struct pm_subsys_data {
676 spinlock_t lock ;
677 unsigned int refcount ;
678};
679#line 499
680struct dev_pm_qos_request;
681#line 499
682struct pm_qos_constraints;
683#line 499 "include/linux/pm.h"
684struct dev_pm_info {
685 pm_message_t power_state ;
686 unsigned char can_wakeup : 1 ;
687 unsigned char async_suspend : 1 ;
688 bool is_prepared ;
689 bool is_suspended ;
690 bool ignore_children ;
691 spinlock_t lock ;
692 struct list_head entry ;
693 struct completion completion ;
694 struct wakeup_source *wakeup ;
695 bool wakeup_path ;
696 struct timer_list suspend_timer ;
697 unsigned long timer_expires ;
698 struct work_struct work ;
699 wait_queue_head_t wait_queue ;
700 atomic_t usage_count ;
701 atomic_t child_count ;
702 unsigned char disable_depth : 3 ;
703 unsigned char idle_notification : 1 ;
704 unsigned char request_pending : 1 ;
705 unsigned char deferred_resume : 1 ;
706 unsigned char run_wake : 1 ;
707 unsigned char runtime_auto : 1 ;
708 unsigned char no_callbacks : 1 ;
709 unsigned char irq_safe : 1 ;
710 unsigned char use_autosuspend : 1 ;
711 unsigned char timer_autosuspends : 1 ;
712 enum rpm_request request ;
713 enum rpm_status runtime_status ;
714 int runtime_error ;
715 int autosuspend_delay ;
716 unsigned long last_busy ;
717 unsigned long active_jiffies ;
718 unsigned long suspended_jiffies ;
719 unsigned long accounting_timestamp ;
720 ktime_t suspend_time ;
721 s64 max_time_suspended_ns ;
722 struct dev_pm_qos_request *pq_req ;
723 struct pm_subsys_data *subsys_data ;
724 struct pm_qos_constraints *constraints ;
725};
726#line 558 "include/linux/pm.h"
727struct dev_pm_domain {
728 struct dev_pm_ops ops ;
729};
730#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
731struct __anonstruct_mm_context_t_101 {
732 void *ldt ;
733 int size ;
734 unsigned short ia32_compat ;
735 struct mutex lock ;
736 void *vdso ;
737};
738#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
739typedef struct __anonstruct_mm_context_t_101 mm_context_t;
740#line 18 "include/asm-generic/pci_iomap.h"
741struct vm_area_struct;
742#line 18
743struct vm_area_struct;
744#line 835 "include/linux/sysctl.h"
745struct rb_node {
746 unsigned long rb_parent_color ;
747 struct rb_node *rb_right ;
748 struct rb_node *rb_left ;
749};
750#line 108 "include/linux/rbtree.h"
751struct rb_root {
752 struct rb_node *rb_node ;
753};
754#line 176
755struct nsproxy;
756#line 176
757struct nsproxy;
758#line 37 "include/linux/kmod.h"
759struct cred;
760#line 37
761struct cred;
762#line 18 "include/linux/elf.h"
763typedef __u64 Elf64_Addr;
764#line 19 "include/linux/elf.h"
765typedef __u16 Elf64_Half;
766#line 23 "include/linux/elf.h"
767typedef __u32 Elf64_Word;
768#line 24 "include/linux/elf.h"
769typedef __u64 Elf64_Xword;
770#line 193 "include/linux/elf.h"
771struct elf64_sym {
772 Elf64_Word st_name ;
773 unsigned char st_info ;
774 unsigned char st_other ;
775 Elf64_Half st_shndx ;
776 Elf64_Addr st_value ;
777 Elf64_Xword st_size ;
778};
779#line 201 "include/linux/elf.h"
780typedef struct elf64_sym Elf64_Sym;
781#line 445
782struct sock;
783#line 445
784struct sock;
785#line 446
786struct kobject;
787#line 446
788struct kobject;
789#line 447
790enum kobj_ns_type {
791 KOBJ_NS_TYPE_NONE = 0,
792 KOBJ_NS_TYPE_NET = 1,
793 KOBJ_NS_TYPES = 2
794} ;
795#line 453 "include/linux/elf.h"
796struct kobj_ns_type_operations {
797 enum kobj_ns_type type ;
798 void *(*grab_current_ns)(void) ;
799 void const *(*netlink_ns)(struct sock * ) ;
800 void const *(*initial_ns)(void) ;
801 void (*drop_ns)(void * ) ;
802};
803#line 57 "include/linux/kobject_ns.h"
804struct attribute {
805 char const *name ;
806 umode_t mode ;
807 struct lock_class_key *key ;
808 struct lock_class_key skey ;
809};
810#line 33 "include/linux/sysfs.h"
811struct attribute_group {
812 char const *name ;
813 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
814 struct attribute **attrs ;
815};
816#line 62 "include/linux/sysfs.h"
817struct bin_attribute {
818 struct attribute attr ;
819 size_t size ;
820 void *private ;
821 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
822 loff_t , size_t ) ;
823 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
824 loff_t , size_t ) ;
825 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
826};
827#line 98 "include/linux/sysfs.h"
828struct sysfs_ops {
829 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
830 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
831 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
832};
833#line 117
834struct sysfs_dirent;
835#line 117
836struct sysfs_dirent;
837#line 182 "include/linux/sysfs.h"
838struct kref {
839 atomic_t refcount ;
840};
841#line 49 "include/linux/kobject.h"
842struct kset;
843#line 49
844struct kobj_type;
845#line 49 "include/linux/kobject.h"
846struct kobject {
847 char const *name ;
848 struct list_head entry ;
849 struct kobject *parent ;
850 struct kset *kset ;
851 struct kobj_type *ktype ;
852 struct sysfs_dirent *sd ;
853 struct kref kref ;
854 unsigned char state_initialized : 1 ;
855 unsigned char state_in_sysfs : 1 ;
856 unsigned char state_add_uevent_sent : 1 ;
857 unsigned char state_remove_uevent_sent : 1 ;
858 unsigned char uevent_suppress : 1 ;
859};
860#line 107 "include/linux/kobject.h"
861struct kobj_type {
862 void (*release)(struct kobject * ) ;
863 struct sysfs_ops const *sysfs_ops ;
864 struct attribute **default_attrs ;
865 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
866 void const *(*namespace)(struct kobject * ) ;
867};
868#line 115 "include/linux/kobject.h"
869struct kobj_uevent_env {
870 char *envp[32U] ;
871 int envp_idx ;
872 char buf[2048U] ;
873 int buflen ;
874};
875#line 122 "include/linux/kobject.h"
876struct kset_uevent_ops {
877 int (* const filter)(struct kset * , struct kobject * ) ;
878 char const *(* const name)(struct kset * , struct kobject * ) ;
879 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
880};
881#line 139 "include/linux/kobject.h"
882struct kset {
883 struct list_head list ;
884 spinlock_t list_lock ;
885 struct kobject kobj ;
886 struct kset_uevent_ops const *uevent_ops ;
887};
888#line 215
889struct kernel_param;
890#line 215
891struct kernel_param;
892#line 216 "include/linux/kobject.h"
893struct kernel_param_ops {
894 int (*set)(char const * , struct kernel_param const * ) ;
895 int (*get)(char * , struct kernel_param const * ) ;
896 void (*free)(void * ) ;
897};
898#line 49 "include/linux/moduleparam.h"
899struct kparam_string;
900#line 49
901struct kparam_array;
902#line 49 "include/linux/moduleparam.h"
903union __anonunion_ldv_13363_134 {
904 void *arg ;
905 struct kparam_string const *str ;
906 struct kparam_array const *arr ;
907};
908#line 49 "include/linux/moduleparam.h"
909struct kernel_param {
910 char const *name ;
911 struct kernel_param_ops const *ops ;
912 u16 perm ;
913 s16 level ;
914 union __anonunion_ldv_13363_134 ldv_13363 ;
915};
916#line 61 "include/linux/moduleparam.h"
917struct kparam_string {
918 unsigned int maxlen ;
919 char *string ;
920};
921#line 67 "include/linux/moduleparam.h"
922struct kparam_array {
923 unsigned int max ;
924 unsigned int elemsize ;
925 unsigned int *num ;
926 struct kernel_param_ops const *ops ;
927 void *elem ;
928};
929#line 458 "include/linux/moduleparam.h"
930struct static_key {
931 atomic_t enabled ;
932};
933#line 225 "include/linux/jump_label.h"
934struct tracepoint;
935#line 225
936struct tracepoint;
937#line 226 "include/linux/jump_label.h"
938struct tracepoint_func {
939 void *func ;
940 void *data ;
941};
942#line 29 "include/linux/tracepoint.h"
943struct tracepoint {
944 char const *name ;
945 struct static_key key ;
946 void (*regfunc)(void) ;
947 void (*unregfunc)(void) ;
948 struct tracepoint_func *funcs ;
949};
950#line 86 "include/linux/tracepoint.h"
951struct kernel_symbol {
952 unsigned long value ;
953 char const *name ;
954};
955#line 27 "include/linux/export.h"
956struct mod_arch_specific {
957
958};
959#line 34 "include/linux/module.h"
960struct module_param_attrs;
961#line 34 "include/linux/module.h"
962struct module_kobject {
963 struct kobject kobj ;
964 struct module *mod ;
965 struct kobject *drivers_dir ;
966 struct module_param_attrs *mp ;
967};
968#line 43 "include/linux/module.h"
969struct module_attribute {
970 struct attribute attr ;
971 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
972 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
973 size_t ) ;
974 void (*setup)(struct module * , char const * ) ;
975 int (*test)(struct module * ) ;
976 void (*free)(struct module * ) ;
977};
978#line 69
979struct exception_table_entry;
980#line 69
981struct exception_table_entry;
982#line 198
983enum module_state {
984 MODULE_STATE_LIVE = 0,
985 MODULE_STATE_COMING = 1,
986 MODULE_STATE_GOING = 2
987} ;
988#line 204 "include/linux/module.h"
989struct module_ref {
990 unsigned long incs ;
991 unsigned long decs ;
992};
993#line 219
994struct module_sect_attrs;
995#line 219
996struct module_notes_attrs;
997#line 219
998struct ftrace_event_call;
999#line 219 "include/linux/module.h"
1000struct module {
1001 enum module_state state ;
1002 struct list_head list ;
1003 char name[56U] ;
1004 struct module_kobject mkobj ;
1005 struct module_attribute *modinfo_attrs ;
1006 char const *version ;
1007 char const *srcversion ;
1008 struct kobject *holders_dir ;
1009 struct kernel_symbol const *syms ;
1010 unsigned long const *crcs ;
1011 unsigned int num_syms ;
1012 struct kernel_param *kp ;
1013 unsigned int num_kp ;
1014 unsigned int num_gpl_syms ;
1015 struct kernel_symbol const *gpl_syms ;
1016 unsigned long const *gpl_crcs ;
1017 struct kernel_symbol const *unused_syms ;
1018 unsigned long const *unused_crcs ;
1019 unsigned int num_unused_syms ;
1020 unsigned int num_unused_gpl_syms ;
1021 struct kernel_symbol const *unused_gpl_syms ;
1022 unsigned long const *unused_gpl_crcs ;
1023 struct kernel_symbol const *gpl_future_syms ;
1024 unsigned long const *gpl_future_crcs ;
1025 unsigned int num_gpl_future_syms ;
1026 unsigned int num_exentries ;
1027 struct exception_table_entry *extable ;
1028 int (*init)(void) ;
1029 void *module_init ;
1030 void *module_core ;
1031 unsigned int init_size ;
1032 unsigned int core_size ;
1033 unsigned int init_text_size ;
1034 unsigned int core_text_size ;
1035 unsigned int init_ro_size ;
1036 unsigned int core_ro_size ;
1037 struct mod_arch_specific arch ;
1038 unsigned int taints ;
1039 unsigned int num_bugs ;
1040 struct list_head bug_list ;
1041 struct bug_entry *bug_table ;
1042 Elf64_Sym *symtab ;
1043 Elf64_Sym *core_symtab ;
1044 unsigned int num_symtab ;
1045 unsigned int core_num_syms ;
1046 char *strtab ;
1047 char *core_strtab ;
1048 struct module_sect_attrs *sect_attrs ;
1049 struct module_notes_attrs *notes_attrs ;
1050 char *args ;
1051 void *percpu ;
1052 unsigned int percpu_size ;
1053 unsigned int num_tracepoints ;
1054 struct tracepoint * const *tracepoints_ptrs ;
1055 unsigned int num_trace_bprintk_fmt ;
1056 char const **trace_bprintk_fmt_start ;
1057 struct ftrace_event_call **trace_events ;
1058 unsigned int num_trace_events ;
1059 struct list_head source_list ;
1060 struct list_head target_list ;
1061 struct task_struct *waiter ;
1062 void (*exit)(void) ;
1063 struct module_ref *refptr ;
1064 ctor_fn_t (**ctors)(void) ;
1065 unsigned int num_ctors ;
1066};
1067#line 88 "include/linux/kmemleak.h"
1068struct kmem_cache_cpu {
1069 void **freelist ;
1070 unsigned long tid ;
1071 struct page *page ;
1072 struct page *partial ;
1073 int node ;
1074 unsigned int stat[26U] ;
1075};
1076#line 55 "include/linux/slub_def.h"
1077struct kmem_cache_node {
1078 spinlock_t list_lock ;
1079 unsigned long nr_partial ;
1080 struct list_head partial ;
1081 atomic_long_t nr_slabs ;
1082 atomic_long_t total_objects ;
1083 struct list_head full ;
1084};
1085#line 66 "include/linux/slub_def.h"
1086struct kmem_cache_order_objects {
1087 unsigned long x ;
1088};
1089#line 76 "include/linux/slub_def.h"
1090struct kmem_cache {
1091 struct kmem_cache_cpu *cpu_slab ;
1092 unsigned long flags ;
1093 unsigned long min_partial ;
1094 int size ;
1095 int objsize ;
1096 int offset ;
1097 int cpu_partial ;
1098 struct kmem_cache_order_objects oo ;
1099 struct kmem_cache_order_objects max ;
1100 struct kmem_cache_order_objects min ;
1101 gfp_t allocflags ;
1102 int refcount ;
1103 void (*ctor)(void * ) ;
1104 int inuse ;
1105 int align ;
1106 int reserved ;
1107 char const *name ;
1108 struct list_head list ;
1109 struct kobject kobj ;
1110 int remote_node_defrag_ratio ;
1111 struct kmem_cache_node *node[1024U] ;
1112};
1113#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
1114struct klist_node;
1115#line 15
1116struct klist_node;
1117#line 37 "include/linux/klist.h"
1118struct klist_node {
1119 void *n_klist ;
1120 struct list_head n_node ;
1121 struct kref n_ref ;
1122};
1123#line 67
1124struct dma_map_ops;
1125#line 67 "include/linux/klist.h"
1126struct dev_archdata {
1127 void *acpi_handle ;
1128 struct dma_map_ops *dma_ops ;
1129 void *iommu ;
1130};
1131#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1132struct device_private;
1133#line 17
1134struct device_private;
1135#line 18
1136struct device_driver;
1137#line 18
1138struct device_driver;
1139#line 19
1140struct driver_private;
1141#line 19
1142struct driver_private;
1143#line 20
1144struct class;
1145#line 20
1146struct class;
1147#line 21
1148struct subsys_private;
1149#line 21
1150struct subsys_private;
1151#line 22
1152struct bus_type;
1153#line 22
1154struct bus_type;
1155#line 23
1156struct device_node;
1157#line 23
1158struct device_node;
1159#line 24
1160struct iommu_ops;
1161#line 24
1162struct iommu_ops;
1163#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1164struct bus_attribute {
1165 struct attribute attr ;
1166 ssize_t (*show)(struct bus_type * , char * ) ;
1167 ssize_t (*store)(struct bus_type * , char const * , size_t ) ;
1168};
1169#line 51 "include/linux/device.h"
1170struct device_attribute;
1171#line 51
1172struct driver_attribute;
1173#line 51 "include/linux/device.h"
1174struct bus_type {
1175 char const *name ;
1176 char const *dev_name ;
1177 struct device *dev_root ;
1178 struct bus_attribute *bus_attrs ;
1179 struct device_attribute *dev_attrs ;
1180 struct driver_attribute *drv_attrs ;
1181 int (*match)(struct device * , struct device_driver * ) ;
1182 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1183 int (*probe)(struct device * ) ;
1184 int (*remove)(struct device * ) ;
1185 void (*shutdown)(struct device * ) ;
1186 int (*suspend)(struct device * , pm_message_t ) ;
1187 int (*resume)(struct device * ) ;
1188 struct dev_pm_ops const *pm ;
1189 struct iommu_ops *iommu_ops ;
1190 struct subsys_private *p ;
1191};
1192#line 125
1193struct device_type;
1194#line 182
1195struct of_device_id;
1196#line 182 "include/linux/device.h"
1197struct device_driver {
1198 char const *name ;
1199 struct bus_type *bus ;
1200 struct module *owner ;
1201 char const *mod_name ;
1202 bool suppress_bind_attrs ;
1203 struct of_device_id const *of_match_table ;
1204 int (*probe)(struct device * ) ;
1205 int (*remove)(struct device * ) ;
1206 void (*shutdown)(struct device * ) ;
1207 int (*suspend)(struct device * , pm_message_t ) ;
1208 int (*resume)(struct device * ) ;
1209 struct attribute_group const **groups ;
1210 struct dev_pm_ops const *pm ;
1211 struct driver_private *p ;
1212};
1213#line 245 "include/linux/device.h"
1214struct driver_attribute {
1215 struct attribute attr ;
1216 ssize_t (*show)(struct device_driver * , char * ) ;
1217 ssize_t (*store)(struct device_driver * , char const * , size_t ) ;
1218};
1219#line 299
1220struct class_attribute;
1221#line 299 "include/linux/device.h"
1222struct class {
1223 char const *name ;
1224 struct module *owner ;
1225 struct class_attribute *class_attrs ;
1226 struct device_attribute *dev_attrs ;
1227 struct bin_attribute *dev_bin_attrs ;
1228 struct kobject *dev_kobj ;
1229 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1230 char *(*devnode)(struct device * , umode_t * ) ;
1231 void (*class_release)(struct class * ) ;
1232 void (*dev_release)(struct device * ) ;
1233 int (*suspend)(struct device * , pm_message_t ) ;
1234 int (*resume)(struct device * ) ;
1235 struct kobj_ns_type_operations const *ns_type ;
1236 void const *(*namespace)(struct device * ) ;
1237 struct dev_pm_ops const *pm ;
1238 struct subsys_private *p ;
1239};
1240#line 394 "include/linux/device.h"
1241struct class_attribute {
1242 struct attribute attr ;
1243 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1244 ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ;
1245 void const *(*namespace)(struct class * , struct class_attribute const * ) ;
1246};
1247#line 447 "include/linux/device.h"
1248struct device_type {
1249 char const *name ;
1250 struct attribute_group const **groups ;
1251 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1252 char *(*devnode)(struct device * , umode_t * ) ;
1253 void (*release)(struct device * ) ;
1254 struct dev_pm_ops const *pm ;
1255};
1256#line 474 "include/linux/device.h"
1257struct device_attribute {
1258 struct attribute attr ;
1259 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1260 ssize_t (*store)(struct device * , struct device_attribute * , char const * ,
1261 size_t ) ;
1262};
1263#line 557 "include/linux/device.h"
1264struct device_dma_parameters {
1265 unsigned int max_segment_size ;
1266 unsigned long segment_boundary_mask ;
1267};
1268#line 567
1269struct dma_coherent_mem;
1270#line 567 "include/linux/device.h"
1271struct device {
1272 struct device *parent ;
1273 struct device_private *p ;
1274 struct kobject kobj ;
1275 char const *init_name ;
1276 struct device_type const *type ;
1277 struct mutex mutex ;
1278 struct bus_type *bus ;
1279 struct device_driver *driver ;
1280 void *platform_data ;
1281 struct dev_pm_info power ;
1282 struct dev_pm_domain *pm_domain ;
1283 int numa_node ;
1284 u64 *dma_mask ;
1285 u64 coherent_dma_mask ;
1286 struct device_dma_parameters *dma_parms ;
1287 struct list_head dma_pools ;
1288 struct dma_coherent_mem *dma_mem ;
1289 struct dev_archdata archdata ;
1290 struct device_node *of_node ;
1291 dev_t devt ;
1292 u32 id ;
1293 spinlock_t devres_lock ;
1294 struct list_head devres_head ;
1295 struct klist_node knode_class ;
1296 struct class *class ;
1297 struct attribute_group const **groups ;
1298 void (*release)(struct device * ) ;
1299};
1300#line 681 "include/linux/device.h"
1301struct wakeup_source {
1302 char const *name ;
1303 struct list_head entry ;
1304 spinlock_t lock ;
1305 struct timer_list timer ;
1306 unsigned long timer_expires ;
1307 ktime_t total_time ;
1308 ktime_t max_time ;
1309 ktime_t last_time ;
1310 unsigned long event_count ;
1311 unsigned long active_count ;
1312 unsigned long relax_count ;
1313 unsigned long hit_count ;
1314 unsigned char active : 1 ;
1315};
1316#line 12 "include/linux/mod_devicetable.h"
1317typedef unsigned long kernel_ulong_t;
1318#line 215 "include/linux/mod_devicetable.h"
1319struct of_device_id {
1320 char name[32U] ;
1321 char type[32U] ;
1322 char compatible[128U] ;
1323 void *data ;
1324};
1325#line 435 "include/linux/mod_devicetable.h"
1326struct spi_device_id {
1327 char name[32U] ;
1328 kernel_ulong_t driver_data ;
1329};
1330#line 93 "include/linux/capability.h"
1331struct kernel_cap_struct {
1332 __u32 cap[2U] ;
1333};
1334#line 96 "include/linux/capability.h"
1335typedef struct kernel_cap_struct kernel_cap_t;
1336#line 105
1337struct user_namespace;
1338#line 105
1339struct user_namespace;
1340#line 554
1341struct prio_tree_node;
1342#line 554 "include/linux/capability.h"
1343struct raw_prio_tree_node {
1344 struct prio_tree_node *left ;
1345 struct prio_tree_node *right ;
1346 struct prio_tree_node *parent ;
1347};
1348#line 19 "include/linux/prio_tree.h"
1349struct prio_tree_node {
1350 struct prio_tree_node *left ;
1351 struct prio_tree_node *right ;
1352 struct prio_tree_node *parent ;
1353 unsigned long start ;
1354 unsigned long last ;
1355};
1356#line 116
1357struct address_space;
1358#line 116
1359struct address_space;
1360#line 117 "include/linux/prio_tree.h"
1361union __anonunion_ldv_15299_138 {
1362 unsigned long index ;
1363 void *freelist ;
1364};
1365#line 117 "include/linux/prio_tree.h"
1366struct __anonstruct_ldv_15309_142 {
1367 unsigned short inuse ;
1368 unsigned short objects : 15 ;
1369 unsigned char frozen : 1 ;
1370};
1371#line 117 "include/linux/prio_tree.h"
1372union __anonunion_ldv_15310_141 {
1373 atomic_t _mapcount ;
1374 struct __anonstruct_ldv_15309_142 ldv_15309 ;
1375};
1376#line 117 "include/linux/prio_tree.h"
1377struct __anonstruct_ldv_15312_140 {
1378 union __anonunion_ldv_15310_141 ldv_15310 ;
1379 atomic_t _count ;
1380};
1381#line 117 "include/linux/prio_tree.h"
1382union __anonunion_ldv_15313_139 {
1383 unsigned long counters ;
1384 struct __anonstruct_ldv_15312_140 ldv_15312 ;
1385};
1386#line 117 "include/linux/prio_tree.h"
1387struct __anonstruct_ldv_15314_137 {
1388 union __anonunion_ldv_15299_138 ldv_15299 ;
1389 union __anonunion_ldv_15313_139 ldv_15313 ;
1390};
1391#line 117 "include/linux/prio_tree.h"
1392struct __anonstruct_ldv_15321_144 {
1393 struct page *next ;
1394 int pages ;
1395 int pobjects ;
1396};
1397#line 117 "include/linux/prio_tree.h"
1398union __anonunion_ldv_15322_143 {
1399 struct list_head lru ;
1400 struct __anonstruct_ldv_15321_144 ldv_15321 ;
1401};
1402#line 117 "include/linux/prio_tree.h"
1403union __anonunion_ldv_15327_145 {
1404 unsigned long private ;
1405 struct kmem_cache *slab ;
1406 struct page *first_page ;
1407};
1408#line 117 "include/linux/prio_tree.h"
1409struct page {
1410 unsigned long flags ;
1411 struct address_space *mapping ;
1412 struct __anonstruct_ldv_15314_137 ldv_15314 ;
1413 union __anonunion_ldv_15322_143 ldv_15322 ;
1414 union __anonunion_ldv_15327_145 ldv_15327 ;
1415 unsigned long debug_flags ;
1416};
1417#line 192 "include/linux/mm_types.h"
1418struct __anonstruct_vm_set_147 {
1419 struct list_head list ;
1420 void *parent ;
1421 struct vm_area_struct *head ;
1422};
1423#line 192 "include/linux/mm_types.h"
1424union __anonunion_shared_146 {
1425 struct __anonstruct_vm_set_147 vm_set ;
1426 struct raw_prio_tree_node prio_tree_node ;
1427};
1428#line 192
1429struct anon_vma;
1430#line 192
1431struct vm_operations_struct;
1432#line 192
1433struct mempolicy;
1434#line 192 "include/linux/mm_types.h"
1435struct vm_area_struct {
1436 struct mm_struct *vm_mm ;
1437 unsigned long vm_start ;
1438 unsigned long vm_end ;
1439 struct vm_area_struct *vm_next ;
1440 struct vm_area_struct *vm_prev ;
1441 pgprot_t vm_page_prot ;
1442 unsigned long vm_flags ;
1443 struct rb_node vm_rb ;
1444 union __anonunion_shared_146 shared ;
1445 struct list_head anon_vma_chain ;
1446 struct anon_vma *anon_vma ;
1447 struct vm_operations_struct const *vm_ops ;
1448 unsigned long vm_pgoff ;
1449 struct file *vm_file ;
1450 void *vm_private_data ;
1451 struct mempolicy *vm_policy ;
1452};
1453#line 255 "include/linux/mm_types.h"
1454struct core_thread {
1455 struct task_struct *task ;
1456 struct core_thread *next ;
1457};
1458#line 261 "include/linux/mm_types.h"
1459struct core_state {
1460 atomic_t nr_threads ;
1461 struct core_thread dumper ;
1462 struct completion startup ;
1463};
1464#line 274 "include/linux/mm_types.h"
1465struct mm_rss_stat {
1466 atomic_long_t count[3U] ;
1467};
1468#line 287
1469struct linux_binfmt;
1470#line 287
1471struct mmu_notifier_mm;
1472#line 287 "include/linux/mm_types.h"
1473struct mm_struct {
1474 struct vm_area_struct *mmap ;
1475 struct rb_root mm_rb ;
1476 struct vm_area_struct *mmap_cache ;
1477 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1478 unsigned long , unsigned long ) ;
1479 void (*unmap_area)(struct mm_struct * , unsigned long ) ;
1480 unsigned long mmap_base ;
1481 unsigned long task_size ;
1482 unsigned long cached_hole_size ;
1483 unsigned long free_area_cache ;
1484 pgd_t *pgd ;
1485 atomic_t mm_users ;
1486 atomic_t mm_count ;
1487 int map_count ;
1488 spinlock_t page_table_lock ;
1489 struct rw_semaphore mmap_sem ;
1490 struct list_head mmlist ;
1491 unsigned long hiwater_rss ;
1492 unsigned long hiwater_vm ;
1493 unsigned long total_vm ;
1494 unsigned long locked_vm ;
1495 unsigned long pinned_vm ;
1496 unsigned long shared_vm ;
1497 unsigned long exec_vm ;
1498 unsigned long stack_vm ;
1499 unsigned long reserved_vm ;
1500 unsigned long def_flags ;
1501 unsigned long nr_ptes ;
1502 unsigned long start_code ;
1503 unsigned long end_code ;
1504 unsigned long start_data ;
1505 unsigned long end_data ;
1506 unsigned long start_brk ;
1507 unsigned long brk ;
1508 unsigned long start_stack ;
1509 unsigned long arg_start ;
1510 unsigned long arg_end ;
1511 unsigned long env_start ;
1512 unsigned long env_end ;
1513 unsigned long saved_auxv[44U] ;
1514 struct mm_rss_stat rss_stat ;
1515 struct linux_binfmt *binfmt ;
1516 cpumask_var_t cpu_vm_mask_var ;
1517 mm_context_t context ;
1518 unsigned int faultstamp ;
1519 unsigned int token_priority ;
1520 unsigned int last_interval ;
1521 unsigned long flags ;
1522 struct core_state *core_state ;
1523 spinlock_t ioctx_lock ;
1524 struct hlist_head ioctx_list ;
1525 struct task_struct *owner ;
1526 struct file *exe_file ;
1527 unsigned long num_exe_file_vmas ;
1528 struct mmu_notifier_mm *mmu_notifier_mm ;
1529 pgtable_t pmd_huge_pte ;
1530 struct cpumask cpumask_allocation ;
1531};
1532#line 7 "include/asm-generic/cputime.h"
1533typedef unsigned long cputime_t;
1534#line 98 "include/linux/sem.h"
1535struct sem_undo_list;
1536#line 98 "include/linux/sem.h"
1537struct sysv_sem {
1538 struct sem_undo_list *undo_list ;
1539};
1540#line 107
1541struct siginfo;
1542#line 107
1543struct siginfo;
1544#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1545struct __anonstruct_sigset_t_148 {
1546 unsigned long sig[1U] ;
1547};
1548#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1549typedef struct __anonstruct_sigset_t_148 sigset_t;
1550#line 17 "include/asm-generic/signal-defs.h"
1551typedef void __signalfn_t(int );
1552#line 18 "include/asm-generic/signal-defs.h"
1553typedef __signalfn_t *__sighandler_t;
1554#line 20 "include/asm-generic/signal-defs.h"
1555typedef void __restorefn_t(void);
1556#line 21 "include/asm-generic/signal-defs.h"
1557typedef __restorefn_t *__sigrestore_t;
1558#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1559struct sigaction {
1560 __sighandler_t sa_handler ;
1561 unsigned long sa_flags ;
1562 __sigrestore_t sa_restorer ;
1563 sigset_t sa_mask ;
1564};
1565#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1566struct k_sigaction {
1567 struct sigaction sa ;
1568};
1569#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1570union sigval {
1571 int sival_int ;
1572 void *sival_ptr ;
1573};
1574#line 10 "include/asm-generic/siginfo.h"
1575typedef union sigval sigval_t;
1576#line 11 "include/asm-generic/siginfo.h"
1577struct __anonstruct__kill_150 {
1578 __kernel_pid_t _pid ;
1579 __kernel_uid32_t _uid ;
1580};
1581#line 11 "include/asm-generic/siginfo.h"
1582struct __anonstruct__timer_151 {
1583 __kernel_timer_t _tid ;
1584 int _overrun ;
1585 char _pad[0U] ;
1586 sigval_t _sigval ;
1587 int _sys_private ;
1588};
1589#line 11 "include/asm-generic/siginfo.h"
1590struct __anonstruct__rt_152 {
1591 __kernel_pid_t _pid ;
1592 __kernel_uid32_t _uid ;
1593 sigval_t _sigval ;
1594};
1595#line 11 "include/asm-generic/siginfo.h"
1596struct __anonstruct__sigchld_153 {
1597 __kernel_pid_t _pid ;
1598 __kernel_uid32_t _uid ;
1599 int _status ;
1600 __kernel_clock_t _utime ;
1601 __kernel_clock_t _stime ;
1602};
1603#line 11 "include/asm-generic/siginfo.h"
1604struct __anonstruct__sigfault_154 {
1605 void *_addr ;
1606 short _addr_lsb ;
1607};
1608#line 11 "include/asm-generic/siginfo.h"
1609struct __anonstruct__sigpoll_155 {
1610 long _band ;
1611 int _fd ;
1612};
1613#line 11 "include/asm-generic/siginfo.h"
1614union __anonunion__sifields_149 {
1615 int _pad[28U] ;
1616 struct __anonstruct__kill_150 _kill ;
1617 struct __anonstruct__timer_151 _timer ;
1618 struct __anonstruct__rt_152 _rt ;
1619 struct __anonstruct__sigchld_153 _sigchld ;
1620 struct __anonstruct__sigfault_154 _sigfault ;
1621 struct __anonstruct__sigpoll_155 _sigpoll ;
1622};
1623#line 11 "include/asm-generic/siginfo.h"
1624struct siginfo {
1625 int si_signo ;
1626 int si_errno ;
1627 int si_code ;
1628 union __anonunion__sifields_149 _sifields ;
1629};
1630#line 102 "include/asm-generic/siginfo.h"
1631typedef struct siginfo siginfo_t;
1632#line 14 "include/linux/signal.h"
1633struct user_struct;
1634#line 24 "include/linux/signal.h"
1635struct sigpending {
1636 struct list_head list ;
1637 sigset_t signal ;
1638};
1639#line 395
1640struct pid_namespace;
1641#line 395 "include/linux/signal.h"
1642struct upid {
1643 int nr ;
1644 struct pid_namespace *ns ;
1645 struct hlist_node pid_chain ;
1646};
1647#line 56 "include/linux/pid.h"
1648struct pid {
1649 atomic_t count ;
1650 unsigned int level ;
1651 struct hlist_head tasks[3U] ;
1652 struct rcu_head rcu ;
1653 struct upid numbers[1U] ;
1654};
1655#line 68 "include/linux/pid.h"
1656struct pid_link {
1657 struct hlist_node node ;
1658 struct pid *pid ;
1659};
1660#line 10 "include/linux/seccomp.h"
1661struct __anonstruct_seccomp_t_158 {
1662 int mode ;
1663};
1664#line 10 "include/linux/seccomp.h"
1665typedef struct __anonstruct_seccomp_t_158 seccomp_t;
1666#line 427 "include/linux/rculist.h"
1667struct plist_head {
1668 struct list_head node_list ;
1669};
1670#line 84 "include/linux/plist.h"
1671struct plist_node {
1672 int prio ;
1673 struct list_head prio_list ;
1674 struct list_head node_list ;
1675};
1676#line 38 "include/linux/rtmutex.h"
1677struct rt_mutex_waiter;
1678#line 38
1679struct rt_mutex_waiter;
1680#line 41 "include/linux/resource.h"
1681struct rlimit {
1682 unsigned long rlim_cur ;
1683 unsigned long rlim_max ;
1684};
1685#line 85 "include/linux/resource.h"
1686struct timerqueue_node {
1687 struct rb_node node ;
1688 ktime_t expires ;
1689};
1690#line 12 "include/linux/timerqueue.h"
1691struct timerqueue_head {
1692 struct rb_root head ;
1693 struct timerqueue_node *next ;
1694};
1695#line 50
1696struct hrtimer_clock_base;
1697#line 50
1698struct hrtimer_clock_base;
1699#line 51
1700struct hrtimer_cpu_base;
1701#line 51
1702struct hrtimer_cpu_base;
1703#line 60
1704enum hrtimer_restart {
1705 HRTIMER_NORESTART = 0,
1706 HRTIMER_RESTART = 1
1707} ;
1708#line 65 "include/linux/timerqueue.h"
1709struct hrtimer {
1710 struct timerqueue_node node ;
1711 ktime_t _softexpires ;
1712 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1713 struct hrtimer_clock_base *base ;
1714 unsigned long state ;
1715 int start_pid ;
1716 void *start_site ;
1717 char start_comm[16U] ;
1718};
1719#line 132 "include/linux/hrtimer.h"
1720struct hrtimer_clock_base {
1721 struct hrtimer_cpu_base *cpu_base ;
1722 int index ;
1723 clockid_t clockid ;
1724 struct timerqueue_head active ;
1725 ktime_t resolution ;
1726 ktime_t (*get_time)(void) ;
1727 ktime_t softirq_time ;
1728 ktime_t offset ;
1729};
1730#line 162 "include/linux/hrtimer.h"
1731struct hrtimer_cpu_base {
1732 raw_spinlock_t lock ;
1733 unsigned long active_bases ;
1734 ktime_t expires_next ;
1735 int hres_active ;
1736 int hang_detected ;
1737 unsigned long nr_events ;
1738 unsigned long nr_retries ;
1739 unsigned long nr_hangs ;
1740 ktime_t max_hang_time ;
1741 struct hrtimer_clock_base clock_base[3U] ;
1742};
1743#line 452 "include/linux/hrtimer.h"
1744struct task_io_accounting {
1745 u64 rchar ;
1746 u64 wchar ;
1747 u64 syscr ;
1748 u64 syscw ;
1749 u64 read_bytes ;
1750 u64 write_bytes ;
1751 u64 cancelled_write_bytes ;
1752};
1753#line 45 "include/linux/task_io_accounting.h"
1754struct latency_record {
1755 unsigned long backtrace[12U] ;
1756 unsigned int count ;
1757 unsigned long time ;
1758 unsigned long max ;
1759};
1760#line 29 "include/linux/key.h"
1761typedef int32_t key_serial_t;
1762#line 32 "include/linux/key.h"
1763typedef uint32_t key_perm_t;
1764#line 33
1765struct key;
1766#line 33
1767struct key;
1768#line 34
1769struct signal_struct;
1770#line 34
1771struct signal_struct;
1772#line 35
1773struct key_type;
1774#line 35
1775struct key_type;
1776#line 37
1777struct keyring_list;
1778#line 37
1779struct keyring_list;
1780#line 115
1781struct key_user;
1782#line 115 "include/linux/key.h"
1783union __anonunion_ldv_16563_159 {
1784 time_t expiry ;
1785 time_t revoked_at ;
1786};
1787#line 115 "include/linux/key.h"
1788union __anonunion_type_data_160 {
1789 struct list_head link ;
1790 unsigned long x[2U] ;
1791 void *p[2U] ;
1792 int reject_error ;
1793};
1794#line 115 "include/linux/key.h"
1795union __anonunion_payload_161 {
1796 unsigned long value ;
1797 void *rcudata ;
1798 void *data ;
1799 struct keyring_list *subscriptions ;
1800};
1801#line 115 "include/linux/key.h"
1802struct key {
1803 atomic_t usage ;
1804 key_serial_t serial ;
1805 struct rb_node serial_node ;
1806 struct key_type *type ;
1807 struct rw_semaphore sem ;
1808 struct key_user *user ;
1809 void *security ;
1810 union __anonunion_ldv_16563_159 ldv_16563 ;
1811 uid_t uid ;
1812 gid_t gid ;
1813 key_perm_t perm ;
1814 unsigned short quotalen ;
1815 unsigned short datalen ;
1816 unsigned long flags ;
1817 char *description ;
1818 union __anonunion_type_data_160 type_data ;
1819 union __anonunion_payload_161 payload ;
1820};
1821#line 316
1822struct audit_context;
1823#line 316
1824struct audit_context;
1825#line 28 "include/linux/selinux.h"
1826struct group_info {
1827 atomic_t usage ;
1828 int ngroups ;
1829 int nblocks ;
1830 gid_t small_block[32U] ;
1831 gid_t *blocks[0U] ;
1832};
1833#line 77 "include/linux/cred.h"
1834struct thread_group_cred {
1835 atomic_t usage ;
1836 pid_t tgid ;
1837 spinlock_t lock ;
1838 struct key *session_keyring ;
1839 struct key *process_keyring ;
1840 struct rcu_head rcu ;
1841};
1842#line 91 "include/linux/cred.h"
1843struct cred {
1844 atomic_t usage ;
1845 atomic_t subscribers ;
1846 void *put_addr ;
1847 unsigned int magic ;
1848 uid_t uid ;
1849 gid_t gid ;
1850 uid_t suid ;
1851 gid_t sgid ;
1852 uid_t euid ;
1853 gid_t egid ;
1854 uid_t fsuid ;
1855 gid_t fsgid ;
1856 unsigned int securebits ;
1857 kernel_cap_t cap_inheritable ;
1858 kernel_cap_t cap_permitted ;
1859 kernel_cap_t cap_effective ;
1860 kernel_cap_t cap_bset ;
1861 unsigned char jit_keyring ;
1862 struct key *thread_keyring ;
1863 struct key *request_key_auth ;
1864 struct thread_group_cred *tgcred ;
1865 void *security ;
1866 struct user_struct *user ;
1867 struct user_namespace *user_ns ;
1868 struct group_info *group_info ;
1869 struct rcu_head rcu ;
1870};
1871#line 264
1872struct llist_node;
1873#line 64 "include/linux/llist.h"
1874struct llist_node {
1875 struct llist_node *next ;
1876};
1877#line 185
1878struct futex_pi_state;
1879#line 185
1880struct futex_pi_state;
1881#line 186
1882struct robust_list_head;
1883#line 186
1884struct robust_list_head;
1885#line 187
1886struct bio_list;
1887#line 187
1888struct bio_list;
1889#line 188
1890struct fs_struct;
1891#line 188
1892struct fs_struct;
1893#line 189
1894struct perf_event_context;
1895#line 189
1896struct perf_event_context;
1897#line 190
1898struct blk_plug;
1899#line 190
1900struct blk_plug;
1901#line 149 "include/linux/sched.h"
1902struct cfs_rq;
1903#line 149
1904struct cfs_rq;
1905#line 406 "include/linux/sched.h"
1906struct sighand_struct {
1907 atomic_t count ;
1908 struct k_sigaction action[64U] ;
1909 spinlock_t siglock ;
1910 wait_queue_head_t signalfd_wqh ;
1911};
1912#line 449 "include/linux/sched.h"
1913struct pacct_struct {
1914 int ac_flag ;
1915 long ac_exitcode ;
1916 unsigned long ac_mem ;
1917 cputime_t ac_utime ;
1918 cputime_t ac_stime ;
1919 unsigned long ac_minflt ;
1920 unsigned long ac_majflt ;
1921};
1922#line 457 "include/linux/sched.h"
1923struct cpu_itimer {
1924 cputime_t expires ;
1925 cputime_t incr ;
1926 u32 error ;
1927 u32 incr_error ;
1928};
1929#line 464 "include/linux/sched.h"
1930struct task_cputime {
1931 cputime_t utime ;
1932 cputime_t stime ;
1933 unsigned long long sum_exec_runtime ;
1934};
1935#line 481 "include/linux/sched.h"
1936struct thread_group_cputimer {
1937 struct task_cputime cputime ;
1938 int running ;
1939 raw_spinlock_t lock ;
1940};
1941#line 517
1942struct autogroup;
1943#line 517
1944struct autogroup;
1945#line 518
1946struct tty_struct;
1947#line 518
1948struct taskstats;
1949#line 518
1950struct tty_audit_buf;
1951#line 518 "include/linux/sched.h"
1952struct signal_struct {
1953 atomic_t sigcnt ;
1954 atomic_t live ;
1955 int nr_threads ;
1956 wait_queue_head_t wait_chldexit ;
1957 struct task_struct *curr_target ;
1958 struct sigpending shared_pending ;
1959 int group_exit_code ;
1960 int notify_count ;
1961 struct task_struct *group_exit_task ;
1962 int group_stop_count ;
1963 unsigned int flags ;
1964 unsigned char is_child_subreaper : 1 ;
1965 unsigned char has_child_subreaper : 1 ;
1966 struct list_head posix_timers ;
1967 struct hrtimer real_timer ;
1968 struct pid *leader_pid ;
1969 ktime_t it_real_incr ;
1970 struct cpu_itimer it[2U] ;
1971 struct thread_group_cputimer cputimer ;
1972 struct task_cputime cputime_expires ;
1973 struct list_head cpu_timers[3U] ;
1974 struct pid *tty_old_pgrp ;
1975 int leader ;
1976 struct tty_struct *tty ;
1977 struct autogroup *autogroup ;
1978 cputime_t utime ;
1979 cputime_t stime ;
1980 cputime_t cutime ;
1981 cputime_t cstime ;
1982 cputime_t gtime ;
1983 cputime_t cgtime ;
1984 cputime_t prev_utime ;
1985 cputime_t prev_stime ;
1986 unsigned long nvcsw ;
1987 unsigned long nivcsw ;
1988 unsigned long cnvcsw ;
1989 unsigned long cnivcsw ;
1990 unsigned long min_flt ;
1991 unsigned long maj_flt ;
1992 unsigned long cmin_flt ;
1993 unsigned long cmaj_flt ;
1994 unsigned long inblock ;
1995 unsigned long oublock ;
1996 unsigned long cinblock ;
1997 unsigned long coublock ;
1998 unsigned long maxrss ;
1999 unsigned long cmaxrss ;
2000 struct task_io_accounting ioac ;
2001 unsigned long long sum_sched_runtime ;
2002 struct rlimit rlim[16U] ;
2003 struct pacct_struct pacct ;
2004 struct taskstats *stats ;
2005 unsigned int audit_tty ;
2006 struct tty_audit_buf *tty_audit_buf ;
2007 struct rw_semaphore group_rwsem ;
2008 int oom_adj ;
2009 int oom_score_adj ;
2010 int oom_score_adj_min ;
2011 struct mutex cred_guard_mutex ;
2012};
2013#line 699 "include/linux/sched.h"
2014struct user_struct {
2015 atomic_t __count ;
2016 atomic_t processes ;
2017 atomic_t files ;
2018 atomic_t sigpending ;
2019 atomic_t inotify_watches ;
2020 atomic_t inotify_devs ;
2021 atomic_t fanotify_listeners ;
2022 atomic_long_t epoll_watches ;
2023 unsigned long mq_bytes ;
2024 unsigned long locked_shm ;
2025 struct key *uid_keyring ;
2026 struct key *session_keyring ;
2027 struct hlist_node uidhash_node ;
2028 uid_t uid ;
2029 struct user_namespace *user_ns ;
2030 atomic_long_t locked_vm ;
2031};
2032#line 744
2033struct backing_dev_info;
2034#line 744
2035struct backing_dev_info;
2036#line 745
2037struct reclaim_state;
2038#line 745
2039struct reclaim_state;
2040#line 746 "include/linux/sched.h"
2041struct sched_info {
2042 unsigned long pcount ;
2043 unsigned long long run_delay ;
2044 unsigned long long last_arrival ;
2045 unsigned long long last_queued ;
2046};
2047#line 760 "include/linux/sched.h"
2048struct task_delay_info {
2049 spinlock_t lock ;
2050 unsigned int flags ;
2051 struct timespec blkio_start ;
2052 struct timespec blkio_end ;
2053 u64 blkio_delay ;
2054 u64 swapin_delay ;
2055 u32 blkio_count ;
2056 u32 swapin_count ;
2057 struct timespec freepages_start ;
2058 struct timespec freepages_end ;
2059 u64 freepages_delay ;
2060 u32 freepages_count ;
2061};
2062#line 1069
2063struct io_context;
2064#line 1069
2065struct io_context;
2066#line 1097
2067struct pipe_inode_info;
2068#line 1097
2069struct pipe_inode_info;
2070#line 1099
2071struct rq;
2072#line 1099
2073struct rq;
2074#line 1100 "include/linux/sched.h"
2075struct sched_class {
2076 struct sched_class const *next ;
2077 void (*enqueue_task)(struct rq * , struct task_struct * , int ) ;
2078 void (*dequeue_task)(struct rq * , struct task_struct * , int ) ;
2079 void (*yield_task)(struct rq * ) ;
2080 bool (*yield_to_task)(struct rq * , struct task_struct * , bool ) ;
2081 void (*check_preempt_curr)(struct rq * , struct task_struct * , int ) ;
2082 struct task_struct *(*pick_next_task)(struct rq * ) ;
2083 void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2084 int (*select_task_rq)(struct task_struct * , int , int ) ;
2085 void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2086 void (*post_schedule)(struct rq * ) ;
2087 void (*task_waking)(struct task_struct * ) ;
2088 void (*task_woken)(struct rq * , struct task_struct * ) ;
2089 void (*set_cpus_allowed)(struct task_struct * , struct cpumask const * ) ;
2090 void (*rq_online)(struct rq * ) ;
2091 void (*rq_offline)(struct rq * ) ;
2092 void (*set_curr_task)(struct rq * ) ;
2093 void (*task_tick)(struct rq * , struct task_struct * , int ) ;
2094 void (*task_fork)(struct task_struct * ) ;
2095 void (*switched_from)(struct rq * , struct task_struct * ) ;
2096 void (*switched_to)(struct rq * , struct task_struct * ) ;
2097 void (*prio_changed)(struct rq * , struct task_struct * , int ) ;
2098 unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2099 void (*task_move_group)(struct task_struct * , int ) ;
2100};
2101#line 1165 "include/linux/sched.h"
2102struct load_weight {
2103 unsigned long weight ;
2104 unsigned long inv_weight ;
2105};
2106#line 1170 "include/linux/sched.h"
2107struct sched_statistics {
2108 u64 wait_start ;
2109 u64 wait_max ;
2110 u64 wait_count ;
2111 u64 wait_sum ;
2112 u64 iowait_count ;
2113 u64 iowait_sum ;
2114 u64 sleep_start ;
2115 u64 sleep_max ;
2116 s64 sum_sleep_runtime ;
2117 u64 block_start ;
2118 u64 block_max ;
2119 u64 exec_max ;
2120 u64 slice_max ;
2121 u64 nr_migrations_cold ;
2122 u64 nr_failed_migrations_affine ;
2123 u64 nr_failed_migrations_running ;
2124 u64 nr_failed_migrations_hot ;
2125 u64 nr_forced_migrations ;
2126 u64 nr_wakeups ;
2127 u64 nr_wakeups_sync ;
2128 u64 nr_wakeups_migrate ;
2129 u64 nr_wakeups_local ;
2130 u64 nr_wakeups_remote ;
2131 u64 nr_wakeups_affine ;
2132 u64 nr_wakeups_affine_attempts ;
2133 u64 nr_wakeups_passive ;
2134 u64 nr_wakeups_idle ;
2135};
2136#line 1205 "include/linux/sched.h"
2137struct sched_entity {
2138 struct load_weight load ;
2139 struct rb_node run_node ;
2140 struct list_head group_node ;
2141 unsigned int on_rq ;
2142 u64 exec_start ;
2143 u64 sum_exec_runtime ;
2144 u64 vruntime ;
2145 u64 prev_sum_exec_runtime ;
2146 u64 nr_migrations ;
2147 struct sched_statistics statistics ;
2148 struct sched_entity *parent ;
2149 struct cfs_rq *cfs_rq ;
2150 struct cfs_rq *my_q ;
2151};
2152#line 1231
2153struct rt_rq;
2154#line 1231 "include/linux/sched.h"
2155struct sched_rt_entity {
2156 struct list_head run_list ;
2157 unsigned long timeout ;
2158 unsigned int time_slice ;
2159 int nr_cpus_allowed ;
2160 struct sched_rt_entity *back ;
2161 struct sched_rt_entity *parent ;
2162 struct rt_rq *rt_rq ;
2163 struct rt_rq *my_q ;
2164};
2165#line 1255
2166struct mem_cgroup;
2167#line 1255 "include/linux/sched.h"
2168struct memcg_batch_info {
2169 int do_batch ;
2170 struct mem_cgroup *memcg ;
2171 unsigned long nr_pages ;
2172 unsigned long memsw_nr_pages ;
2173};
2174#line 1616
2175struct files_struct;
2176#line 1616
2177struct css_set;
2178#line 1616
2179struct compat_robust_list_head;
2180#line 1616 "include/linux/sched.h"
2181struct task_struct {
2182 long volatile state ;
2183 void *stack ;
2184 atomic_t usage ;
2185 unsigned int flags ;
2186 unsigned int ptrace ;
2187 struct llist_node wake_entry ;
2188 int on_cpu ;
2189 int on_rq ;
2190 int prio ;
2191 int static_prio ;
2192 int normal_prio ;
2193 unsigned int rt_priority ;
2194 struct sched_class const *sched_class ;
2195 struct sched_entity se ;
2196 struct sched_rt_entity rt ;
2197 struct hlist_head preempt_notifiers ;
2198 unsigned char fpu_counter ;
2199 unsigned int policy ;
2200 cpumask_t cpus_allowed ;
2201 struct sched_info sched_info ;
2202 struct list_head tasks ;
2203 struct plist_node pushable_tasks ;
2204 struct mm_struct *mm ;
2205 struct mm_struct *active_mm ;
2206 unsigned char brk_randomized : 1 ;
2207 int exit_state ;
2208 int exit_code ;
2209 int exit_signal ;
2210 int pdeath_signal ;
2211 unsigned int jobctl ;
2212 unsigned int personality ;
2213 unsigned char did_exec : 1 ;
2214 unsigned char in_execve : 1 ;
2215 unsigned char in_iowait : 1 ;
2216 unsigned char sched_reset_on_fork : 1 ;
2217 unsigned char sched_contributes_to_load : 1 ;
2218 unsigned char irq_thread : 1 ;
2219 pid_t pid ;
2220 pid_t tgid ;
2221 unsigned long stack_canary ;
2222 struct task_struct *real_parent ;
2223 struct task_struct *parent ;
2224 struct list_head children ;
2225 struct list_head sibling ;
2226 struct task_struct *group_leader ;
2227 struct list_head ptraced ;
2228 struct list_head ptrace_entry ;
2229 struct pid_link pids[3U] ;
2230 struct list_head thread_group ;
2231 struct completion *vfork_done ;
2232 int *set_child_tid ;
2233 int *clear_child_tid ;
2234 cputime_t utime ;
2235 cputime_t stime ;
2236 cputime_t utimescaled ;
2237 cputime_t stimescaled ;
2238 cputime_t gtime ;
2239 cputime_t prev_utime ;
2240 cputime_t prev_stime ;
2241 unsigned long nvcsw ;
2242 unsigned long nivcsw ;
2243 struct timespec start_time ;
2244 struct timespec real_start_time ;
2245 unsigned long min_flt ;
2246 unsigned long maj_flt ;
2247 struct task_cputime cputime_expires ;
2248 struct list_head cpu_timers[3U] ;
2249 struct cred const *real_cred ;
2250 struct cred const *cred ;
2251 struct cred *replacement_session_keyring ;
2252 char comm[16U] ;
2253 int link_count ;
2254 int total_link_count ;
2255 struct sysv_sem sysvsem ;
2256 unsigned long last_switch_count ;
2257 struct thread_struct thread ;
2258 struct fs_struct *fs ;
2259 struct files_struct *files ;
2260 struct nsproxy *nsproxy ;
2261 struct signal_struct *signal ;
2262 struct sighand_struct *sighand ;
2263 sigset_t blocked ;
2264 sigset_t real_blocked ;
2265 sigset_t saved_sigmask ;
2266 struct sigpending pending ;
2267 unsigned long sas_ss_sp ;
2268 size_t sas_ss_size ;
2269 int (*notifier)(void * ) ;
2270 void *notifier_data ;
2271 sigset_t *notifier_mask ;
2272 struct audit_context *audit_context ;
2273 uid_t loginuid ;
2274 unsigned int sessionid ;
2275 seccomp_t seccomp ;
2276 u32 parent_exec_id ;
2277 u32 self_exec_id ;
2278 spinlock_t alloc_lock ;
2279 raw_spinlock_t pi_lock ;
2280 struct plist_head pi_waiters ;
2281 struct rt_mutex_waiter *pi_blocked_on ;
2282 struct mutex_waiter *blocked_on ;
2283 unsigned int irq_events ;
2284 unsigned long hardirq_enable_ip ;
2285 unsigned long hardirq_disable_ip ;
2286 unsigned int hardirq_enable_event ;
2287 unsigned int hardirq_disable_event ;
2288 int hardirqs_enabled ;
2289 int hardirq_context ;
2290 unsigned long softirq_disable_ip ;
2291 unsigned long softirq_enable_ip ;
2292 unsigned int softirq_disable_event ;
2293 unsigned int softirq_enable_event ;
2294 int softirqs_enabled ;
2295 int softirq_context ;
2296 u64 curr_chain_key ;
2297 int lockdep_depth ;
2298 unsigned int lockdep_recursion ;
2299 struct held_lock held_locks[48U] ;
2300 gfp_t lockdep_reclaim_gfp ;
2301 void *journal_info ;
2302 struct bio_list *bio_list ;
2303 struct blk_plug *plug ;
2304 struct reclaim_state *reclaim_state ;
2305 struct backing_dev_info *backing_dev_info ;
2306 struct io_context *io_context ;
2307 unsigned long ptrace_message ;
2308 siginfo_t *last_siginfo ;
2309 struct task_io_accounting ioac ;
2310 u64 acct_rss_mem1 ;
2311 u64 acct_vm_mem1 ;
2312 cputime_t acct_timexpd ;
2313 nodemask_t mems_allowed ;
2314 seqcount_t mems_allowed_seq ;
2315 int cpuset_mem_spread_rotor ;
2316 int cpuset_slab_spread_rotor ;
2317 struct css_set *cgroups ;
2318 struct list_head cg_list ;
2319 struct robust_list_head *robust_list ;
2320 struct compat_robust_list_head *compat_robust_list ;
2321 struct list_head pi_state_list ;
2322 struct futex_pi_state *pi_state_cache ;
2323 struct perf_event_context *perf_event_ctxp[2U] ;
2324 struct mutex perf_event_mutex ;
2325 struct list_head perf_event_list ;
2326 struct mempolicy *mempolicy ;
2327 short il_next ;
2328 short pref_node_fork ;
2329 struct rcu_head rcu ;
2330 struct pipe_inode_info *splice_pipe ;
2331 struct task_delay_info *delays ;
2332 int make_it_fail ;
2333 int nr_dirtied ;
2334 int nr_dirtied_pause ;
2335 unsigned long dirty_paused_when ;
2336 int latency_record_count ;
2337 struct latency_record latency_record[32U] ;
2338 unsigned long timer_slack_ns ;
2339 unsigned long default_timer_slack_ns ;
2340 struct list_head *scm_work_list ;
2341 unsigned long trace ;
2342 unsigned long trace_recursion ;
2343 struct memcg_batch_info memcg_batch ;
2344 atomic_t ptrace_bp_refcnt ;
2345};
2346#line 44 "include/linux/kthread.h"
2347struct kthread_work;
2348#line 44
2349struct kthread_work;
2350#line 57 "include/linux/kthread.h"
2351struct kthread_worker {
2352 spinlock_t lock ;
2353 struct list_head work_list ;
2354 struct task_struct *task ;
2355};
2356#line 63 "include/linux/kthread.h"
2357struct kthread_work {
2358 struct list_head node ;
2359 void (*func)(struct kthread_work * ) ;
2360 wait_queue_head_t done ;
2361 atomic_t flushing ;
2362 int queue_seq ;
2363 int done_seq ;
2364};
2365#line 32 "include/linux/spi/spi.h"
2366struct spi_master;
2367#line 32 "include/linux/spi/spi.h"
2368struct spi_device {
2369 struct device dev ;
2370 struct spi_master *master ;
2371 u32 max_speed_hz ;
2372 u8 chip_select ;
2373 u8 mode ;
2374 u8 bits_per_word ;
2375 int irq ;
2376 void *controller_state ;
2377 void *controller_data ;
2378 char modalias[32U] ;
2379};
2380#line 144
2381struct spi_message;
2382#line 144
2383struct spi_message;
2384#line 145 "include/linux/spi/spi.h"
2385struct spi_driver {
2386 struct spi_device_id const *id_table ;
2387 int (*probe)(struct spi_device * ) ;
2388 int (*remove)(struct spi_device * ) ;
2389 void (*shutdown)(struct spi_device * ) ;
2390 int (*suspend)(struct spi_device * , pm_message_t ) ;
2391 int (*resume)(struct spi_device * ) ;
2392 struct device_driver driver ;
2393};
2394#line 203 "include/linux/spi/spi.h"
2395struct spi_master {
2396 struct device dev ;
2397 struct list_head list ;
2398 s16 bus_num ;
2399 u16 num_chipselect ;
2400 u16 dma_alignment ;
2401 u16 mode_bits ;
2402 u16 flags ;
2403 spinlock_t bus_lock_spinlock ;
2404 struct mutex bus_lock_mutex ;
2405 bool bus_lock_flag ;
2406 int (*setup)(struct spi_device * ) ;
2407 int (*transfer)(struct spi_device * , struct spi_message * ) ;
2408 void (*cleanup)(struct spi_device * ) ;
2409 bool queued ;
2410 struct kthread_worker kworker ;
2411 struct task_struct *kworker_task ;
2412 struct kthread_work pump_messages ;
2413 spinlock_t queue_lock ;
2414 struct list_head queue ;
2415 struct spi_message *cur_msg ;
2416 bool busy ;
2417 bool running ;
2418 bool rt ;
2419 int (*prepare_transfer_hardware)(struct spi_master * ) ;
2420 int (*transfer_one_message)(struct spi_master * , struct spi_message * ) ;
2421 int (*unprepare_transfer_hardware)(struct spi_master * ) ;
2422};
2423#line 406 "include/linux/spi/spi.h"
2424struct spi_transfer {
2425 void const *tx_buf ;
2426 void *rx_buf ;
2427 unsigned int len ;
2428 dma_addr_t tx_dma ;
2429 dma_addr_t rx_dma ;
2430 unsigned char cs_change : 1 ;
2431 u8 bits_per_word ;
2432 u16 delay_usecs ;
2433 u32 speed_hz ;
2434 struct list_head transfer_list ;
2435};
2436#line 512 "include/linux/spi/spi.h"
2437struct spi_message {
2438 struct list_head transfers ;
2439 struct spi_device *spi ;
2440 unsigned char is_dma_mapped : 1 ;
2441 void (*complete)(void * ) ;
2442 void *context ;
2443 unsigned int actual_length ;
2444 int status ;
2445 struct list_head queue ;
2446 void *state ;
2447};
2448#line 858 "include/linux/spi/spi.h"
2449struct gen_74x164_chip_platform_data {
2450 unsigned int base ;
2451};
2452#line 28 "include/linux/of.h"
2453typedef u32 phandle;
2454#line 30 "include/linux/of.h"
2455struct property {
2456 char *name ;
2457 int length ;
2458 void *value ;
2459 struct property *next ;
2460 unsigned long _flags ;
2461 unsigned int unique_id ;
2462};
2463#line 39
2464struct proc_dir_entry;
2465#line 39 "include/linux/of.h"
2466struct device_node {
2467 char const *name ;
2468 char const *type ;
2469 phandle phandle ;
2470 char *full_name ;
2471 struct property *properties ;
2472 struct property *deadprops ;
2473 struct device_node *parent ;
2474 struct device_node *child ;
2475 struct device_node *sibling ;
2476 struct device_node *next ;
2477 struct device_node *allnext ;
2478 struct proc_dir_entry *pde ;
2479 struct kref kref ;
2480 unsigned long _flags ;
2481 void *data ;
2482};
2483#line 43 "include/asm-generic/gpio.h"
2484struct gpio_chip {
2485 char const *label ;
2486 struct device *dev ;
2487 struct module *owner ;
2488 int (*request)(struct gpio_chip * , unsigned int ) ;
2489 void (*free)(struct gpio_chip * , unsigned int ) ;
2490 int (*direction_input)(struct gpio_chip * , unsigned int ) ;
2491 int (*get)(struct gpio_chip * , unsigned int ) ;
2492 int (*direction_output)(struct gpio_chip * , unsigned int , int ) ;
2493 int (*set_debounce)(struct gpio_chip * , unsigned int , unsigned int ) ;
2494 void (*set)(struct gpio_chip * , unsigned int , int ) ;
2495 int (*to_irq)(struct gpio_chip * , unsigned int ) ;
2496 void (*dbg_show)(struct seq_file * , struct gpio_chip * ) ;
2497 int base ;
2498 u16 ngpio ;
2499 char const * const *names ;
2500 unsigned char can_sleep : 1 ;
2501 unsigned char exported : 1 ;
2502};
2503#line 50 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/gpio.h"
2504struct gen_74x164_chip {
2505 struct spi_device *spi ;
2506 struct gpio_chip gpio_chip ;
2507 struct mutex lock ;
2508 u8 port_config ;
2509};
2510#line 1 "<compiler builtins>"
2511long __builtin_expect(long , long ) ;
2512#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
2513void ldv_spin_lock(void) ;
2514#line 3
2515void ldv_spin_unlock(void) ;
2516#line 4
2517int ldv_spin_trylock(void) ;
2518#line 50 "include/linux/dynamic_debug.h"
2519extern int __dynamic_dev_dbg(struct _ddebug * , struct device const * , char const *
2520 , ...) ;
2521#line 24 "include/linux/list.h"
2522__inline static void INIT_LIST_HEAD(struct list_head *list )
2523{ unsigned long __cil_tmp2 ;
2524 unsigned long __cil_tmp3 ;
2525
2526 {
2527#line 26
2528 *((struct list_head **)list) = list;
2529#line 27
2530 __cil_tmp2 = (unsigned long )list;
2531#line 27
2532 __cil_tmp3 = __cil_tmp2 + 8;
2533#line 27
2534 *((struct list_head **)__cil_tmp3) = list;
2535#line 28
2536 return;
2537}
2538}
2539#line 47
2540extern void __list_add(struct list_head * , struct list_head * , struct list_head * ) ;
2541#line 74 "include/linux/list.h"
2542__inline static void list_add_tail(struct list_head *new , struct list_head *head )
2543{ unsigned long __cil_tmp3 ;
2544 unsigned long __cil_tmp4 ;
2545 struct list_head *__cil_tmp5 ;
2546
2547 {
2548 {
2549#line 76
2550 __cil_tmp3 = (unsigned long )head;
2551#line 76
2552 __cil_tmp4 = __cil_tmp3 + 8;
2553#line 76
2554 __cil_tmp5 = *((struct list_head **)__cil_tmp4);
2555#line 76
2556 __list_add(new, __cil_tmp5, head);
2557 }
2558#line 77
2559 return;
2560}
2561}
2562#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
2563extern void *memset(void * , int , size_t ) ;
2564#line 21 "include/linux/mutex-debug.h"
2565extern void mutex_destroy(struct mutex * ) ;
2566#line 115 "include/linux/mutex.h"
2567extern void __mutex_init(struct mutex * , char const * , struct lock_class_key * ) ;
2568#line 134
2569extern void mutex_lock_nested(struct mutex * , unsigned int ) ;
2570#line 169
2571extern void mutex_unlock(struct mutex * ) ;
2572#line 26 "include/linux/export.h"
2573extern struct module __this_module ;
2574#line 161 "include/linux/slab.h"
2575extern void kfree(void const * ) ;
2576#line 220 "include/linux/slub_def.h"
2577extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
2578#line 223
2579void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2580#line 353 "include/linux/slab.h"
2581__inline static void *kzalloc(size_t size , gfp_t flags ) ;
2582#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
2583extern void *__VERIFIER_nondet_pointer(void) ;
2584#line 11
2585void ldv_check_alloc_flags(gfp_t flags ) ;
2586#line 12
2587void ldv_check_alloc_nonatomic(void) ;
2588#line 14
2589struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2590#line 239 "include/linux/device.h"
2591extern void driver_unregister(struct device_driver * ) ;
2592#line 792
2593extern void *dev_get_drvdata(struct device const * ) ;
2594#line 793
2595extern int dev_set_drvdata(struct device * , void * ) ;
2596#line 892
2597extern int dev_err(struct device const * , char const * , ...) ;
2598#line 191 "include/linux/spi/spi.h"
2599extern int spi_register_driver(struct spi_driver * ) ;
2600#line 198 "include/linux/spi/spi.h"
2601__inline static void spi_unregister_driver(struct spi_driver *sdrv )
2602{ struct spi_driver *__cil_tmp2 ;
2603 unsigned long __cil_tmp3 ;
2604 unsigned long __cil_tmp4 ;
2605 unsigned long __cil_tmp5 ;
2606 unsigned long __cil_tmp6 ;
2607 struct device_driver *__cil_tmp7 ;
2608
2609 {
2610 {
2611#line 200
2612 __cil_tmp2 = (struct spi_driver *)0;
2613#line 200
2614 __cil_tmp3 = (unsigned long )__cil_tmp2;
2615#line 200
2616 __cil_tmp4 = (unsigned long )sdrv;
2617#line 200
2618 if (__cil_tmp4 != __cil_tmp3) {
2619 {
2620#line 201
2621 __cil_tmp5 = (unsigned long )sdrv;
2622#line 201
2623 __cil_tmp6 = __cil_tmp5 + 48;
2624#line 201
2625 __cil_tmp7 = (struct device_driver *)__cil_tmp6;
2626#line 201
2627 driver_unregister(__cil_tmp7);
2628 }
2629 } else {
2630
2631 }
2632 }
2633#line 202
2634 return;
2635}
2636}
2637#line 573 "include/linux/spi/spi.h"
2638__inline static void spi_message_init(struct spi_message *m )
2639{ void *__cil_tmp2 ;
2640 struct list_head *__cil_tmp3 ;
2641
2642 {
2643 {
2644#line 575
2645 __cil_tmp2 = (void *)m;
2646#line 575
2647 memset(__cil_tmp2, 0, 80UL);
2648#line 576
2649 __cil_tmp3 = (struct list_head *)m;
2650#line 576
2651 INIT_LIST_HEAD(__cil_tmp3);
2652 }
2653#line 577
2654 return;
2655}
2656}
2657#line 580 "include/linux/spi/spi.h"
2658__inline static void spi_message_add_tail(struct spi_transfer *t , struct spi_message *m )
2659{ unsigned long __cil_tmp3 ;
2660 unsigned long __cil_tmp4 ;
2661 struct list_head *__cil_tmp5 ;
2662 struct list_head *__cil_tmp6 ;
2663
2664 {
2665 {
2666#line 582
2667 __cil_tmp3 = (unsigned long )t;
2668#line 582
2669 __cil_tmp4 = __cil_tmp3 + 48;
2670#line 582
2671 __cil_tmp5 = (struct list_head *)__cil_tmp4;
2672#line 582
2673 __cil_tmp6 = (struct list_head *)m;
2674#line 582
2675 list_add_tail(__cil_tmp5, __cil_tmp6);
2676 }
2677#line 583
2678 return;
2679}
2680}
2681#line 618
2682extern int spi_setup(struct spi_device * ) ;
2683#line 630
2684extern int spi_sync(struct spi_device * , struct spi_message * ) ;
2685#line 646 "include/linux/spi/spi.h"
2686__inline static int spi_write(struct spi_device *spi , void const *buf , size_t len )
2687{ struct spi_transfer t ;
2688 struct spi_message m ;
2689 int tmp ;
2690 struct spi_transfer *__cil_tmp7 ;
2691 unsigned long __cil_tmp8 ;
2692 unsigned long __cil_tmp9 ;
2693 unsigned long __cil_tmp10 ;
2694 unsigned long __cil_tmp11 ;
2695 unsigned long __cil_tmp12 ;
2696 unsigned long __cil_tmp13 ;
2697 unsigned long __cil_tmp14 ;
2698 unsigned long __cil_tmp15 ;
2699 unsigned long __cil_tmp16 ;
2700 unsigned long __cil_tmp17 ;
2701 unsigned long __cil_tmp18 ;
2702
2703 {
2704 {
2705#line 648
2706 __cil_tmp7 = & t;
2707#line 648
2708 *((void const **)__cil_tmp7) = buf;
2709#line 648
2710 __cil_tmp8 = (unsigned long )(& t) + 8;
2711#line 648
2712 *((void **)__cil_tmp8) = (void *)0;
2713#line 648
2714 __cil_tmp9 = (unsigned long )(& t) + 16;
2715#line 648
2716 *((unsigned int *)__cil_tmp9) = (unsigned int )len;
2717#line 648
2718 __cil_tmp10 = (unsigned long )(& t) + 24;
2719#line 648
2720 *((dma_addr_t *)__cil_tmp10) = 0ULL;
2721#line 648
2722 __cil_tmp11 = (unsigned long )(& t) + 32;
2723#line 648
2724 *((dma_addr_t *)__cil_tmp11) = 0ULL;
2725#line 648
2726 __cil_tmp12 = (unsigned long )(& t) + 40;
2727#line 648
2728 *((unsigned char *)__cil_tmp12) = (unsigned char)0;
2729#line 648
2730 __cil_tmp13 = (unsigned long )(& t) + 41;
2731#line 648
2732 *((u8 *)__cil_tmp13) = (unsigned char)0;
2733#line 648
2734 __cil_tmp14 = (unsigned long )(& t) + 42;
2735#line 648
2736 *((u16 *)__cil_tmp14) = (unsigned short)0;
2737#line 648
2738 __cil_tmp15 = (unsigned long )(& t) + 44;
2739#line 648
2740 *((u32 *)__cil_tmp15) = 0U;
2741#line 648
2742 __cil_tmp16 = (unsigned long )(& t) + 48;
2743#line 648
2744 *((struct list_head **)__cil_tmp16) = (struct list_head *)0;
2745#line 648
2746 __cil_tmp17 = 48 + 8;
2747#line 648
2748 __cil_tmp18 = (unsigned long )(& t) + __cil_tmp17;
2749#line 648
2750 *((struct list_head **)__cil_tmp18) = (struct list_head *)0;
2751#line 654
2752 spi_message_init(& m);
2753#line 655
2754 spi_message_add_tail(& t, & m);
2755#line 656
2756 tmp = spi_sync(spi, & m);
2757 }
2758#line 656
2759 return (tmp);
2760}
2761}
2762#line 143 "include/asm-generic/gpio.h"
2763extern int gpiochip_add(struct gpio_chip * ) ;
2764#line 144
2765extern int gpiochip_remove(struct gpio_chip * ) ;
2766#line 42 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
2767static struct gen_74x164_chip *gpio_to_74x164_chip(struct gpio_chip *gc )
2768{ struct gpio_chip const *__mptr ;
2769 struct gen_74x164_chip *__cil_tmp3 ;
2770
2771 {
2772#line 44
2773 __mptr = (struct gpio_chip const *)gc;
2774 {
2775#line 44
2776 __cil_tmp3 = (struct gen_74x164_chip *)__mptr;
2777#line 44
2778 return (__cil_tmp3 + 0xfffffffffffffff8UL);
2779 }
2780}
2781}
2782#line 47 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
2783static int __gen_74x164_write_config(struct gen_74x164_chip *chip )
2784{ int tmp ;
2785 struct spi_device *__cil_tmp3 ;
2786 unsigned long __cil_tmp4 ;
2787 unsigned long __cil_tmp5 ;
2788 u8 *__cil_tmp6 ;
2789 void const *__cil_tmp7 ;
2790
2791 {
2792 {
2793#line 49
2794 __cil_tmp3 = *((struct spi_device **)chip);
2795#line 49
2796 __cil_tmp4 = (unsigned long )chip;
2797#line 49
2798 __cil_tmp5 = __cil_tmp4 + 296;
2799#line 49
2800 __cil_tmp6 = (u8 *)__cil_tmp5;
2801#line 49
2802 __cil_tmp7 = (void const *)__cil_tmp6;
2803#line 49
2804 tmp = spi_write(__cil_tmp3, __cil_tmp7, 1UL);
2805 }
2806#line 49
2807 return (tmp);
2808}
2809}
2810#line 53 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
2811static int gen_74x164_get_value(struct gpio_chip *gc , unsigned int offset )
2812{ struct gen_74x164_chip *chip ;
2813 struct gen_74x164_chip *tmp ;
2814 int ret ;
2815 unsigned long __cil_tmp6 ;
2816 unsigned long __cil_tmp7 ;
2817 struct mutex *__cil_tmp8 ;
2818 int __cil_tmp9 ;
2819 unsigned long __cil_tmp10 ;
2820 unsigned long __cil_tmp11 ;
2821 u8 __cil_tmp12 ;
2822 int __cil_tmp13 ;
2823 int __cil_tmp14 ;
2824 unsigned long __cil_tmp15 ;
2825 unsigned long __cil_tmp16 ;
2826 struct mutex *__cil_tmp17 ;
2827
2828 {
2829 {
2830#line 55
2831 tmp = gpio_to_74x164_chip(gc);
2832#line 55
2833 chip = tmp;
2834#line 58
2835 __cil_tmp6 = (unsigned long )chip;
2836#line 58
2837 __cil_tmp7 = __cil_tmp6 + 128;
2838#line 58
2839 __cil_tmp8 = (struct mutex *)__cil_tmp7;
2840#line 58
2841 mutex_lock_nested(__cil_tmp8, 0U);
2842#line 59
2843 __cil_tmp9 = (int )offset;
2844#line 59
2845 __cil_tmp10 = (unsigned long )chip;
2846#line 59
2847 __cil_tmp11 = __cil_tmp10 + 296;
2848#line 59
2849 __cil_tmp12 = *((u8 *)__cil_tmp11);
2850#line 59
2851 __cil_tmp13 = (int )__cil_tmp12;
2852#line 59
2853 __cil_tmp14 = __cil_tmp13 >> __cil_tmp9;
2854#line 59
2855 ret = __cil_tmp14 & 1;
2856#line 60
2857 __cil_tmp15 = (unsigned long )chip;
2858#line 60
2859 __cil_tmp16 = __cil_tmp15 + 128;
2860#line 60
2861 __cil_tmp17 = (struct mutex *)__cil_tmp16;
2862#line 60
2863 mutex_unlock(__cil_tmp17);
2864 }
2865#line 62
2866 return (ret);
2867}
2868}
2869#line 65 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
2870static void gen_74x164_set_value(struct gpio_chip *gc , unsigned int offset , int val )
2871{ struct gen_74x164_chip *chip ;
2872 struct gen_74x164_chip *tmp ;
2873 unsigned long __cil_tmp6 ;
2874 unsigned long __cil_tmp7 ;
2875 struct mutex *__cil_tmp8 ;
2876 unsigned long __cil_tmp9 ;
2877 unsigned long __cil_tmp10 ;
2878 int __cil_tmp11 ;
2879 int __cil_tmp12 ;
2880 signed char __cil_tmp13 ;
2881 int __cil_tmp14 ;
2882 unsigned long __cil_tmp15 ;
2883 unsigned long __cil_tmp16 ;
2884 u8 __cil_tmp17 ;
2885 signed char __cil_tmp18 ;
2886 int __cil_tmp19 ;
2887 int __cil_tmp20 ;
2888 unsigned long __cil_tmp21 ;
2889 unsigned long __cil_tmp22 ;
2890 int __cil_tmp23 ;
2891 int __cil_tmp24 ;
2892 signed char __cil_tmp25 ;
2893 int __cil_tmp26 ;
2894 int __cil_tmp27 ;
2895 unsigned long __cil_tmp28 ;
2896 unsigned long __cil_tmp29 ;
2897 u8 __cil_tmp30 ;
2898 signed char __cil_tmp31 ;
2899 int __cil_tmp32 ;
2900 int __cil_tmp33 ;
2901 unsigned long __cil_tmp34 ;
2902 unsigned long __cil_tmp35 ;
2903 struct mutex *__cil_tmp36 ;
2904
2905 {
2906 {
2907#line 68
2908 tmp = gpio_to_74x164_chip(gc);
2909#line 68
2910 chip = tmp;
2911#line 70
2912 __cil_tmp6 = (unsigned long )chip;
2913#line 70
2914 __cil_tmp7 = __cil_tmp6 + 128;
2915#line 70
2916 __cil_tmp8 = (struct mutex *)__cil_tmp7;
2917#line 70
2918 mutex_lock_nested(__cil_tmp8, 0U);
2919 }
2920#line 71
2921 if (val != 0) {
2922#line 72
2923 __cil_tmp9 = (unsigned long )chip;
2924#line 72
2925 __cil_tmp10 = __cil_tmp9 + 296;
2926#line 72
2927 __cil_tmp11 = (int )offset;
2928#line 72
2929 __cil_tmp12 = 1 << __cil_tmp11;
2930#line 72
2931 __cil_tmp13 = (signed char )__cil_tmp12;
2932#line 72
2933 __cil_tmp14 = (int )__cil_tmp13;
2934#line 72
2935 __cil_tmp15 = (unsigned long )chip;
2936#line 72
2937 __cil_tmp16 = __cil_tmp15 + 296;
2938#line 72
2939 __cil_tmp17 = *((u8 *)__cil_tmp16);
2940#line 72
2941 __cil_tmp18 = (signed char )__cil_tmp17;
2942#line 72
2943 __cil_tmp19 = (int )__cil_tmp18;
2944#line 72
2945 __cil_tmp20 = __cil_tmp19 | __cil_tmp14;
2946#line 72
2947 *((u8 *)__cil_tmp10) = (u8 )__cil_tmp20;
2948 } else {
2949#line 74
2950 __cil_tmp21 = (unsigned long )chip;
2951#line 74
2952 __cil_tmp22 = __cil_tmp21 + 296;
2953#line 74
2954 __cil_tmp23 = (int )offset;
2955#line 74
2956 __cil_tmp24 = 1 << __cil_tmp23;
2957#line 74
2958 __cil_tmp25 = (signed char )__cil_tmp24;
2959#line 74
2960 __cil_tmp26 = (int )__cil_tmp25;
2961#line 74
2962 __cil_tmp27 = ~ __cil_tmp26;
2963#line 74
2964 __cil_tmp28 = (unsigned long )chip;
2965#line 74
2966 __cil_tmp29 = __cil_tmp28 + 296;
2967#line 74
2968 __cil_tmp30 = *((u8 *)__cil_tmp29);
2969#line 74
2970 __cil_tmp31 = (signed char )__cil_tmp30;
2971#line 74
2972 __cil_tmp32 = (int )__cil_tmp31;
2973#line 74
2974 __cil_tmp33 = __cil_tmp32 & __cil_tmp27;
2975#line 74
2976 *((u8 *)__cil_tmp22) = (u8 )__cil_tmp33;
2977 }
2978 {
2979#line 76
2980 __gen_74x164_write_config(chip);
2981#line 77
2982 __cil_tmp34 = (unsigned long )chip;
2983#line 77
2984 __cil_tmp35 = __cil_tmp34 + 128;
2985#line 77
2986 __cil_tmp36 = (struct mutex *)__cil_tmp35;
2987#line 77
2988 mutex_unlock(__cil_tmp36);
2989 }
2990#line 78
2991 return;
2992}
2993}
2994#line 80 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
2995static int gen_74x164_direction_output(struct gpio_chip *gc , unsigned int offset ,
2996 int val )
2997{
2998
2999 {
3000 {
3001#line 83
3002 gen_74x164_set_value(gc, offset, val);
3003 }
3004#line 84
3005 return (0);
3006}
3007}
3008#line 87 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
3009static int gen_74x164_probe(struct spi_device *spi )
3010{ struct gen_74x164_chip *chip ;
3011 struct gen_74x164_chip_platform_data *pdata ;
3012 int ret ;
3013 struct _ddebug descriptor ;
3014 long tmp ;
3015 void *tmp___0 ;
3016 struct lock_class_key __key ;
3017 unsigned long __cil_tmp9 ;
3018 unsigned long __cil_tmp10 ;
3019 unsigned long __cil_tmp11 ;
3020 void *__cil_tmp12 ;
3021 struct gen_74x164_chip_platform_data *__cil_tmp13 ;
3022 unsigned long __cil_tmp14 ;
3023 unsigned long __cil_tmp15 ;
3024 unsigned int __cil_tmp16 ;
3025 struct _ddebug *__cil_tmp17 ;
3026 unsigned long __cil_tmp18 ;
3027 unsigned long __cil_tmp19 ;
3028 unsigned long __cil_tmp20 ;
3029 unsigned long __cil_tmp21 ;
3030 unsigned long __cil_tmp22 ;
3031 unsigned long __cil_tmp23 ;
3032 unsigned char __cil_tmp24 ;
3033 long __cil_tmp25 ;
3034 long __cil_tmp26 ;
3035 struct device *__cil_tmp27 ;
3036 struct device const *__cil_tmp28 ;
3037 unsigned long __cil_tmp29 ;
3038 unsigned long __cil_tmp30 ;
3039 struct gen_74x164_chip *__cil_tmp31 ;
3040 unsigned long __cil_tmp32 ;
3041 unsigned long __cil_tmp33 ;
3042 unsigned long __cil_tmp34 ;
3043 unsigned long __cil_tmp35 ;
3044 struct mutex *__cil_tmp36 ;
3045 struct device *__cil_tmp37 ;
3046 void *__cil_tmp38 ;
3047 unsigned long __cil_tmp39 ;
3048 unsigned long __cil_tmp40 ;
3049 unsigned long __cil_tmp41 ;
3050 unsigned long __cil_tmp42 ;
3051 char (*__cil_tmp43)[32U] ;
3052 unsigned long __cil_tmp44 ;
3053 unsigned long __cil_tmp45 ;
3054 unsigned long __cil_tmp46 ;
3055 unsigned long __cil_tmp47 ;
3056 unsigned long __cil_tmp48 ;
3057 unsigned long __cil_tmp49 ;
3058 unsigned long __cil_tmp50 ;
3059 unsigned long __cil_tmp51 ;
3060 unsigned long __cil_tmp52 ;
3061 unsigned long __cil_tmp53 ;
3062 unsigned long __cil_tmp54 ;
3063 unsigned long __cil_tmp55 ;
3064 unsigned int __cil_tmp56 ;
3065 unsigned long __cil_tmp57 ;
3066 unsigned long __cil_tmp58 ;
3067 unsigned long __cil_tmp59 ;
3068 unsigned long __cil_tmp60 ;
3069 unsigned long __cil_tmp61 ;
3070 unsigned long __cil_tmp62 ;
3071 unsigned long __cil_tmp63 ;
3072 unsigned long __cil_tmp64 ;
3073 unsigned long __cil_tmp65 ;
3074 unsigned long __cil_tmp66 ;
3075 unsigned long __cil_tmp67 ;
3076 unsigned long __cil_tmp68 ;
3077 struct device *__cil_tmp69 ;
3078 struct device const *__cil_tmp70 ;
3079 unsigned long __cil_tmp71 ;
3080 unsigned long __cil_tmp72 ;
3081 struct gpio_chip *__cil_tmp73 ;
3082 struct device *__cil_tmp74 ;
3083 void *__cil_tmp75 ;
3084 unsigned long __cil_tmp76 ;
3085 unsigned long __cil_tmp77 ;
3086 struct mutex *__cil_tmp78 ;
3087 void const *__cil_tmp79 ;
3088
3089 {
3090#line 93
3091 __cil_tmp9 = 0 + 280;
3092#line 93
3093 __cil_tmp10 = (unsigned long )spi;
3094#line 93
3095 __cil_tmp11 = __cil_tmp10 + __cil_tmp9;
3096#line 93
3097 __cil_tmp12 = *((void **)__cil_tmp11);
3098#line 93
3099 pdata = (struct gen_74x164_chip_platform_data *)__cil_tmp12;
3100 {
3101#line 94
3102 __cil_tmp13 = (struct gen_74x164_chip_platform_data *)0;
3103#line 94
3104 __cil_tmp14 = (unsigned long )__cil_tmp13;
3105#line 94
3106 __cil_tmp15 = (unsigned long )pdata;
3107#line 94
3108 if (__cil_tmp15 == __cil_tmp14) {
3109#line 94
3110 goto _L;
3111 } else {
3112 {
3113#line 94
3114 __cil_tmp16 = *((unsigned int *)pdata);
3115#line 94
3116 if (__cil_tmp16 == 0U) {
3117 _L:
3118 {
3119#line 95
3120 __cil_tmp17 = & descriptor;
3121#line 95
3122 *((char const **)__cil_tmp17) = "gpio_74x164";
3123#line 95
3124 __cil_tmp18 = (unsigned long )(& descriptor) + 8;
3125#line 95
3126 *((char const **)__cil_tmp18) = "gen_74x164_probe";
3127#line 95
3128 __cil_tmp19 = (unsigned long )(& descriptor) + 16;
3129#line 95
3130 *((char const **)__cil_tmp19) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p";
3131#line 95
3132 __cil_tmp20 = (unsigned long )(& descriptor) + 24;
3133#line 95
3134 *((char const **)__cil_tmp20) = "incorrect or missing platform data\n";
3135#line 95
3136 __cil_tmp21 = (unsigned long )(& descriptor) + 32;
3137#line 95
3138 *((unsigned int *)__cil_tmp21) = 95U;
3139#line 95
3140 __cil_tmp22 = (unsigned long )(& descriptor) + 35;
3141#line 95
3142 *((unsigned char *)__cil_tmp22) = (unsigned char)1;
3143#line 95
3144 __cil_tmp23 = (unsigned long )(& descriptor) + 35;
3145#line 95
3146 __cil_tmp24 = *((unsigned char *)__cil_tmp23);
3147#line 95
3148 __cil_tmp25 = (long )__cil_tmp24;
3149#line 95
3150 __cil_tmp26 = __cil_tmp25 & 1L;
3151#line 95
3152 tmp = __builtin_expect(__cil_tmp26, 0L);
3153 }
3154#line 95
3155 if (tmp != 0L) {
3156 {
3157#line 95
3158 __cil_tmp27 = (struct device *)spi;
3159#line 95
3160 __cil_tmp28 = (struct device const *)__cil_tmp27;
3161#line 95
3162 __dynamic_dev_dbg(& descriptor, __cil_tmp28, "incorrect or missing platform data\n");
3163 }
3164 } else {
3165
3166 }
3167#line 96
3168 return (-22);
3169 } else {
3170
3171 }
3172 }
3173 }
3174 }
3175 {
3176#line 102
3177 __cil_tmp29 = (unsigned long )spi;
3178#line 102
3179 __cil_tmp30 = __cil_tmp29 + 1166;
3180#line 102
3181 *((u8 *)__cil_tmp30) = (u8 )8U;
3182#line 104
3183 ret = spi_setup(spi);
3184 }
3185#line 105
3186 if (ret < 0) {
3187#line 106
3188 return (ret);
3189 } else {
3190
3191 }
3192 {
3193#line 108
3194 tmp___0 = kzalloc(304UL, 208U);
3195#line 108
3196 chip = (struct gen_74x164_chip *)tmp___0;
3197 }
3198 {
3199#line 109
3200 __cil_tmp31 = (struct gen_74x164_chip *)0;
3201#line 109
3202 __cil_tmp32 = (unsigned long )__cil_tmp31;
3203#line 109
3204 __cil_tmp33 = (unsigned long )chip;
3205#line 109
3206 if (__cil_tmp33 == __cil_tmp32) {
3207#line 110
3208 return (-12);
3209 } else {
3210
3211 }
3212 }
3213 {
3214#line 112
3215 __cil_tmp34 = (unsigned long )chip;
3216#line 112
3217 __cil_tmp35 = __cil_tmp34 + 128;
3218#line 112
3219 __cil_tmp36 = (struct mutex *)__cil_tmp35;
3220#line 112
3221 __mutex_init(__cil_tmp36, "&chip->lock", & __key);
3222#line 114
3223 __cil_tmp37 = (struct device *)spi;
3224#line 114
3225 __cil_tmp38 = (void *)chip;
3226#line 114
3227 dev_set_drvdata(__cil_tmp37, __cil_tmp38);
3228#line 116
3229 *((struct spi_device **)chip) = spi;
3230#line 118
3231 __cil_tmp39 = (unsigned long )chip;
3232#line 118
3233 __cil_tmp40 = __cil_tmp39 + 8;
3234#line 118
3235 __cil_tmp41 = (unsigned long )spi;
3236#line 118
3237 __cil_tmp42 = __cil_tmp41 + 1192;
3238#line 118
3239 __cil_tmp43 = (char (*)[32U])__cil_tmp42;
3240#line 118
3241 *((char const **)__cil_tmp40) = (char const *)__cil_tmp43;
3242#line 119
3243 __cil_tmp44 = 8 + 56;
3244#line 119
3245 __cil_tmp45 = (unsigned long )chip;
3246#line 119
3247 __cil_tmp46 = __cil_tmp45 + __cil_tmp44;
3248#line 119
3249 *((int (**)(struct gpio_chip * , unsigned int , int ))__cil_tmp46) = & gen_74x164_direction_output;
3250#line 120
3251 __cil_tmp47 = 8 + 48;
3252#line 120
3253 __cil_tmp48 = (unsigned long )chip;
3254#line 120
3255 __cil_tmp49 = __cil_tmp48 + __cil_tmp47;
3256#line 120
3257 *((int (**)(struct gpio_chip * , unsigned int ))__cil_tmp49) = & gen_74x164_get_value;
3258#line 121
3259 __cil_tmp50 = 8 + 72;
3260#line 121
3261 __cil_tmp51 = (unsigned long )chip;
3262#line 121
3263 __cil_tmp52 = __cil_tmp51 + __cil_tmp50;
3264#line 121
3265 *((void (**)(struct gpio_chip * , unsigned int , int ))__cil_tmp52) = & gen_74x164_set_value;
3266#line 122
3267 __cil_tmp53 = 8 + 96;
3268#line 122
3269 __cil_tmp54 = (unsigned long )chip;
3270#line 122
3271 __cil_tmp55 = __cil_tmp54 + __cil_tmp53;
3272#line 122
3273 __cil_tmp56 = *((unsigned int *)pdata);
3274#line 122
3275 *((int *)__cil_tmp55) = (int )__cil_tmp56;
3276#line 123
3277 __cil_tmp57 = 8 + 100;
3278#line 123
3279 __cil_tmp58 = (unsigned long )chip;
3280#line 123
3281 __cil_tmp59 = __cil_tmp58 + __cil_tmp57;
3282#line 123
3283 *((u16 *)__cil_tmp59) = (u16 )8U;
3284#line 124
3285 __cil_tmp60 = 8 + 112;
3286#line 124
3287 __cil_tmp61 = (unsigned long )chip;
3288#line 124
3289 __cil_tmp62 = __cil_tmp61 + __cil_tmp60;
3290#line 124
3291 *((unsigned char *)__cil_tmp62) = (unsigned char)1;
3292#line 125
3293 __cil_tmp63 = 8 + 8;
3294#line 125
3295 __cil_tmp64 = (unsigned long )chip;
3296#line 125
3297 __cil_tmp65 = __cil_tmp64 + __cil_tmp63;
3298#line 125
3299 *((struct device **)__cil_tmp65) = (struct device *)spi;
3300#line 126
3301 __cil_tmp66 = 8 + 16;
3302#line 126
3303 __cil_tmp67 = (unsigned long )chip;
3304#line 126
3305 __cil_tmp68 = __cil_tmp67 + __cil_tmp66;
3306#line 126
3307 *((struct module **)__cil_tmp68) = & __this_module;
3308#line 128
3309 ret = __gen_74x164_write_config(chip);
3310 }
3311#line 129
3312 if (ret != 0) {
3313 {
3314#line 130
3315 __cil_tmp69 = (struct device *)spi;
3316#line 130
3317 __cil_tmp70 = (struct device const *)__cil_tmp69;
3318#line 130
3319 dev_err(__cil_tmp70, "Failed writing: %d\n", ret);
3320 }
3321#line 131
3322 goto exit_destroy;
3323 } else {
3324
3325 }
3326 {
3327#line 134
3328 __cil_tmp71 = (unsigned long )chip;
3329#line 134
3330 __cil_tmp72 = __cil_tmp71 + 8;
3331#line 134
3332 __cil_tmp73 = (struct gpio_chip *)__cil_tmp72;
3333#line 134
3334 ret = gpiochip_add(__cil_tmp73);
3335 }
3336#line 135
3337 if (ret != 0) {
3338#line 136
3339 goto exit_destroy;
3340 } else {
3341
3342 }
3343#line 138
3344 return (ret);
3345 exit_destroy:
3346 {
3347#line 141
3348 __cil_tmp74 = (struct device *)spi;
3349#line 141
3350 __cil_tmp75 = (void *)0;
3351#line 141
3352 dev_set_drvdata(__cil_tmp74, __cil_tmp75);
3353#line 142
3354 __cil_tmp76 = (unsigned long )chip;
3355#line 142
3356 __cil_tmp77 = __cil_tmp76 + 128;
3357#line 142
3358 __cil_tmp78 = (struct mutex *)__cil_tmp77;
3359#line 142
3360 mutex_destroy(__cil_tmp78);
3361#line 143
3362 __cil_tmp79 = (void const *)chip;
3363#line 143
3364 kfree(__cil_tmp79);
3365 }
3366#line 144
3367 return (ret);
3368}
3369}
3370#line 147 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
3371static int gen_74x164_remove(struct spi_device *spi )
3372{ struct gen_74x164_chip *chip ;
3373 int ret ;
3374 void *tmp ;
3375 struct device *__cil_tmp5 ;
3376 struct device const *__cil_tmp6 ;
3377 struct gen_74x164_chip *__cil_tmp7 ;
3378 unsigned long __cil_tmp8 ;
3379 unsigned long __cil_tmp9 ;
3380 struct device *__cil_tmp10 ;
3381 void *__cil_tmp11 ;
3382 unsigned long __cil_tmp12 ;
3383 unsigned long __cil_tmp13 ;
3384 struct gpio_chip *__cil_tmp14 ;
3385 unsigned long __cil_tmp15 ;
3386 unsigned long __cil_tmp16 ;
3387 struct mutex *__cil_tmp17 ;
3388 void const *__cil_tmp18 ;
3389 struct device *__cil_tmp19 ;
3390 struct device const *__cil_tmp20 ;
3391
3392 {
3393 {
3394#line 152
3395 __cil_tmp5 = (struct device *)spi;
3396#line 152
3397 __cil_tmp6 = (struct device const *)__cil_tmp5;
3398#line 152
3399 tmp = dev_get_drvdata(__cil_tmp6);
3400#line 152
3401 chip = (struct gen_74x164_chip *)tmp;
3402 }
3403 {
3404#line 153
3405 __cil_tmp7 = (struct gen_74x164_chip *)0;
3406#line 153
3407 __cil_tmp8 = (unsigned long )__cil_tmp7;
3408#line 153
3409 __cil_tmp9 = (unsigned long )chip;
3410#line 153
3411 if (__cil_tmp9 == __cil_tmp8) {
3412#line 154
3413 return (-19);
3414 } else {
3415
3416 }
3417 }
3418 {
3419#line 156
3420 __cil_tmp10 = (struct device *)spi;
3421#line 156
3422 __cil_tmp11 = (void *)0;
3423#line 156
3424 dev_set_drvdata(__cil_tmp10, __cil_tmp11);
3425#line 158
3426 __cil_tmp12 = (unsigned long )chip;
3427#line 158
3428 __cil_tmp13 = __cil_tmp12 + 8;
3429#line 158
3430 __cil_tmp14 = (struct gpio_chip *)__cil_tmp13;
3431#line 158
3432 ret = gpiochip_remove(__cil_tmp14);
3433 }
3434#line 159
3435 if (ret == 0) {
3436 {
3437#line 160
3438 __cil_tmp15 = (unsigned long )chip;
3439#line 160
3440 __cil_tmp16 = __cil_tmp15 + 128;
3441#line 160
3442 __cil_tmp17 = (struct mutex *)__cil_tmp16;
3443#line 160
3444 mutex_destroy(__cil_tmp17);
3445#line 161
3446 __cil_tmp18 = (void const *)chip;
3447#line 161
3448 kfree(__cil_tmp18);
3449 }
3450 } else {
3451 {
3452#line 163
3453 __cil_tmp19 = (struct device *)spi;
3454#line 163
3455 __cil_tmp20 = (struct device const *)__cil_tmp19;
3456#line 163
3457 dev_err(__cil_tmp20, "Failed to remove the GPIO controller: %d\n", ret);
3458 }
3459 }
3460#line 166
3461 return (ret);
3462}
3463}
3464#line 169 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
3465static struct spi_driver gen_74x164_driver = {(struct spi_device_id const *)0, & gen_74x164_probe, & gen_74x164_remove, (void (*)(struct spi_device * ))0,
3466 (int (*)(struct spi_device * , pm_message_t ))0, (int (*)(struct spi_device * ))0,
3467 {"74x164", (struct bus_type *)0, & __this_module, (char const *)0, (_Bool)0,
3468 (struct of_device_id const *)0, (int (*)(struct device * ))0, (int (*)(struct device * ))0,
3469 (void (*)(struct device * ))0, (int (*)(struct device * , pm_message_t ))0,
3470 (int (*)(struct device * ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
3471 (struct driver_private *)0}};
3472#line 178 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
3473static int gen_74x164_init(void)
3474{ int tmp ;
3475
3476 {
3477 {
3478#line 180
3479 tmp = spi_register_driver(& gen_74x164_driver);
3480 }
3481#line 180
3482 return (tmp);
3483}
3484}
3485#line 184 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
3486static void gen_74x164_exit(void)
3487{
3488
3489 {
3490 {
3491#line 186
3492 spi_unregister_driver(& gen_74x164_driver);
3493 }
3494#line 187
3495 return;
3496}
3497}
3498#line 211
3499extern void ldv_check_final_state(void) ;
3500#line 214
3501extern void ldv_check_return_value(int ) ;
3502#line 217
3503extern void ldv_initialize(void) ;
3504#line 220
3505extern int __VERIFIER_nondet_int(void) ;
3506#line 223 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
3507int LDV_IN_INTERRUPT ;
3508#line 226 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
3509void main(void)
3510{ struct spi_device *var_group1 ;
3511 int res_gen_74x164_probe_5 ;
3512 int ldv_s_gen_74x164_driver_spi_driver ;
3513 int tmp ;
3514 int tmp___0 ;
3515 int tmp___1 ;
3516
3517 {
3518 {
3519#line 263
3520 ldv_s_gen_74x164_driver_spi_driver = 0;
3521#line 246
3522 LDV_IN_INTERRUPT = 1;
3523#line 255
3524 ldv_initialize();
3525#line 261
3526 tmp = gen_74x164_init();
3527 }
3528#line 261
3529 if (tmp != 0) {
3530#line 262
3531 goto ldv_final;
3532 } else {
3533
3534 }
3535#line 266
3536 goto ldv_19025;
3537 ldv_19024:
3538 {
3539#line 270
3540 tmp___0 = __VERIFIER_nondet_int();
3541 }
3542#line 272
3543 if (tmp___0 == 0) {
3544#line 272
3545 goto case_0;
3546 } else {
3547 {
3548#line 291
3549 goto switch_default;
3550#line 270
3551 if (0) {
3552 case_0: ;
3553#line 275
3554 if (ldv_s_gen_74x164_driver_spi_driver == 0) {
3555 {
3556#line 280
3557 res_gen_74x164_probe_5 = gen_74x164_probe(var_group1);
3558#line 281
3559 ldv_check_return_value(res_gen_74x164_probe_5);
3560 }
3561#line 282
3562 if (res_gen_74x164_probe_5 != 0) {
3563#line 283
3564 goto ldv_module_exit;
3565 } else {
3566
3567 }
3568#line 284
3569 ldv_s_gen_74x164_driver_spi_driver = 0;
3570 } else {
3571
3572 }
3573#line 290
3574 goto ldv_19022;
3575 switch_default: ;
3576#line 291
3577 goto ldv_19022;
3578 } else {
3579 switch_break: ;
3580 }
3581 }
3582 }
3583 ldv_19022: ;
3584 ldv_19025:
3585 {
3586#line 266
3587 tmp___1 = __VERIFIER_nondet_int();
3588 }
3589#line 266
3590 if (tmp___1 != 0) {
3591#line 268
3592 goto ldv_19024;
3593 } else
3594#line 266
3595 if (ldv_s_gen_74x164_driver_spi_driver != 0) {
3596#line 268
3597 goto ldv_19024;
3598 } else {
3599#line 270
3600 goto ldv_19026;
3601 }
3602 ldv_19026: ;
3603 ldv_module_exit:
3604 {
3605#line 303
3606 gen_74x164_exit();
3607 }
3608 ldv_final:
3609 {
3610#line 306
3611 ldv_check_final_state();
3612 }
3613#line 309
3614 return;
3615}
3616}
3617#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
3618void ldv_blast_assert(void)
3619{
3620
3621 {
3622 ERROR: ;
3623#line 6
3624 goto ERROR;
3625}
3626}
3627#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
3628extern int __VERIFIER_nondet_int(void) ;
3629#line 330 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
3630int ldv_spin = 0;
3631#line 334 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
3632void ldv_check_alloc_flags(gfp_t flags )
3633{
3634
3635 {
3636#line 337
3637 if (ldv_spin != 0) {
3638#line 337
3639 if (flags != 32U) {
3640 {
3641#line 337
3642 ldv_blast_assert();
3643 }
3644 } else {
3645
3646 }
3647 } else {
3648
3649 }
3650#line 340
3651 return;
3652}
3653}
3654#line 340
3655extern struct page *ldv_some_page(void) ;
3656#line 343 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
3657struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
3658{ struct page *tmp ;
3659
3660 {
3661#line 346
3662 if (ldv_spin != 0) {
3663#line 346
3664 if (flags != 32U) {
3665 {
3666#line 346
3667 ldv_blast_assert();
3668 }
3669 } else {
3670
3671 }
3672 } else {
3673
3674 }
3675 {
3676#line 348
3677 tmp = ldv_some_page();
3678 }
3679#line 348
3680 return (tmp);
3681}
3682}
3683#line 352 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
3684void ldv_check_alloc_nonatomic(void)
3685{
3686
3687 {
3688#line 355
3689 if (ldv_spin != 0) {
3690 {
3691#line 355
3692 ldv_blast_assert();
3693 }
3694 } else {
3695
3696 }
3697#line 358
3698 return;
3699}
3700}
3701#line 359 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
3702void ldv_spin_lock(void)
3703{
3704
3705 {
3706#line 362
3707 ldv_spin = 1;
3708#line 363
3709 return;
3710}
3711}
3712#line 366 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
3713void ldv_spin_unlock(void)
3714{
3715
3716 {
3717#line 369
3718 ldv_spin = 0;
3719#line 370
3720 return;
3721}
3722}
3723#line 373 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
3724int ldv_spin_trylock(void)
3725{ int is_lock ;
3726
3727 {
3728 {
3729#line 378
3730 is_lock = __VERIFIER_nondet_int();
3731 }
3732#line 380
3733 if (is_lock != 0) {
3734#line 383
3735 return (0);
3736 } else {
3737#line 388
3738 ldv_spin = 1;
3739#line 390
3740 return (1);
3741 }
3742}
3743}
3744#line 557 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
3745void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
3746{
3747
3748 {
3749 {
3750#line 563
3751 ldv_check_alloc_flags(ldv_func_arg2);
3752#line 565
3753 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
3754 }
3755#line 566
3756 return ((void *)0);
3757}
3758}
3759#line 568 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2747/dscv_tempdir/dscv/ri/43_1a/drivers/gpio/gpio-74x164.c.p"
3760__inline static void *kzalloc(size_t size , gfp_t flags )
3761{ void *tmp ;
3762
3763 {
3764 {
3765#line 574
3766 ldv_check_alloc_flags(flags);
3767#line 575
3768 tmp = __VERIFIER_nondet_pointer();
3769 }
3770#line 575
3771 return (tmp);
3772}
3773}