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