1
2
3
4#line 20 "include/asm-generic/int-ll64.h"
5typedef unsigned char __u8;
6#line 23 "include/asm-generic/int-ll64.h"
7typedef unsigned short __u16;
8#line 26 "include/asm-generic/int-ll64.h"
9typedef unsigned int __u32;
10#line 30 "include/asm-generic/int-ll64.h"
11typedef unsigned long long __u64;
12#line 43 "include/asm-generic/int-ll64.h"
13typedef unsigned char u8;
14#line 45 "include/asm-generic/int-ll64.h"
15typedef short s16;
16#line 46 "include/asm-generic/int-ll64.h"
17typedef unsigned short u16;
18#line 49 "include/asm-generic/int-ll64.h"
19typedef unsigned int u32;
20#line 51 "include/asm-generic/int-ll64.h"
21typedef long long s64;
22#line 52 "include/asm-generic/int-ll64.h"
23typedef unsigned long long u64;
24#line 14 "include/asm-generic/posix_types.h"
25typedef long __kernel_long_t;
26#line 15 "include/asm-generic/posix_types.h"
27typedef unsigned long __kernel_ulong_t;
28#line 75 "include/asm-generic/posix_types.h"
29typedef __kernel_ulong_t __kernel_size_t;
30#line 76 "include/asm-generic/posix_types.h"
31typedef __kernel_long_t __kernel_ssize_t;
32#line 91 "include/asm-generic/posix_types.h"
33typedef long long __kernel_loff_t;
34#line 21 "include/linux/types.h"
35typedef __u32 __kernel_dev_t;
36#line 24 "include/linux/types.h"
37typedef __kernel_dev_t dev_t;
38#line 27 "include/linux/types.h"
39typedef unsigned short umode_t;
40#line 38 "include/linux/types.h"
41typedef _Bool bool;
42#line 54 "include/linux/types.h"
43typedef __kernel_loff_t loff_t;
44#line 63 "include/linux/types.h"
45typedef __kernel_size_t size_t;
46#line 68 "include/linux/types.h"
47typedef __kernel_ssize_t ssize_t;
48#line 202 "include/linux/types.h"
49typedef unsigned int gfp_t;
50#line 206 "include/linux/types.h"
51typedef u64 phys_addr_t;
52#line 211 "include/linux/types.h"
53typedef phys_addr_t resource_size_t;
54#line 221 "include/linux/types.h"
55struct __anonstruct_atomic_t_6 {
56 int counter ;
57};
58#line 221 "include/linux/types.h"
59typedef struct __anonstruct_atomic_t_6 atomic_t;
60#line 226 "include/linux/types.h"
61struct __anonstruct_atomic64_t_7 {
62 long counter ;
63};
64#line 226 "include/linux/types.h"
65typedef struct __anonstruct_atomic64_t_7 atomic64_t;
66#line 227 "include/linux/types.h"
67struct list_head {
68 struct list_head *next ;
69 struct list_head *prev ;
70};
71#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
72struct module;
73#line 55
74struct module;
75#line 146 "include/linux/init.h"
76typedef void (*ctor_fn_t)(void);
77#line 46 "include/linux/dynamic_debug.h"
78struct device;
79#line 46
80struct device;
81#line 57
82struct completion;
83#line 57
84struct completion;
85#line 58
86struct pt_regs;
87#line 58
88struct pt_regs;
89#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
90struct page;
91#line 58
92struct page;
93#line 26 "include/asm-generic/getorder.h"
94struct task_struct;
95#line 26
96struct task_struct;
97#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
98struct pt_regs {
99 unsigned long r15 ;
100 unsigned long r14 ;
101 unsigned long r13 ;
102 unsigned long r12 ;
103 unsigned long bp ;
104 unsigned long bx ;
105 unsigned long r11 ;
106 unsigned long r10 ;
107 unsigned long r9 ;
108 unsigned long r8 ;
109 unsigned long ax ;
110 unsigned long cx ;
111 unsigned long dx ;
112 unsigned long si ;
113 unsigned long di ;
114 unsigned long orig_ax ;
115 unsigned long ip ;
116 unsigned long cs ;
117 unsigned long flags ;
118 unsigned long sp ;
119 unsigned long ss ;
120};
121#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
122struct __anonstruct_ldv_2180_13 {
123 unsigned int a ;
124 unsigned int b ;
125};
126#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
127struct __anonstruct_ldv_2195_14 {
128 u16 limit0 ;
129 u16 base0 ;
130 unsigned char base1 ;
131 unsigned char type : 4 ;
132 unsigned char s : 1 ;
133 unsigned char dpl : 2 ;
134 unsigned char p : 1 ;
135 unsigned char limit : 4 ;
136 unsigned char avl : 1 ;
137 unsigned char l : 1 ;
138 unsigned char d : 1 ;
139 unsigned char g : 1 ;
140 unsigned char base2 ;
141};
142#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
143union __anonunion_ldv_2196_12 {
144 struct __anonstruct_ldv_2180_13 ldv_2180 ;
145 struct __anonstruct_ldv_2195_14 ldv_2195 ;
146};
147#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
148struct desc_struct {
149 union __anonunion_ldv_2196_12 ldv_2196 ;
150};
151#line 43 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
152struct gate_struct64 {
153 u16 offset_low ;
154 u16 segment ;
155 unsigned char ist : 3 ;
156 unsigned char zero0 : 5 ;
157 unsigned char type : 5 ;
158 unsigned char dpl : 2 ;
159 unsigned char p : 1 ;
160 u16 offset_middle ;
161 u32 offset_high ;
162 u32 zero1 ;
163};
164#line 81 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
165typedef struct gate_struct64 gate_desc;
166#line 84 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
167struct desc_ptr {
168 unsigned short size ;
169 unsigned long address ;
170};
171#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
172struct file;
173#line 290
174struct file;
175#line 337
176struct thread_struct;
177#line 337
178struct thread_struct;
179#line 338
180struct tss_struct;
181#line 338
182struct tss_struct;
183#line 101 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
184struct pv_cpu_ops {
185 unsigned long (*get_debugreg)(int ) ;
186 void (*set_debugreg)(int , unsigned long ) ;
187 void (*clts)(void) ;
188 unsigned long (*read_cr0)(void) ;
189 void (*write_cr0)(unsigned long ) ;
190 unsigned long (*read_cr4_safe)(void) ;
191 unsigned long (*read_cr4)(void) ;
192 void (*write_cr4)(unsigned long ) ;
193 unsigned long (*read_cr8)(void) ;
194 void (*write_cr8)(unsigned long ) ;
195 void (*load_tr_desc)(void) ;
196 void (*load_gdt)(struct desc_ptr const * ) ;
197 void (*load_idt)(struct desc_ptr const * ) ;
198 void (*store_gdt)(struct desc_ptr * ) ;
199 void (*store_idt)(struct desc_ptr * ) ;
200 void (*set_ldt)(void const * , unsigned int ) ;
201 unsigned long (*store_tr)(void) ;
202 void (*load_tls)(struct thread_struct * , unsigned int ) ;
203 void (*load_gs_index)(unsigned int ) ;
204 void (*write_ldt_entry)(struct desc_struct * , int , void const * ) ;
205 void (*write_gdt_entry)(struct desc_struct * , int , void const * , int ) ;
206 void (*write_idt_entry)(gate_desc * , int , gate_desc const * ) ;
207 void (*alloc_ldt)(struct desc_struct * , unsigned int ) ;
208 void (*free_ldt)(struct desc_struct * , unsigned int ) ;
209 void (*load_sp0)(struct tss_struct * , struct thread_struct * ) ;
210 void (*set_iopl_mask)(unsigned int ) ;
211 void (*wbinvd)(void) ;
212 void (*io_delay)(void) ;
213 void (*cpuid)(unsigned int * , unsigned int * , unsigned int * , unsigned int * ) ;
214 u64 (*read_msr)(unsigned int , int * ) ;
215 int (*rdmsr_regs)(u32 * ) ;
216 int (*write_msr)(unsigned int , unsigned int , unsigned int ) ;
217 int (*wrmsr_regs)(u32 * ) ;
218 u64 (*read_tsc)(void) ;
219 u64 (*read_pmc)(int ) ;
220 unsigned long long (*read_tscp)(unsigned int * ) ;
221 void (*irq_enable_sysexit)(void) ;
222 void (*usergs_sysret64)(void) ;
223 void (*usergs_sysret32)(void) ;
224 void (*iret)(void) ;
225 void (*swapgs)(void) ;
226 void (*start_context_switch)(struct task_struct * ) ;
227 void (*end_context_switch)(struct task_struct * ) ;
228};
229#line 327
230struct arch_spinlock;
231#line 327
232struct arch_spinlock;
233#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
234struct kernel_vm86_regs {
235 struct pt_regs pt ;
236 unsigned short es ;
237 unsigned short __esh ;
238 unsigned short ds ;
239 unsigned short __dsh ;
240 unsigned short fs ;
241 unsigned short __fsh ;
242 unsigned short gs ;
243 unsigned short __gsh ;
244};
245#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
246union __anonunion_ldv_2824_19 {
247 struct pt_regs *regs ;
248 struct kernel_vm86_regs *vm86 ;
249};
250#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
251struct math_emu_info {
252 long ___orig_eip ;
253 union __anonunion_ldv_2824_19 ldv_2824 ;
254};
255#line 306 "include/linux/bitmap.h"
256struct bug_entry {
257 int bug_addr_disp ;
258 int file_disp ;
259 unsigned short line ;
260 unsigned short flags ;
261};
262#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
263struct static_key;
264#line 234
265struct static_key;
266#line 199 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
267struct x86_hw_tss {
268 u32 reserved1 ;
269 u64 sp0 ;
270 u64 sp1 ;
271 u64 sp2 ;
272 u64 reserved2 ;
273 u64 ist[7U] ;
274 u32 reserved3 ;
275 u32 reserved4 ;
276 u16 reserved5 ;
277 u16 io_bitmap_base ;
278};
279#line 246 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
280struct tss_struct {
281 struct x86_hw_tss x86_tss ;
282 unsigned long io_bitmap[1025U] ;
283 unsigned long stack[64U] ;
284};
285#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
286struct i387_fsave_struct {
287 u32 cwd ;
288 u32 swd ;
289 u32 twd ;
290 u32 fip ;
291 u32 fcs ;
292 u32 foo ;
293 u32 fos ;
294 u32 st_space[20U] ;
295 u32 status ;
296};
297#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
298struct __anonstruct_ldv_5180_24 {
299 u64 rip ;
300 u64 rdp ;
301};
302#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
303struct __anonstruct_ldv_5186_25 {
304 u32 fip ;
305 u32 fcs ;
306 u32 foo ;
307 u32 fos ;
308};
309#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
310union __anonunion_ldv_5187_23 {
311 struct __anonstruct_ldv_5180_24 ldv_5180 ;
312 struct __anonstruct_ldv_5186_25 ldv_5186 ;
313};
314#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
315union __anonunion_ldv_5196_26 {
316 u32 padding1[12U] ;
317 u32 sw_reserved[12U] ;
318};
319#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
320struct i387_fxsave_struct {
321 u16 cwd ;
322 u16 swd ;
323 u16 twd ;
324 u16 fop ;
325 union __anonunion_ldv_5187_23 ldv_5187 ;
326 u32 mxcsr ;
327 u32 mxcsr_mask ;
328 u32 st_space[32U] ;
329 u32 xmm_space[64U] ;
330 u32 padding[12U] ;
331 union __anonunion_ldv_5196_26 ldv_5196 ;
332};
333#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
334struct i387_soft_struct {
335 u32 cwd ;
336 u32 swd ;
337 u32 twd ;
338 u32 fip ;
339 u32 fcs ;
340 u32 foo ;
341 u32 fos ;
342 u32 st_space[20U] ;
343 u8 ftop ;
344 u8 changed ;
345 u8 lookahead ;
346 u8 no_update ;
347 u8 rm ;
348 u8 alimit ;
349 struct math_emu_info *info ;
350 u32 entry_eip ;
351};
352#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
353struct ymmh_struct {
354 u32 ymmh_space[64U] ;
355};
356#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
357struct xsave_hdr_struct {
358 u64 xstate_bv ;
359 u64 reserved1[2U] ;
360 u64 reserved2[5U] ;
361};
362#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
363struct xsave_struct {
364 struct i387_fxsave_struct i387 ;
365 struct xsave_hdr_struct xsave_hdr ;
366 struct ymmh_struct ymmh ;
367};
368#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
369union thread_xstate {
370 struct i387_fsave_struct fsave ;
371 struct i387_fxsave_struct fxsave ;
372 struct i387_soft_struct soft ;
373 struct xsave_struct xsave ;
374};
375#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
376struct fpu {
377 unsigned int last_cpu ;
378 unsigned int has_fpu ;
379 union thread_xstate *state ;
380};
381#line 433
382struct kmem_cache;
383#line 434
384struct perf_event;
385#line 434
386struct perf_event;
387#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
388struct thread_struct {
389 struct desc_struct tls_array[3U] ;
390 unsigned long sp0 ;
391 unsigned long sp ;
392 unsigned long usersp ;
393 unsigned short es ;
394 unsigned short ds ;
395 unsigned short fsindex ;
396 unsigned short gsindex ;
397 unsigned long fs ;
398 unsigned long gs ;
399 struct perf_event *ptrace_bps[4U] ;
400 unsigned long debugreg6 ;
401 unsigned long ptrace_dr7 ;
402 unsigned long cr2 ;
403 unsigned long trap_nr ;
404 unsigned long error_code ;
405 struct fpu fpu ;
406 unsigned long *io_bitmap_ptr ;
407 unsigned long iopl ;
408 unsigned int io_bitmap_max ;
409};
410#line 23 "include/asm-generic/atomic-long.h"
411typedef atomic64_t atomic_long_t;
412#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
413typedef u16 __ticket_t;
414#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
415typedef u32 __ticketpair_t;
416#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
417struct __raw_tickets {
418 __ticket_t head ;
419 __ticket_t tail ;
420};
421#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
422union __anonunion_ldv_5907_29 {
423 __ticketpair_t head_tail ;
424 struct __raw_tickets tickets ;
425};
426#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
427struct arch_spinlock {
428 union __anonunion_ldv_5907_29 ldv_5907 ;
429};
430#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
431typedef struct arch_spinlock arch_spinlock_t;
432#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
433struct lockdep_map;
434#line 34
435struct lockdep_map;
436#line 55 "include/linux/debug_locks.h"
437struct stack_trace {
438 unsigned int nr_entries ;
439 unsigned int max_entries ;
440 unsigned long *entries ;
441 int skip ;
442};
443#line 26 "include/linux/stacktrace.h"
444struct lockdep_subclass_key {
445 char __one_byte ;
446};
447#line 53 "include/linux/lockdep.h"
448struct lock_class_key {
449 struct lockdep_subclass_key subkeys[8U] ;
450};
451#line 59 "include/linux/lockdep.h"
452struct lock_class {
453 struct list_head hash_entry ;
454 struct list_head lock_entry ;
455 struct lockdep_subclass_key *key ;
456 unsigned int subclass ;
457 unsigned int dep_gen_id ;
458 unsigned long usage_mask ;
459 struct stack_trace usage_traces[13U] ;
460 struct list_head locks_after ;
461 struct list_head locks_before ;
462 unsigned int version ;
463 unsigned long ops ;
464 char const *name ;
465 int name_version ;
466 unsigned long contention_point[4U] ;
467 unsigned long contending_point[4U] ;
468};
469#line 144 "include/linux/lockdep.h"
470struct lockdep_map {
471 struct lock_class_key *key ;
472 struct lock_class *class_cache[2U] ;
473 char const *name ;
474 int cpu ;
475 unsigned long ip ;
476};
477#line 556 "include/linux/lockdep.h"
478struct raw_spinlock {
479 arch_spinlock_t raw_lock ;
480 unsigned int magic ;
481 unsigned int owner_cpu ;
482 void *owner ;
483 struct lockdep_map dep_map ;
484};
485#line 33 "include/linux/spinlock_types.h"
486struct __anonstruct_ldv_6122_33 {
487 u8 __padding[24U] ;
488 struct lockdep_map dep_map ;
489};
490#line 33 "include/linux/spinlock_types.h"
491union __anonunion_ldv_6123_32 {
492 struct raw_spinlock rlock ;
493 struct __anonstruct_ldv_6122_33 ldv_6122 ;
494};
495#line 33 "include/linux/spinlock_types.h"
496struct spinlock {
497 union __anonunion_ldv_6123_32 ldv_6123 ;
498};
499#line 76 "include/linux/spinlock_types.h"
500typedef struct spinlock spinlock_t;
501#line 48 "include/linux/wait.h"
502struct __wait_queue_head {
503 spinlock_t lock ;
504 struct list_head task_list ;
505};
506#line 53 "include/linux/wait.h"
507typedef struct __wait_queue_head wait_queue_head_t;
508#line 670 "include/linux/mmzone.h"
509struct mutex {
510 atomic_t count ;
511 spinlock_t wait_lock ;
512 struct list_head wait_list ;
513 struct task_struct *owner ;
514 char const *name ;
515 void *magic ;
516 struct lockdep_map dep_map ;
517};
518#line 128 "include/linux/rwsem.h"
519struct completion {
520 unsigned int done ;
521 wait_queue_head_t wait ;
522};
523#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
524struct resource {
525 resource_size_t start ;
526 resource_size_t end ;
527 char const *name ;
528 unsigned long flags ;
529 struct resource *parent ;
530 struct resource *sibling ;
531 struct resource *child ;
532};
533#line 312 "include/linux/jiffies.h"
534union ktime {
535 s64 tv64 ;
536};
537#line 59 "include/linux/ktime.h"
538typedef union ktime ktime_t;
539#line 341
540struct tvec_base;
541#line 341
542struct tvec_base;
543#line 342 "include/linux/ktime.h"
544struct timer_list {
545 struct list_head entry ;
546 unsigned long expires ;
547 struct tvec_base *base ;
548 void (*function)(unsigned long ) ;
549 unsigned long data ;
550 int slack ;
551 int start_pid ;
552 void *start_site ;
553 char start_comm[16U] ;
554 struct lockdep_map lockdep_map ;
555};
556#line 302 "include/linux/timer.h"
557struct work_struct;
558#line 302
559struct work_struct;
560#line 45 "include/linux/workqueue.h"
561struct work_struct {
562 atomic_long_t data ;
563 struct list_head entry ;
564 void (*func)(struct work_struct * ) ;
565 struct lockdep_map lockdep_map ;
566};
567#line 46 "include/linux/pm.h"
568struct pm_message {
569 int event ;
570};
571#line 52 "include/linux/pm.h"
572typedef struct pm_message pm_message_t;
573#line 53 "include/linux/pm.h"
574struct dev_pm_ops {
575 int (*prepare)(struct device * ) ;
576 void (*complete)(struct device * ) ;
577 int (*suspend)(struct device * ) ;
578 int (*resume)(struct device * ) ;
579 int (*freeze)(struct device * ) ;
580 int (*thaw)(struct device * ) ;
581 int (*poweroff)(struct device * ) ;
582 int (*restore)(struct device * ) ;
583 int (*suspend_late)(struct device * ) ;
584 int (*resume_early)(struct device * ) ;
585 int (*freeze_late)(struct device * ) ;
586 int (*thaw_early)(struct device * ) ;
587 int (*poweroff_late)(struct device * ) ;
588 int (*restore_early)(struct device * ) ;
589 int (*suspend_noirq)(struct device * ) ;
590 int (*resume_noirq)(struct device * ) ;
591 int (*freeze_noirq)(struct device * ) ;
592 int (*thaw_noirq)(struct device * ) ;
593 int (*poweroff_noirq)(struct device * ) ;
594 int (*restore_noirq)(struct device * ) ;
595 int (*runtime_suspend)(struct device * ) ;
596 int (*runtime_resume)(struct device * ) ;
597 int (*runtime_idle)(struct device * ) ;
598};
599#line 289
600enum rpm_status {
601 RPM_ACTIVE = 0,
602 RPM_RESUMING = 1,
603 RPM_SUSPENDED = 2,
604 RPM_SUSPENDING = 3
605} ;
606#line 296
607enum rpm_request {
608 RPM_REQ_NONE = 0,
609 RPM_REQ_IDLE = 1,
610 RPM_REQ_SUSPEND = 2,
611 RPM_REQ_AUTOSUSPEND = 3,
612 RPM_REQ_RESUME = 4
613} ;
614#line 304
615struct wakeup_source;
616#line 304
617struct wakeup_source;
618#line 494 "include/linux/pm.h"
619struct pm_subsys_data {
620 spinlock_t lock ;
621 unsigned int refcount ;
622};
623#line 499
624struct dev_pm_qos_request;
625#line 499
626struct pm_qos_constraints;
627#line 499 "include/linux/pm.h"
628struct dev_pm_info {
629 pm_message_t power_state ;
630 unsigned char can_wakeup : 1 ;
631 unsigned char async_suspend : 1 ;
632 bool is_prepared ;
633 bool is_suspended ;
634 bool ignore_children ;
635 spinlock_t lock ;
636 struct list_head entry ;
637 struct completion completion ;
638 struct wakeup_source *wakeup ;
639 bool wakeup_path ;
640 struct timer_list suspend_timer ;
641 unsigned long timer_expires ;
642 struct work_struct work ;
643 wait_queue_head_t wait_queue ;
644 atomic_t usage_count ;
645 atomic_t child_count ;
646 unsigned char disable_depth : 3 ;
647 unsigned char idle_notification : 1 ;
648 unsigned char request_pending : 1 ;
649 unsigned char deferred_resume : 1 ;
650 unsigned char run_wake : 1 ;
651 unsigned char runtime_auto : 1 ;
652 unsigned char no_callbacks : 1 ;
653 unsigned char irq_safe : 1 ;
654 unsigned char use_autosuspend : 1 ;
655 unsigned char timer_autosuspends : 1 ;
656 enum rpm_request request ;
657 enum rpm_status runtime_status ;
658 int runtime_error ;
659 int autosuspend_delay ;
660 unsigned long last_busy ;
661 unsigned long active_jiffies ;
662 unsigned long suspended_jiffies ;
663 unsigned long accounting_timestamp ;
664 ktime_t suspend_time ;
665 s64 max_time_suspended_ns ;
666 struct dev_pm_qos_request *pq_req ;
667 struct pm_subsys_data *subsys_data ;
668 struct pm_qos_constraints *constraints ;
669};
670#line 558 "include/linux/pm.h"
671struct dev_pm_domain {
672 struct dev_pm_ops ops ;
673};
674#line 18 "include/asm-generic/pci_iomap.h"
675struct vm_area_struct;
676#line 18
677struct vm_area_struct;
678#line 18 "include/linux/elf.h"
679typedef __u64 Elf64_Addr;
680#line 19 "include/linux/elf.h"
681typedef __u16 Elf64_Half;
682#line 23 "include/linux/elf.h"
683typedef __u32 Elf64_Word;
684#line 24 "include/linux/elf.h"
685typedef __u64 Elf64_Xword;
686#line 193 "include/linux/elf.h"
687struct elf64_sym {
688 Elf64_Word st_name ;
689 unsigned char st_info ;
690 unsigned char st_other ;
691 Elf64_Half st_shndx ;
692 Elf64_Addr st_value ;
693 Elf64_Xword st_size ;
694};
695#line 201 "include/linux/elf.h"
696typedef struct elf64_sym Elf64_Sym;
697#line 445
698struct sock;
699#line 445
700struct sock;
701#line 446
702struct kobject;
703#line 446
704struct kobject;
705#line 447
706enum kobj_ns_type {
707 KOBJ_NS_TYPE_NONE = 0,
708 KOBJ_NS_TYPE_NET = 1,
709 KOBJ_NS_TYPES = 2
710} ;
711#line 453 "include/linux/elf.h"
712struct kobj_ns_type_operations {
713 enum kobj_ns_type type ;
714 void *(*grab_current_ns)(void) ;
715 void const *(*netlink_ns)(struct sock * ) ;
716 void const *(*initial_ns)(void) ;
717 void (*drop_ns)(void * ) ;
718};
719#line 57 "include/linux/kobject_ns.h"
720struct attribute {
721 char const *name ;
722 umode_t mode ;
723 struct lock_class_key *key ;
724 struct lock_class_key skey ;
725};
726#line 33 "include/linux/sysfs.h"
727struct attribute_group {
728 char const *name ;
729 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
730 struct attribute **attrs ;
731};
732#line 62 "include/linux/sysfs.h"
733struct bin_attribute {
734 struct attribute attr ;
735 size_t size ;
736 void *private ;
737 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
738 loff_t , size_t ) ;
739 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
740 loff_t , size_t ) ;
741 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
742};
743#line 98 "include/linux/sysfs.h"
744struct sysfs_ops {
745 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
746 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
747 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
748};
749#line 117
750struct sysfs_dirent;
751#line 117
752struct sysfs_dirent;
753#line 182 "include/linux/sysfs.h"
754struct kref {
755 atomic_t refcount ;
756};
757#line 49 "include/linux/kobject.h"
758struct kset;
759#line 49
760struct kobj_type;
761#line 49 "include/linux/kobject.h"
762struct kobject {
763 char const *name ;
764 struct list_head entry ;
765 struct kobject *parent ;
766 struct kset *kset ;
767 struct kobj_type *ktype ;
768 struct sysfs_dirent *sd ;
769 struct kref kref ;
770 unsigned char state_initialized : 1 ;
771 unsigned char state_in_sysfs : 1 ;
772 unsigned char state_add_uevent_sent : 1 ;
773 unsigned char state_remove_uevent_sent : 1 ;
774 unsigned char uevent_suppress : 1 ;
775};
776#line 107 "include/linux/kobject.h"
777struct kobj_type {
778 void (*release)(struct kobject * ) ;
779 struct sysfs_ops const *sysfs_ops ;
780 struct attribute **default_attrs ;
781 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
782 void const *(*namespace)(struct kobject * ) ;
783};
784#line 115 "include/linux/kobject.h"
785struct kobj_uevent_env {
786 char *envp[32U] ;
787 int envp_idx ;
788 char buf[2048U] ;
789 int buflen ;
790};
791#line 122 "include/linux/kobject.h"
792struct kset_uevent_ops {
793 int (* const filter)(struct kset * , struct kobject * ) ;
794 char const *(* const name)(struct kset * , struct kobject * ) ;
795 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
796};
797#line 139 "include/linux/kobject.h"
798struct kset {
799 struct list_head list ;
800 spinlock_t list_lock ;
801 struct kobject kobj ;
802 struct kset_uevent_ops const *uevent_ops ;
803};
804#line 215
805struct kernel_param;
806#line 215
807struct kernel_param;
808#line 216 "include/linux/kobject.h"
809struct kernel_param_ops {
810 int (*set)(char const * , struct kernel_param const * ) ;
811 int (*get)(char * , struct kernel_param const * ) ;
812 void (*free)(void * ) ;
813};
814#line 49 "include/linux/moduleparam.h"
815struct kparam_string;
816#line 49
817struct kparam_array;
818#line 49 "include/linux/moduleparam.h"
819union __anonunion_ldv_13363_134 {
820 void *arg ;
821 struct kparam_string const *str ;
822 struct kparam_array const *arr ;
823};
824#line 49 "include/linux/moduleparam.h"
825struct kernel_param {
826 char const *name ;
827 struct kernel_param_ops const *ops ;
828 u16 perm ;
829 s16 level ;
830 union __anonunion_ldv_13363_134 ldv_13363 ;
831};
832#line 61 "include/linux/moduleparam.h"
833struct kparam_string {
834 unsigned int maxlen ;
835 char *string ;
836};
837#line 67 "include/linux/moduleparam.h"
838struct kparam_array {
839 unsigned int max ;
840 unsigned int elemsize ;
841 unsigned int *num ;
842 struct kernel_param_ops const *ops ;
843 void *elem ;
844};
845#line 458 "include/linux/moduleparam.h"
846struct static_key {
847 atomic_t enabled ;
848};
849#line 225 "include/linux/jump_label.h"
850struct tracepoint;
851#line 225
852struct tracepoint;
853#line 226 "include/linux/jump_label.h"
854struct tracepoint_func {
855 void *func ;
856 void *data ;
857};
858#line 29 "include/linux/tracepoint.h"
859struct tracepoint {
860 char const *name ;
861 struct static_key key ;
862 void (*regfunc)(void) ;
863 void (*unregfunc)(void) ;
864 struct tracepoint_func *funcs ;
865};
866#line 86 "include/linux/tracepoint.h"
867struct kernel_symbol {
868 unsigned long value ;
869 char const *name ;
870};
871#line 27 "include/linux/export.h"
872struct mod_arch_specific {
873
874};
875#line 34 "include/linux/module.h"
876struct module_param_attrs;
877#line 34 "include/linux/module.h"
878struct module_kobject {
879 struct kobject kobj ;
880 struct module *mod ;
881 struct kobject *drivers_dir ;
882 struct module_param_attrs *mp ;
883};
884#line 43 "include/linux/module.h"
885struct module_attribute {
886 struct attribute attr ;
887 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
888 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
889 size_t ) ;
890 void (*setup)(struct module * , char const * ) ;
891 int (*test)(struct module * ) ;
892 void (*free)(struct module * ) ;
893};
894#line 69
895struct exception_table_entry;
896#line 69
897struct exception_table_entry;
898#line 198
899enum module_state {
900 MODULE_STATE_LIVE = 0,
901 MODULE_STATE_COMING = 1,
902 MODULE_STATE_GOING = 2
903} ;
904#line 204 "include/linux/module.h"
905struct module_ref {
906 unsigned long incs ;
907 unsigned long decs ;
908};
909#line 219
910struct module_sect_attrs;
911#line 219
912struct module_notes_attrs;
913#line 219
914struct ftrace_event_call;
915#line 219 "include/linux/module.h"
916struct module {
917 enum module_state state ;
918 struct list_head list ;
919 char name[56U] ;
920 struct module_kobject mkobj ;
921 struct module_attribute *modinfo_attrs ;
922 char const *version ;
923 char const *srcversion ;
924 struct kobject *holders_dir ;
925 struct kernel_symbol const *syms ;
926 unsigned long const *crcs ;
927 unsigned int num_syms ;
928 struct kernel_param *kp ;
929 unsigned int num_kp ;
930 unsigned int num_gpl_syms ;
931 struct kernel_symbol const *gpl_syms ;
932 unsigned long const *gpl_crcs ;
933 struct kernel_symbol const *unused_syms ;
934 unsigned long const *unused_crcs ;
935 unsigned int num_unused_syms ;
936 unsigned int num_unused_gpl_syms ;
937 struct kernel_symbol const *unused_gpl_syms ;
938 unsigned long const *unused_gpl_crcs ;
939 struct kernel_symbol const *gpl_future_syms ;
940 unsigned long const *gpl_future_crcs ;
941 unsigned int num_gpl_future_syms ;
942 unsigned int num_exentries ;
943 struct exception_table_entry *extable ;
944 int (*init)(void) ;
945 void *module_init ;
946 void *module_core ;
947 unsigned int init_size ;
948 unsigned int core_size ;
949 unsigned int init_text_size ;
950 unsigned int core_text_size ;
951 unsigned int init_ro_size ;
952 unsigned int core_ro_size ;
953 struct mod_arch_specific arch ;
954 unsigned int taints ;
955 unsigned int num_bugs ;
956 struct list_head bug_list ;
957 struct bug_entry *bug_table ;
958 Elf64_Sym *symtab ;
959 Elf64_Sym *core_symtab ;
960 unsigned int num_symtab ;
961 unsigned int core_num_syms ;
962 char *strtab ;
963 char *core_strtab ;
964 struct module_sect_attrs *sect_attrs ;
965 struct module_notes_attrs *notes_attrs ;
966 char *args ;
967 void *percpu ;
968 unsigned int percpu_size ;
969 unsigned int num_tracepoints ;
970 struct tracepoint * const *tracepoints_ptrs ;
971 unsigned int num_trace_bprintk_fmt ;
972 char const **trace_bprintk_fmt_start ;
973 struct ftrace_event_call **trace_events ;
974 unsigned int num_trace_events ;
975 struct list_head source_list ;
976 struct list_head target_list ;
977 struct task_struct *waiter ;
978 void (*exit)(void) ;
979 struct module_ref *refptr ;
980 ctor_fn_t (**ctors)(void) ;
981 unsigned int num_ctors ;
982};
983#line 88 "include/linux/kmemleak.h"
984struct kmem_cache_cpu {
985 void **freelist ;
986 unsigned long tid ;
987 struct page *page ;
988 struct page *partial ;
989 int node ;
990 unsigned int stat[26U] ;
991};
992#line 55 "include/linux/slub_def.h"
993struct kmem_cache_node {
994 spinlock_t list_lock ;
995 unsigned long nr_partial ;
996 struct list_head partial ;
997 atomic_long_t nr_slabs ;
998 atomic_long_t total_objects ;
999 struct list_head full ;
1000};
1001#line 66 "include/linux/slub_def.h"
1002struct kmem_cache_order_objects {
1003 unsigned long x ;
1004};
1005#line 76 "include/linux/slub_def.h"
1006struct kmem_cache {
1007 struct kmem_cache_cpu *cpu_slab ;
1008 unsigned long flags ;
1009 unsigned long min_partial ;
1010 int size ;
1011 int objsize ;
1012 int offset ;
1013 int cpu_partial ;
1014 struct kmem_cache_order_objects oo ;
1015 struct kmem_cache_order_objects max ;
1016 struct kmem_cache_order_objects min ;
1017 gfp_t allocflags ;
1018 int refcount ;
1019 void (*ctor)(void * ) ;
1020 int inuse ;
1021 int align ;
1022 int reserved ;
1023 char const *name ;
1024 struct list_head list ;
1025 struct kobject kobj ;
1026 int remote_node_defrag_ratio ;
1027 struct kmem_cache_node *node[1024U] ;
1028};
1029#line 54 "include/linux/delay.h"
1030enum irqreturn {
1031 IRQ_NONE = 0,
1032 IRQ_HANDLED = 1,
1033 IRQ_WAKE_THREAD = 2
1034} ;
1035#line 16 "include/linux/irqreturn.h"
1036typedef enum irqreturn irqreturn_t;
1037#line 41 "include/asm-generic/sections.h"
1038struct exception_table_entry {
1039 unsigned long insn ;
1040 unsigned long fixup ;
1041};
1042#line 702 "include/linux/interrupt.h"
1043struct klist_node;
1044#line 702
1045struct klist_node;
1046#line 37 "include/linux/klist.h"
1047struct klist_node {
1048 void *n_klist ;
1049 struct list_head n_node ;
1050 struct kref n_ref ;
1051};
1052#line 67
1053struct dma_map_ops;
1054#line 67 "include/linux/klist.h"
1055struct dev_archdata {
1056 void *acpi_handle ;
1057 struct dma_map_ops *dma_ops ;
1058 void *iommu ;
1059};
1060#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1061struct pdev_archdata {
1062
1063};
1064#line 17
1065struct device_private;
1066#line 17
1067struct device_private;
1068#line 18
1069struct device_driver;
1070#line 18
1071struct device_driver;
1072#line 19
1073struct driver_private;
1074#line 19
1075struct driver_private;
1076#line 20
1077struct class;
1078#line 20
1079struct class;
1080#line 21
1081struct subsys_private;
1082#line 21
1083struct subsys_private;
1084#line 22
1085struct bus_type;
1086#line 22
1087struct bus_type;
1088#line 23
1089struct device_node;
1090#line 23
1091struct device_node;
1092#line 24
1093struct iommu_ops;
1094#line 24
1095struct iommu_ops;
1096#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1097struct bus_attribute {
1098 struct attribute attr ;
1099 ssize_t (*show)(struct bus_type * , char * ) ;
1100 ssize_t (*store)(struct bus_type * , char const * , size_t ) ;
1101};
1102#line 51 "include/linux/device.h"
1103struct device_attribute;
1104#line 51
1105struct driver_attribute;
1106#line 51 "include/linux/device.h"
1107struct bus_type {
1108 char const *name ;
1109 char const *dev_name ;
1110 struct device *dev_root ;
1111 struct bus_attribute *bus_attrs ;
1112 struct device_attribute *dev_attrs ;
1113 struct driver_attribute *drv_attrs ;
1114 int (*match)(struct device * , struct device_driver * ) ;
1115 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1116 int (*probe)(struct device * ) ;
1117 int (*remove)(struct device * ) ;
1118 void (*shutdown)(struct device * ) ;
1119 int (*suspend)(struct device * , pm_message_t ) ;
1120 int (*resume)(struct device * ) ;
1121 struct dev_pm_ops const *pm ;
1122 struct iommu_ops *iommu_ops ;
1123 struct subsys_private *p ;
1124};
1125#line 125
1126struct device_type;
1127#line 182
1128struct of_device_id;
1129#line 182 "include/linux/device.h"
1130struct device_driver {
1131 char const *name ;
1132 struct bus_type *bus ;
1133 struct module *owner ;
1134 char const *mod_name ;
1135 bool suppress_bind_attrs ;
1136 struct of_device_id const *of_match_table ;
1137 int (*probe)(struct device * ) ;
1138 int (*remove)(struct device * ) ;
1139 void (*shutdown)(struct device * ) ;
1140 int (*suspend)(struct device * , pm_message_t ) ;
1141 int (*resume)(struct device * ) ;
1142 struct attribute_group const **groups ;
1143 struct dev_pm_ops const *pm ;
1144 struct driver_private *p ;
1145};
1146#line 245 "include/linux/device.h"
1147struct driver_attribute {
1148 struct attribute attr ;
1149 ssize_t (*show)(struct device_driver * , char * ) ;
1150 ssize_t (*store)(struct device_driver * , char const * , size_t ) ;
1151};
1152#line 299
1153struct class_attribute;
1154#line 299 "include/linux/device.h"
1155struct class {
1156 char const *name ;
1157 struct module *owner ;
1158 struct class_attribute *class_attrs ;
1159 struct device_attribute *dev_attrs ;
1160 struct bin_attribute *dev_bin_attrs ;
1161 struct kobject *dev_kobj ;
1162 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1163 char *(*devnode)(struct device * , umode_t * ) ;
1164 void (*class_release)(struct class * ) ;
1165 void (*dev_release)(struct device * ) ;
1166 int (*suspend)(struct device * , pm_message_t ) ;
1167 int (*resume)(struct device * ) ;
1168 struct kobj_ns_type_operations const *ns_type ;
1169 void const *(*namespace)(struct device * ) ;
1170 struct dev_pm_ops const *pm ;
1171 struct subsys_private *p ;
1172};
1173#line 394 "include/linux/device.h"
1174struct class_attribute {
1175 struct attribute attr ;
1176 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1177 ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ;
1178 void const *(*namespace)(struct class * , struct class_attribute const * ) ;
1179};
1180#line 447 "include/linux/device.h"
1181struct device_type {
1182 char const *name ;
1183 struct attribute_group const **groups ;
1184 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1185 char *(*devnode)(struct device * , umode_t * ) ;
1186 void (*release)(struct device * ) ;
1187 struct dev_pm_ops const *pm ;
1188};
1189#line 474 "include/linux/device.h"
1190struct device_attribute {
1191 struct attribute attr ;
1192 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1193 ssize_t (*store)(struct device * , struct device_attribute * , char const * ,
1194 size_t ) ;
1195};
1196#line 557 "include/linux/device.h"
1197struct device_dma_parameters {
1198 unsigned int max_segment_size ;
1199 unsigned long segment_boundary_mask ;
1200};
1201#line 567
1202struct dma_coherent_mem;
1203#line 567 "include/linux/device.h"
1204struct device {
1205 struct device *parent ;
1206 struct device_private *p ;
1207 struct kobject kobj ;
1208 char const *init_name ;
1209 struct device_type const *type ;
1210 struct mutex mutex ;
1211 struct bus_type *bus ;
1212 struct device_driver *driver ;
1213 void *platform_data ;
1214 struct dev_pm_info power ;
1215 struct dev_pm_domain *pm_domain ;
1216 int numa_node ;
1217 u64 *dma_mask ;
1218 u64 coherent_dma_mask ;
1219 struct device_dma_parameters *dma_parms ;
1220 struct list_head dma_pools ;
1221 struct dma_coherent_mem *dma_mem ;
1222 struct dev_archdata archdata ;
1223 struct device_node *of_node ;
1224 dev_t devt ;
1225 u32 id ;
1226 spinlock_t devres_lock ;
1227 struct list_head devres_head ;
1228 struct klist_node knode_class ;
1229 struct class *class ;
1230 struct attribute_group const **groups ;
1231 void (*release)(struct device * ) ;
1232};
1233#line 681 "include/linux/device.h"
1234struct wakeup_source {
1235 char const *name ;
1236 struct list_head entry ;
1237 spinlock_t lock ;
1238 struct timer_list timer ;
1239 unsigned long timer_expires ;
1240 ktime_t total_time ;
1241 ktime_t max_time ;
1242 ktime_t last_time ;
1243 unsigned long event_count ;
1244 unsigned long active_count ;
1245 unsigned long relax_count ;
1246 unsigned long hit_count ;
1247 unsigned char active : 1 ;
1248};
1249#line 12 "include/linux/mod_devicetable.h"
1250typedef unsigned long kernel_ulong_t;
1251#line 205 "include/linux/mod_devicetable.h"
1252struct serio_device_id {
1253 __u8 type ;
1254 __u8 extra ;
1255 __u8 id ;
1256 __u8 proto ;
1257};
1258#line 215 "include/linux/mod_devicetable.h"
1259struct of_device_id {
1260 char name[32U] ;
1261 char type[32U] ;
1262 char compatible[128U] ;
1263 void *data ;
1264};
1265#line 492 "include/linux/mod_devicetable.h"
1266struct platform_device_id {
1267 char name[20U] ;
1268 kernel_ulong_t driver_data ;
1269};
1270#line 584
1271struct serio_driver;
1272#line 584 "include/linux/mod_devicetable.h"
1273struct serio {
1274 void *port_data ;
1275 char name[32U] ;
1276 char phys[32U] ;
1277 bool manual_bind ;
1278 struct serio_device_id id ;
1279 spinlock_t lock ;
1280 int (*write)(struct serio * , unsigned char ) ;
1281 int (*open)(struct serio * ) ;
1282 void (*close)(struct serio * ) ;
1283 int (*start)(struct serio * ) ;
1284 void (*stop)(struct serio * ) ;
1285 struct serio *parent ;
1286 struct list_head child_node ;
1287 struct list_head children ;
1288 unsigned int depth ;
1289 struct serio_driver *drv ;
1290 struct mutex drv_mutex ;
1291 struct device dev ;
1292 struct list_head node ;
1293};
1294#line 56 "include/linux/serio.h"
1295struct serio_driver {
1296 char const *description ;
1297 struct serio_device_id const *id_table ;
1298 bool manual_bind ;
1299 void (*write_wakeup)(struct serio * ) ;
1300 irqreturn_t (*interrupt)(struct serio * , unsigned char , unsigned int ) ;
1301 int (*connect)(struct serio * , struct serio_driver * ) ;
1302 int (*reconnect)(struct serio * ) ;
1303 void (*disconnect)(struct serio * ) ;
1304 void (*cleanup)(struct serio * ) ;
1305 struct device_driver driver ;
1306};
1307#line 140
1308struct mfd_cell;
1309#line 140
1310struct mfd_cell;
1311#line 141 "include/linux/serio.h"
1312struct platform_device {
1313 char const *name ;
1314 int id ;
1315 struct device dev ;
1316 u32 num_resources ;
1317 struct resource *resource ;
1318 struct platform_device_id const *id_entry ;
1319 struct mfd_cell *mfd_cell ;
1320 struct pdev_archdata archdata ;
1321};
1322#line 163 "include/linux/platform_device.h"
1323struct platform_driver {
1324 int (*probe)(struct platform_device * ) ;
1325 int (*remove)(struct platform_device * ) ;
1326 void (*shutdown)(struct platform_device * ) ;
1327 int (*suspend)(struct platform_device * , pm_message_t ) ;
1328 int (*resume)(struct platform_device * ) ;
1329 struct device_driver driver ;
1330 struct platform_device_id const *id_table ;
1331};
1332#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1333void ldv_spin_lock(void) ;
1334#line 3
1335void ldv_spin_unlock(void) ;
1336#line 4
1337int ldv_spin_trylock(void) ;
1338#line 101 "include/linux/printk.h"
1339extern int printk(char const * , ...) ;
1340#line 323 "include/linux/kernel.h"
1341extern int snprintf(char * , size_t , char const * , ...) ;
1342#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
1343extern struct pv_cpu_ops pv_cpu_ops ;
1344#line 30 "include/linux/string.h"
1345extern size_t strlcpy(char * , char const * , size_t ) ;
1346#line 349 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
1347__inline static void slow_down_io(void)
1348{ unsigned long __cil_tmp1 ;
1349 void (*__cil_tmp2)(void) ;
1350
1351 {
1352 {
1353#line 351
1354 __cil_tmp1 = (unsigned long )(& pv_cpu_ops) + 216;
1355#line 351
1356 __cil_tmp2 = *((void (**)(void))__cil_tmp1);
1357#line 351
1358 (*__cil_tmp2)();
1359 }
1360#line 352
1361 return;
1362}
1363}
1364#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1365__inline static void outb(unsigned char value , int port )
1366{
1367
1368 {
1369#line 308
1370 __asm__ volatile ("outb %b0, %w1": : "a" (value), "Nd" (port));
1371#line 309
1372 return;
1373}
1374}
1375#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1376__inline static unsigned char inb(int port )
1377{ unsigned char value ;
1378
1379 {
1380#line 308
1381 __asm__ volatile ("inb %w1, %b0": "=a" (value): "Nd" (port));
1382#line 308
1383 return (value);
1384}
1385}
1386#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1387__inline static void outb_p(unsigned char value , int port )
1388{ int __cil_tmp3 ;
1389 unsigned char __cil_tmp4 ;
1390
1391 {
1392 {
1393#line 308
1394 __cil_tmp3 = (int )value;
1395#line 308
1396 __cil_tmp4 = (unsigned char )__cil_tmp3;
1397#line 308
1398 outb(__cil_tmp4, port);
1399#line 308
1400 slow_down_io();
1401 }
1402#line 309
1403 return;
1404}
1405}
1406#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1407__inline static unsigned char inb_p(int port )
1408{ unsigned char value ;
1409 unsigned char tmp ;
1410
1411 {
1412 {
1413#line 308
1414 tmp = inb(port);
1415#line 308
1416 value = tmp;
1417#line 308
1418 slow_down_io();
1419 }
1420#line 308
1421 return (value);
1422}
1423}
1424#line 26 "include/linux/export.h"
1425extern struct module __this_module ;
1426#line 220 "include/linux/slub_def.h"
1427extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
1428#line 223
1429void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
1430#line 353 "include/linux/slab.h"
1431__inline static void *kzalloc(size_t size , gfp_t flags ) ;
1432#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1433extern void *__VERIFIER_nondet_pointer(void) ;
1434#line 11
1435void ldv_check_alloc_flags(gfp_t flags ) ;
1436#line 12
1437void ldv_check_alloc_nonatomic(void) ;
1438#line 14
1439struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
1440#line 10 "include/asm-generic/delay.h"
1441extern void __const_udelay(unsigned long ) ;
1442#line 127 "include/linux/interrupt.h"
1443extern int request_threaded_irq(unsigned int , irqreturn_t (*)(int , void * ) ,
1444 irqreturn_t (*)(int , void * ) , unsigned long ,
1445 char const * , void * ) ;
1446#line 132 "include/linux/interrupt.h"
1447__inline static int request_irq(unsigned int irq , irqreturn_t (*handler)(int , void * ) ,
1448 unsigned long flags , char const *name , void *dev )
1449{ int tmp ;
1450 irqreturn_t (*__cil_tmp7)(int , void * ) ;
1451
1452 {
1453 {
1454#line 135
1455 __cil_tmp7 = (irqreturn_t (*)(int , void * ))0;
1456#line 135
1457 tmp = request_threaded_irq(irq, handler, __cil_tmp7, flags, name, dev);
1458 }
1459#line 135
1460 return (tmp);
1461}
1462}
1463#line 184
1464extern void free_irq(unsigned int , void * ) ;
1465#line 79 "include/linux/serio.h"
1466extern irqreturn_t serio_interrupt(struct serio * , unsigned char , unsigned int ) ;
1467#line 81
1468extern void __serio_register_port(struct serio * , struct module * ) ;
1469#line 87
1470extern void serio_unregister_port(struct serio * ) ;
1471#line 40 "include/linux/platform_device.h"
1472extern void platform_device_unregister(struct platform_device * ) ;
1473#line 155
1474extern struct platform_device *platform_device_alloc(char const * , int ) ;
1475#line 156
1476extern int platform_device_add_resources(struct platform_device * , struct resource const * ,
1477 unsigned int ) ;
1478#line 160
1479extern int platform_device_add(struct platform_device * ) ;
1480#line 162
1481extern void platform_device_put(struct platform_device * ) ;
1482#line 174
1483extern int platform_driver_register(struct platform_driver * ) ;
1484#line 175
1485extern void platform_driver_unregister(struct platform_driver * ) ;
1486#line 79 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1487static struct serio *ct82c710_port ;
1488#line 80 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1489static struct platform_device *ct82c710_device ;
1490#line 81 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1491static struct resource ct82c710_iores ;
1492#line 88 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1493static irqreturn_t ct82c710_interrupt(int cpl , void *dev_id )
1494{ unsigned char tmp ;
1495 irqreturn_t tmp___0 ;
1496 struct resource *__cil_tmp5 ;
1497 resource_size_t __cil_tmp6 ;
1498 int __cil_tmp7 ;
1499 int __cil_tmp8 ;
1500 unsigned char __cil_tmp9 ;
1501
1502 {
1503 {
1504#line 90
1505 __cil_tmp5 = & ct82c710_iores;
1506#line 90
1507 __cil_tmp6 = *((resource_size_t *)__cil_tmp5);
1508#line 90
1509 __cil_tmp7 = (int )__cil_tmp6;
1510#line 90
1511 tmp = inb(__cil_tmp7);
1512#line 90
1513 __cil_tmp8 = (int )tmp;
1514#line 90
1515 __cil_tmp9 = (unsigned char )__cil_tmp8;
1516#line 90
1517 tmp___0 = serio_interrupt(ct82c710_port, __cil_tmp9, 0U);
1518 }
1519#line 90
1520 return (tmp___0);
1521}
1522}
1523#line 97 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1524static int ct82c170_wait(void)
1525{ int timeout ;
1526 unsigned char tmp ;
1527 unsigned char tmp___0 ;
1528 struct resource *__cil_tmp4 ;
1529 resource_size_t __cil_tmp5 ;
1530 unsigned int __cil_tmp6 ;
1531 unsigned int __cil_tmp7 ;
1532 int __cil_tmp8 ;
1533 int __cil_tmp9 ;
1534 int __cil_tmp10 ;
1535 struct resource *__cil_tmp11 ;
1536 resource_size_t __cil_tmp12 ;
1537 int __cil_tmp13 ;
1538 struct resource *__cil_tmp14 ;
1539 resource_size_t __cil_tmp15 ;
1540 unsigned int __cil_tmp16 ;
1541 unsigned int __cil_tmp17 ;
1542 int __cil_tmp18 ;
1543 int __cil_tmp19 ;
1544 int __cil_tmp20 ;
1545
1546 {
1547#line 99
1548 timeout = 60000;
1549#line 101
1550 goto ldv_17002;
1551 ldv_17001:
1552 {
1553#line 104
1554 __cil_tmp4 = & ct82c710_iores;
1555#line 104
1556 __cil_tmp5 = *((resource_size_t *)__cil_tmp4);
1557#line 104
1558 __cil_tmp6 = (unsigned int )__cil_tmp5;
1559#line 104
1560 __cil_tmp7 = __cil_tmp6 + 1U;
1561#line 104
1562 __cil_tmp8 = (int )__cil_tmp7;
1563#line 104
1564 tmp = inb_p(__cil_tmp8);
1565 }
1566 {
1567#line 104
1568 __cil_tmp9 = (int )tmp;
1569#line 104
1570 __cil_tmp10 = __cil_tmp9 & 2;
1571#line 104
1572 if (__cil_tmp10 != 0) {
1573 {
1574#line 104
1575 __cil_tmp11 = & ct82c710_iores;
1576#line 104
1577 __cil_tmp12 = *((resource_size_t *)__cil_tmp11);
1578#line 104
1579 __cil_tmp13 = (int )__cil_tmp12;
1580#line 104
1581 inb_p(__cil_tmp13);
1582 }
1583 } else {
1584
1585 }
1586 }
1587 {
1588#line 106
1589 __const_udelay(4295UL);
1590#line 107
1591 timeout = timeout - 1;
1592 }
1593 ldv_17002:
1594 {
1595#line 101
1596 __cil_tmp14 = & ct82c710_iores;
1597#line 101
1598 __cil_tmp15 = *((resource_size_t *)__cil_tmp14);
1599#line 101
1600 __cil_tmp16 = (unsigned int )__cil_tmp15;
1601#line 101
1602 __cil_tmp17 = __cil_tmp16 + 1U;
1603#line 101
1604 __cil_tmp18 = (int )__cil_tmp17;
1605#line 101
1606 tmp___0 = inb(__cil_tmp18);
1607 }
1608 {
1609#line 101
1610 __cil_tmp19 = (int )tmp___0;
1611#line 101
1612 __cil_tmp20 = __cil_tmp19 & 7;
1613#line 101
1614 if (__cil_tmp20 != 5) {
1615#line 101
1616 if (timeout != 0) {
1617#line 103
1618 goto ldv_17001;
1619 } else {
1620#line 105
1621 goto ldv_17003;
1622 }
1623 } else {
1624#line 105
1625 goto ldv_17003;
1626 }
1627 }
1628 ldv_17003: ;
1629#line 110
1630 return (timeout == 0);
1631}
1632}
1633#line 113 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1634static void ct82c710_close(struct serio *serio )
1635{ int tmp ;
1636 unsigned char tmp___0 ;
1637 int tmp___1 ;
1638 struct resource *__cil_tmp5 ;
1639 resource_size_t __cil_tmp6 ;
1640 unsigned int __cil_tmp7 ;
1641 unsigned int __cil_tmp8 ;
1642 int __cil_tmp9 ;
1643 int __cil_tmp10 ;
1644 int __cil_tmp11 ;
1645 unsigned char __cil_tmp12 ;
1646 struct resource *__cil_tmp13 ;
1647 resource_size_t __cil_tmp14 ;
1648 unsigned int __cil_tmp15 ;
1649 unsigned int __cil_tmp16 ;
1650 int __cil_tmp17 ;
1651 void *__cil_tmp18 ;
1652
1653 {
1654 {
1655#line 115
1656 tmp = ct82c170_wait();
1657 }
1658#line 115
1659 if (tmp != 0) {
1660 {
1661#line 116
1662 printk("<4>ct82c710.c: Device busy in close()\n");
1663 }
1664 } else {
1665
1666 }
1667 {
1668#line 118
1669 __cil_tmp5 = & ct82c710_iores;
1670#line 118
1671 __cil_tmp6 = *((resource_size_t *)__cil_tmp5);
1672#line 118
1673 __cil_tmp7 = (unsigned int )__cil_tmp6;
1674#line 118
1675 __cil_tmp8 = __cil_tmp7 + 1U;
1676#line 118
1677 __cil_tmp9 = (int )__cil_tmp8;
1678#line 118
1679 tmp___0 = inb_p(__cil_tmp9);
1680#line 118
1681 __cil_tmp10 = (int )tmp___0;
1682#line 118
1683 __cil_tmp11 = __cil_tmp10 & 111;
1684#line 118
1685 __cil_tmp12 = (unsigned char )__cil_tmp11;
1686#line 118
1687 __cil_tmp13 = & ct82c710_iores;
1688#line 118
1689 __cil_tmp14 = *((resource_size_t *)__cil_tmp13);
1690#line 118
1691 __cil_tmp15 = (unsigned int )__cil_tmp14;
1692#line 118
1693 __cil_tmp16 = __cil_tmp15 + 1U;
1694#line 118
1695 __cil_tmp17 = (int )__cil_tmp16;
1696#line 118
1697 outb_p(__cil_tmp12, __cil_tmp17);
1698#line 120
1699 tmp___1 = ct82c170_wait();
1700 }
1701#line 120
1702 if (tmp___1 != 0) {
1703 {
1704#line 121
1705 printk("<4>ct82c710.c: Device busy in close()\n");
1706 }
1707 } else {
1708
1709 }
1710 {
1711#line 123
1712 __cil_tmp18 = (void *)0;
1713#line 123
1714 free_irq(12U, __cil_tmp18);
1715 }
1716#line 124
1717 return;
1718}
1719}
1720#line 126 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1721static int ct82c710_open(struct serio *serio )
1722{ unsigned char status ;
1723 int err ;
1724 int tmp ;
1725 void *__cil_tmp5 ;
1726 struct resource *__cil_tmp6 ;
1727 resource_size_t __cil_tmp7 ;
1728 unsigned int __cil_tmp8 ;
1729 unsigned int __cil_tmp9 ;
1730 int __cil_tmp10 ;
1731 unsigned int __cil_tmp11 ;
1732 unsigned int __cil_tmp12 ;
1733 int __cil_tmp13 ;
1734 unsigned char __cil_tmp14 ;
1735 struct resource *__cil_tmp15 ;
1736 resource_size_t __cil_tmp16 ;
1737 unsigned int __cil_tmp17 ;
1738 unsigned int __cil_tmp18 ;
1739 int __cil_tmp19 ;
1740 unsigned int __cil_tmp20 ;
1741 unsigned int __cil_tmp21 ;
1742 int __cil_tmp22 ;
1743 unsigned char __cil_tmp23 ;
1744 struct resource *__cil_tmp24 ;
1745 resource_size_t __cil_tmp25 ;
1746 unsigned int __cil_tmp26 ;
1747 unsigned int __cil_tmp27 ;
1748 int __cil_tmp28 ;
1749 unsigned int __cil_tmp29 ;
1750 unsigned int __cil_tmp30 ;
1751 int __cil_tmp31 ;
1752 unsigned char __cil_tmp32 ;
1753 struct resource *__cil_tmp33 ;
1754 resource_size_t __cil_tmp34 ;
1755 unsigned int __cil_tmp35 ;
1756 unsigned int __cil_tmp36 ;
1757 int __cil_tmp37 ;
1758 unsigned int __cil_tmp38 ;
1759 unsigned int __cil_tmp39 ;
1760 int __cil_tmp40 ;
1761 unsigned char __cil_tmp41 ;
1762 struct resource *__cil_tmp42 ;
1763 resource_size_t __cil_tmp43 ;
1764 unsigned int __cil_tmp44 ;
1765 unsigned int __cil_tmp45 ;
1766 int __cil_tmp46 ;
1767 void *__cil_tmp47 ;
1768
1769 {
1770 {
1771#line 131
1772 __cil_tmp5 = (void *)0;
1773#line 131
1774 err = request_irq(12U, & ct82c710_interrupt, 0UL, "ct82c710", __cil_tmp5);
1775 }
1776#line 132
1777 if (err != 0) {
1778#line 133
1779 return (err);
1780 } else {
1781
1782 }
1783 {
1784#line 135
1785 __cil_tmp6 = & ct82c710_iores;
1786#line 135
1787 __cil_tmp7 = *((resource_size_t *)__cil_tmp6);
1788#line 135
1789 __cil_tmp8 = (unsigned int )__cil_tmp7;
1790#line 135
1791 __cil_tmp9 = __cil_tmp8 + 1U;
1792#line 135
1793 __cil_tmp10 = (int )__cil_tmp9;
1794#line 135
1795 status = inb_p(__cil_tmp10);
1796#line 137
1797 __cil_tmp11 = (unsigned int )status;
1798#line 137
1799 __cil_tmp12 = __cil_tmp11 | 136U;
1800#line 137
1801 status = (unsigned char )__cil_tmp12;
1802#line 138
1803 __cil_tmp13 = (int )status;
1804#line 138
1805 __cil_tmp14 = (unsigned char )__cil_tmp13;
1806#line 138
1807 __cil_tmp15 = & ct82c710_iores;
1808#line 138
1809 __cil_tmp16 = *((resource_size_t *)__cil_tmp15);
1810#line 138
1811 __cil_tmp17 = (unsigned int )__cil_tmp16;
1812#line 138
1813 __cil_tmp18 = __cil_tmp17 + 1U;
1814#line 138
1815 __cil_tmp19 = (int )__cil_tmp18;
1816#line 138
1817 outb_p(__cil_tmp14, __cil_tmp19);
1818#line 140
1819 __cil_tmp20 = (unsigned int )status;
1820#line 140
1821 __cil_tmp21 = __cil_tmp20 & 247U;
1822#line 140
1823 status = (unsigned char )__cil_tmp21;
1824#line 141
1825 __cil_tmp22 = (int )status;
1826#line 141
1827 __cil_tmp23 = (unsigned char )__cil_tmp22;
1828#line 141
1829 __cil_tmp24 = & ct82c710_iores;
1830#line 141
1831 __cil_tmp25 = *((resource_size_t *)__cil_tmp24);
1832#line 141
1833 __cil_tmp26 = (unsigned int )__cil_tmp25;
1834#line 141
1835 __cil_tmp27 = __cil_tmp26 + 1U;
1836#line 141
1837 __cil_tmp28 = (int )__cil_tmp27;
1838#line 141
1839 outb_p(__cil_tmp23, __cil_tmp28);
1840#line 143
1841 __cil_tmp29 = (unsigned int )status;
1842#line 143
1843 __cil_tmp30 = __cil_tmp29 | 16U;
1844#line 143
1845 status = (unsigned char )__cil_tmp30;
1846#line 144
1847 __cil_tmp31 = (int )status;
1848#line 144
1849 __cil_tmp32 = (unsigned char )__cil_tmp31;
1850#line 144
1851 __cil_tmp33 = & ct82c710_iores;
1852#line 144
1853 __cil_tmp34 = *((resource_size_t *)__cil_tmp33);
1854#line 144
1855 __cil_tmp35 = (unsigned int )__cil_tmp34;
1856#line 144
1857 __cil_tmp36 = __cil_tmp35 + 1U;
1858#line 144
1859 __cil_tmp37 = (int )__cil_tmp36;
1860#line 144
1861 outb_p(__cil_tmp32, __cil_tmp37);
1862 }
1863#line 146
1864 goto ldv_17013;
1865 ldv_17012:
1866 {
1867#line 147
1868 printk("<3>ct82c710: Device busy in open()\n");
1869#line 148
1870 __cil_tmp38 = (unsigned int )status;
1871#line 148
1872 __cil_tmp39 = __cil_tmp38 & 111U;
1873#line 148
1874 status = (unsigned char )__cil_tmp39;
1875#line 149
1876 __cil_tmp40 = (int )status;
1877#line 149
1878 __cil_tmp41 = (unsigned char )__cil_tmp40;
1879#line 149
1880 __cil_tmp42 = & ct82c710_iores;
1881#line 149
1882 __cil_tmp43 = *((resource_size_t *)__cil_tmp42);
1883#line 149
1884 __cil_tmp44 = (unsigned int )__cil_tmp43;
1885#line 149
1886 __cil_tmp45 = __cil_tmp44 + 1U;
1887#line 149
1888 __cil_tmp46 = (int )__cil_tmp45;
1889#line 149
1890 outb_p(__cil_tmp41, __cil_tmp46);
1891#line 150
1892 __cil_tmp47 = (void *)0;
1893#line 150
1894 free_irq(12U, __cil_tmp47);
1895 }
1896#line 151
1897 return (-16);
1898 ldv_17013:
1899 {
1900#line 146
1901 tmp = ct82c170_wait();
1902 }
1903#line 146
1904 if (tmp != 0) {
1905#line 147
1906 goto ldv_17012;
1907 } else {
1908#line 149
1909 goto ldv_17014;
1910 }
1911 ldv_17014: ;
1912#line 154
1913 return (0);
1914}
1915}
1916#line 161 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1917static int ct82c710_write(struct serio *port , unsigned char c )
1918{ int tmp ;
1919 int __cil_tmp4 ;
1920 unsigned char __cil_tmp5 ;
1921 struct resource *__cil_tmp6 ;
1922 resource_size_t __cil_tmp7 ;
1923 int __cil_tmp8 ;
1924
1925 {
1926 {
1927#line 163
1928 tmp = ct82c170_wait();
1929 }
1930#line 163
1931 if (tmp != 0) {
1932#line 163
1933 return (-1);
1934 } else {
1935
1936 }
1937 {
1938#line 164
1939 __cil_tmp4 = (int )c;
1940#line 164
1941 __cil_tmp5 = (unsigned char )__cil_tmp4;
1942#line 164
1943 __cil_tmp6 = & ct82c710_iores;
1944#line 164
1945 __cil_tmp7 = *((resource_size_t *)__cil_tmp6);
1946#line 164
1947 __cil_tmp8 = (int )__cil_tmp7;
1948#line 164
1949 outb_p(__cil_tmp5, __cil_tmp8);
1950 }
1951#line 165
1952 return (0);
1953}
1954}
1955#line 172 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1956static int ct82c710_detect(void)
1957{ unsigned char tmp ;
1958 unsigned char tmp___0 ;
1959 unsigned int __cil_tmp3 ;
1960 struct resource *__cil_tmp4 ;
1961 int __cil_tmp5 ;
1962 int __cil_tmp6 ;
1963 unsigned long __cil_tmp7 ;
1964 struct resource *__cil_tmp8 ;
1965 resource_size_t __cil_tmp9 ;
1966 unsigned long __cil_tmp10 ;
1967
1968 {
1969 {
1970#line 174
1971 outb_p((unsigned char)85, 762);
1972#line 175
1973 outb_p((unsigned char)170, 1018);
1974#line 176
1975 outb_p((unsigned char)54, 1018);
1976#line 177
1977 outb_p((unsigned char)228, 1018);
1978#line 178
1979 outb_p((unsigned char)27, 762);
1980#line 179
1981 outb_p((unsigned char)15, 912);
1982#line 180
1983 tmp = inb_p(913);
1984 }
1985 {
1986#line 180
1987 __cil_tmp3 = (unsigned int )tmp;
1988#line 180
1989 if (__cil_tmp3 != 228U) {
1990#line 181
1991 return (-19);
1992 } else {
1993
1994 }
1995 }
1996 {
1997#line 183
1998 outb_p((unsigned char)13, 912);
1999#line 184
2000 tmp___0 = inb_p(913);
2001#line 184
2002 __cil_tmp4 = & ct82c710_iores;
2003#line 184
2004 __cil_tmp5 = (int )tmp___0;
2005#line 184
2006 __cil_tmp6 = __cil_tmp5 << 2;
2007#line 184
2008 *((resource_size_t *)__cil_tmp4) = (resource_size_t )__cil_tmp6;
2009#line 185
2010 __cil_tmp7 = (unsigned long )(& ct82c710_iores) + 8;
2011#line 185
2012 __cil_tmp8 = & ct82c710_iores;
2013#line 185
2014 __cil_tmp9 = *((resource_size_t *)__cil_tmp8);
2015#line 185
2016 *((resource_size_t *)__cil_tmp7) = __cil_tmp9 + 1ULL;
2017#line 186
2018 __cil_tmp10 = (unsigned long )(& ct82c710_iores) + 24;
2019#line 186
2020 *((unsigned long *)__cil_tmp10) = 256UL;
2021#line 187
2022 outb_p((unsigned char)15, 912);
2023#line 188
2024 outb_p((unsigned char)15, 913);
2025 }
2026#line 190
2027 return (0);
2028}
2029}
2030#line 193 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2031static int ct82c710_probe(struct platform_device *dev )
2032{ void *tmp ;
2033 struct serio *__cil_tmp3 ;
2034 unsigned long __cil_tmp4 ;
2035 unsigned long __cil_tmp5 ;
2036 unsigned long __cil_tmp6 ;
2037 unsigned long __cil_tmp7 ;
2038 unsigned long __cil_tmp8 ;
2039 unsigned long __cil_tmp9 ;
2040 unsigned long __cil_tmp10 ;
2041 unsigned long __cil_tmp11 ;
2042 unsigned long __cil_tmp12 ;
2043 unsigned long __cil_tmp13 ;
2044 unsigned long __cil_tmp14 ;
2045 unsigned long __cil_tmp15 ;
2046 unsigned long __cil_tmp16 ;
2047 unsigned long __cil_tmp17 ;
2048 unsigned long __cil_tmp18 ;
2049 unsigned long __cil_tmp19 ;
2050 char (*__cil_tmp20)[32U] ;
2051 char *__cil_tmp21 ;
2052 unsigned long __cil_tmp22 ;
2053 unsigned long __cil_tmp23 ;
2054 char (*__cil_tmp24)[32U] ;
2055 char *__cil_tmp25 ;
2056 struct resource *__cil_tmp26 ;
2057 resource_size_t __cil_tmp27 ;
2058 struct resource *__cil_tmp28 ;
2059 resource_size_t __cil_tmp29 ;
2060
2061 {
2062 {
2063#line 195
2064 tmp = kzalloc(1584UL, 208U);
2065#line 195
2066 ct82c710_port = (struct serio *)tmp;
2067 }
2068 {
2069#line 196
2070 __cil_tmp3 = (struct serio *)0;
2071#line 196
2072 __cil_tmp4 = (unsigned long )__cil_tmp3;
2073#line 196
2074 __cil_tmp5 = (unsigned long )ct82c710_port;
2075#line 196
2076 if (__cil_tmp5 == __cil_tmp4) {
2077#line 197
2078 return (-12);
2079 } else {
2080
2081 }
2082 }
2083 {
2084#line 199
2085 __cil_tmp6 = (unsigned long )ct82c710_port;
2086#line 199
2087 __cil_tmp7 = __cil_tmp6 + 73;
2088#line 199
2089 *((__u8 *)__cil_tmp7) = (__u8 )1U;
2090#line 200
2091 __cil_tmp8 = (unsigned long )ct82c710_port;
2092#line 200
2093 __cil_tmp9 = __cil_tmp8 + 416;
2094#line 200
2095 __cil_tmp10 = (unsigned long )dev;
2096#line 200
2097 __cil_tmp11 = __cil_tmp10 + 16;
2098#line 200
2099 *((struct device **)__cil_tmp9) = (struct device *)__cil_tmp11;
2100#line 201
2101 __cil_tmp12 = (unsigned long )ct82c710_port;
2102#line 201
2103 __cil_tmp13 = __cil_tmp12 + 160;
2104#line 201
2105 *((int (**)(struct serio * ))__cil_tmp13) = & ct82c710_open;
2106#line 202
2107 __cil_tmp14 = (unsigned long )ct82c710_port;
2108#line 202
2109 __cil_tmp15 = __cil_tmp14 + 168;
2110#line 202
2111 *((void (**)(struct serio * ))__cil_tmp15) = & ct82c710_close;
2112#line 203
2113 __cil_tmp16 = (unsigned long )ct82c710_port;
2114#line 203
2115 __cil_tmp17 = __cil_tmp16 + 152;
2116#line 203
2117 *((int (**)(struct serio * , unsigned char ))__cil_tmp17) = & ct82c710_write;
2118#line 204
2119 __cil_tmp18 = (unsigned long )ct82c710_port;
2120#line 204
2121 __cil_tmp19 = __cil_tmp18 + 8;
2122#line 204
2123 __cil_tmp20 = (char (*)[32U])__cil_tmp19;
2124#line 204
2125 __cil_tmp21 = (char *)__cil_tmp20;
2126#line 204
2127 strlcpy(__cil_tmp21, "C&T 82c710 mouse port", 32UL);
2128#line 206
2129 __cil_tmp22 = (unsigned long )ct82c710_port;
2130#line 206
2131 __cil_tmp23 = __cil_tmp22 + 40;
2132#line 206
2133 __cil_tmp24 = (char (*)[32U])__cil_tmp23;
2134#line 206
2135 __cil_tmp25 = (char *)__cil_tmp24;
2136#line 206
2137 __cil_tmp26 = & ct82c710_iores;
2138#line 206
2139 __cil_tmp27 = *((resource_size_t *)__cil_tmp26);
2140#line 206
2141 snprintf(__cil_tmp25, 32UL, "isa%16llx/serio0", __cil_tmp27);
2142#line 209
2143 __serio_register_port(ct82c710_port, & __this_module);
2144#line 211
2145 __cil_tmp28 = & ct82c710_iores;
2146#line 211
2147 __cil_tmp29 = *((resource_size_t *)__cil_tmp28);
2148#line 211
2149 printk("<6>serio: C&T 82c710 mouse port at %#llx irq %d\n", __cil_tmp29, 12);
2150 }
2151#line 214
2152 return (0);
2153}
2154}
2155#line 217 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2156static int ct82c710_remove(struct platform_device *dev )
2157{
2158
2159 {
2160 {
2161#line 219
2162 serio_unregister_port(ct82c710_port);
2163 }
2164#line 221
2165 return (0);
2166}
2167}
2168#line 224 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2169static struct platform_driver ct82c710_driver = {& ct82c710_probe, & ct82c710_remove, (void (*)(struct platform_device * ))0, (int (*)(struct platform_device * ,
2170 pm_message_t ))0,
2171 (int (*)(struct platform_device * ))0, {"ct82c710", (struct bus_type *)0, & __this_module,
2172 (char const *)0, (_Bool)0, (struct of_device_id const *)0,
2173 (int (*)(struct device * ))0, (int (*)(struct device * ))0,
2174 (void (*)(struct device * ))0, (int (*)(struct device * ,
2175 pm_message_t ))0,
2176 (int (*)(struct device * ))0, (struct attribute_group const **)0,
2177 (struct dev_pm_ops const *)0, (struct driver_private *)0},
2178 (struct platform_device_id const *)0};
2179#line 234 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2180static int ct82c710_init(void)
2181{ int error ;
2182 struct platform_device *__cil_tmp2 ;
2183 unsigned long __cil_tmp3 ;
2184 unsigned long __cil_tmp4 ;
2185 struct resource const *__cil_tmp5 ;
2186
2187 {
2188 {
2189#line 238
2190 error = ct82c710_detect();
2191 }
2192#line 239
2193 if (error != 0) {
2194#line 240
2195 return (error);
2196 } else {
2197
2198 }
2199 {
2200#line 242
2201 error = platform_driver_register(& ct82c710_driver);
2202 }
2203#line 243
2204 if (error != 0) {
2205#line 244
2206 return (error);
2207 } else {
2208
2209 }
2210 {
2211#line 246
2212 ct82c710_device = platform_device_alloc("ct82c710", -1);
2213 }
2214 {
2215#line 247
2216 __cil_tmp2 = (struct platform_device *)0;
2217#line 247
2218 __cil_tmp3 = (unsigned long )__cil_tmp2;
2219#line 247
2220 __cil_tmp4 = (unsigned long )ct82c710_device;
2221#line 247
2222 if (__cil_tmp4 == __cil_tmp3) {
2223#line 248
2224 error = -12;
2225#line 249
2226 goto err_unregister_driver;
2227 } else {
2228
2229 }
2230 }
2231 {
2232#line 252
2233 __cil_tmp5 = (struct resource const *)(& ct82c710_iores);
2234#line 252
2235 error = platform_device_add_resources(ct82c710_device, __cil_tmp5, 1U);
2236 }
2237#line 253
2238 if (error != 0) {
2239#line 254
2240 goto err_free_device;
2241 } else {
2242
2243 }
2244 {
2245#line 256
2246 error = platform_device_add(ct82c710_device);
2247 }
2248#line 257
2249 if (error != 0) {
2250#line 258
2251 goto err_free_device;
2252 } else {
2253
2254 }
2255#line 260
2256 return (0);
2257 err_free_device:
2258 {
2259#line 263
2260 platform_device_put(ct82c710_device);
2261 }
2262 err_unregister_driver:
2263 {
2264#line 265
2265 platform_driver_unregister(& ct82c710_driver);
2266 }
2267#line 266
2268 return (error);
2269}
2270}
2271#line 269 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2272static void ct82c710_exit(void)
2273{
2274
2275 {
2276 {
2277#line 271
2278 platform_device_unregister(ct82c710_device);
2279#line 272
2280 platform_driver_unregister(& ct82c710_driver);
2281 }
2282#line 273
2283 return;
2284}
2285}
2286#line 294
2287extern void ldv_check_final_state(void) ;
2288#line 297
2289extern void ldv_check_return_value(int ) ;
2290#line 300
2291extern void ldv_initialize(void) ;
2292#line 303
2293extern int __VERIFIER_nondet_int(void) ;
2294#line 306 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2295int LDV_IN_INTERRUPT ;
2296#line 309 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2297void main(void)
2298{ struct platform_device *var_group1 ;
2299 int res_ct82c710_probe_6 ;
2300 int var_ct82c710_interrupt_0_p0 ;
2301 void *var_ct82c710_interrupt_0_p1 ;
2302 int ldv_s_ct82c710_driver_platform_driver ;
2303 int tmp ;
2304 int tmp___0 ;
2305 int tmp___1 ;
2306
2307 {
2308 {
2309#line 390
2310 ldv_s_ct82c710_driver_platform_driver = 0;
2311#line 361
2312 LDV_IN_INTERRUPT = 1;
2313#line 370
2314 ldv_initialize();
2315#line 388
2316 tmp = ct82c710_init();
2317 }
2318#line 388
2319 if (tmp != 0) {
2320#line 389
2321 goto ldv_final;
2322 } else {
2323
2324 }
2325#line 395
2326 goto ldv_17072;
2327 ldv_17071:
2328 {
2329#line 399
2330 tmp___0 = __VERIFIER_nondet_int();
2331 }
2332#line 401
2333 if (tmp___0 == 0) {
2334#line 401
2335 goto case_0;
2336 } else
2337#line 432
2338 if (tmp___0 == 1) {
2339#line 432
2340 goto case_1;
2341 } else {
2342 {
2343#line 460
2344 goto switch_default;
2345#line 399
2346 if (0) {
2347 case_0: ;
2348#line 404
2349 if (ldv_s_ct82c710_driver_platform_driver == 0) {
2350 {
2351#line 421
2352 res_ct82c710_probe_6 = ct82c710_probe(var_group1);
2353#line 422
2354 ldv_check_return_value(res_ct82c710_probe_6);
2355 }
2356#line 423
2357 if (res_ct82c710_probe_6 != 0) {
2358#line 424
2359 goto ldv_module_exit;
2360 } else {
2361
2362 }
2363#line 425
2364 ldv_s_ct82c710_driver_platform_driver = 0;
2365 } else {
2366
2367 }
2368#line 431
2369 goto ldv_17068;
2370 case_1:
2371 {
2372#line 435
2373 LDV_IN_INTERRUPT = 2;
2374#line 452
2375 ct82c710_interrupt(var_ct82c710_interrupt_0_p0, var_ct82c710_interrupt_0_p1);
2376#line 453
2377 LDV_IN_INTERRUPT = 1;
2378 }
2379#line 459
2380 goto ldv_17068;
2381 switch_default: ;
2382#line 460
2383 goto ldv_17068;
2384 } else {
2385 switch_break: ;
2386 }
2387 }
2388 }
2389 ldv_17068: ;
2390 ldv_17072:
2391 {
2392#line 395
2393 tmp___1 = __VERIFIER_nondet_int();
2394 }
2395#line 395
2396 if (tmp___1 != 0) {
2397#line 397
2398 goto ldv_17071;
2399 } else
2400#line 395
2401 if (ldv_s_ct82c710_driver_platform_driver != 0) {
2402#line 397
2403 goto ldv_17071;
2404 } else {
2405#line 399
2406 goto ldv_17073;
2407 }
2408 ldv_17073: ;
2409 ldv_module_exit:
2410 {
2411#line 484
2412 ct82c710_exit();
2413 }
2414 ldv_final:
2415 {
2416#line 487
2417 ldv_check_final_state();
2418 }
2419#line 490
2420 return;
2421}
2422}
2423#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
2424void ldv_blast_assert(void)
2425{
2426
2427 {
2428 ERROR: ;
2429#line 6
2430 goto ERROR;
2431}
2432}
2433#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
2434extern int __VERIFIER_nondet_int(void) ;
2435#line 511 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2436int ldv_spin = 0;
2437#line 515 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2438void ldv_check_alloc_flags(gfp_t flags )
2439{
2440
2441 {
2442#line 518
2443 if (ldv_spin != 0) {
2444#line 518
2445 if (flags != 32U) {
2446 {
2447#line 518
2448 ldv_blast_assert();
2449 }
2450 } else {
2451
2452 }
2453 } else {
2454
2455 }
2456#line 521
2457 return;
2458}
2459}
2460#line 521
2461extern struct page *ldv_some_page(void) ;
2462#line 524 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2463struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
2464{ struct page *tmp ;
2465
2466 {
2467#line 527
2468 if (ldv_spin != 0) {
2469#line 527
2470 if (flags != 32U) {
2471 {
2472#line 527
2473 ldv_blast_assert();
2474 }
2475 } else {
2476
2477 }
2478 } else {
2479
2480 }
2481 {
2482#line 529
2483 tmp = ldv_some_page();
2484 }
2485#line 529
2486 return (tmp);
2487}
2488}
2489#line 533 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2490void ldv_check_alloc_nonatomic(void)
2491{
2492
2493 {
2494#line 536
2495 if (ldv_spin != 0) {
2496 {
2497#line 536
2498 ldv_blast_assert();
2499 }
2500 } else {
2501
2502 }
2503#line 539
2504 return;
2505}
2506}
2507#line 540 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2508void ldv_spin_lock(void)
2509{
2510
2511 {
2512#line 543
2513 ldv_spin = 1;
2514#line 544
2515 return;
2516}
2517}
2518#line 547 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2519void ldv_spin_unlock(void)
2520{
2521
2522 {
2523#line 550
2524 ldv_spin = 0;
2525#line 551
2526 return;
2527}
2528}
2529#line 554 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2530int ldv_spin_trylock(void)
2531{ int is_lock ;
2532
2533 {
2534 {
2535#line 559
2536 is_lock = __VERIFIER_nondet_int();
2537 }
2538#line 561
2539 if (is_lock != 0) {
2540#line 564
2541 return (0);
2542 } else {
2543#line 569
2544 ldv_spin = 1;
2545#line 571
2546 return (1);
2547 }
2548}
2549}
2550#line 738 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2551void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
2552{
2553
2554 {
2555 {
2556#line 744
2557 ldv_check_alloc_flags(ldv_func_arg2);
2558#line 746
2559 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
2560 }
2561#line 747
2562 return ((void *)0);
2563}
2564}
2565#line 749 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2566__inline static void *kzalloc(size_t size , gfp_t flags )
2567{ void *tmp ;
2568
2569 {
2570 {
2571#line 755
2572 ldv_check_alloc_flags(flags);
2573#line 756
2574 tmp = __VERIFIER_nondet_pointer();
2575 }
2576#line 756
2577 return (tmp);
2578}
2579}