1
2
3
4#line 23 "include/asm-generic/int-ll64.h"
5typedef unsigned short __u16;
6#line 26 "include/asm-generic/int-ll64.h"
7typedef unsigned int __u32;
8#line 30 "include/asm-generic/int-ll64.h"
9typedef unsigned long long __u64;
10#line 45 "include/asm-generic/int-ll64.h"
11typedef short s16;
12#line 46 "include/asm-generic/int-ll64.h"
13typedef unsigned short u16;
14#line 49 "include/asm-generic/int-ll64.h"
15typedef unsigned int u32;
16#line 51 "include/asm-generic/int-ll64.h"
17typedef long long s64;
18#line 52 "include/asm-generic/int-ll64.h"
19typedef unsigned long long u64;
20#line 14 "include/asm-generic/posix_types.h"
21typedef long __kernel_long_t;
22#line 15 "include/asm-generic/posix_types.h"
23typedef unsigned long __kernel_ulong_t;
24#line 75 "include/asm-generic/posix_types.h"
25typedef __kernel_ulong_t __kernel_size_t;
26#line 76 "include/asm-generic/posix_types.h"
27typedef __kernel_long_t __kernel_ssize_t;
28#line 91 "include/asm-generic/posix_types.h"
29typedef long long __kernel_loff_t;
30#line 21 "include/linux/types.h"
31typedef __u32 __kernel_dev_t;
32#line 24 "include/linux/types.h"
33typedef __kernel_dev_t dev_t;
34#line 27 "include/linux/types.h"
35typedef unsigned short umode_t;
36#line 38 "include/linux/types.h"
37typedef _Bool bool;
38#line 54 "include/linux/types.h"
39typedef __kernel_loff_t loff_t;
40#line 63 "include/linux/types.h"
41typedef __kernel_size_t size_t;
42#line 68 "include/linux/types.h"
43typedef __kernel_ssize_t ssize_t;
44#line 202 "include/linux/types.h"
45typedef unsigned int gfp_t;
46#line 206 "include/linux/types.h"
47typedef u64 phys_addr_t;
48#line 211 "include/linux/types.h"
49typedef phys_addr_t resource_size_t;
50#line 219 "include/linux/types.h"
51struct __anonstruct_atomic_t_7 {
52 int counter ;
53};
54#line 219 "include/linux/types.h"
55typedef struct __anonstruct_atomic_t_7 atomic_t;
56#line 224 "include/linux/types.h"
57struct __anonstruct_atomic64_t_8 {
58 long counter ;
59};
60#line 224 "include/linux/types.h"
61typedef struct __anonstruct_atomic64_t_8 atomic64_t;
62#line 229 "include/linux/types.h"
63struct list_head {
64 struct list_head *next ;
65 struct list_head *prev ;
66};
67#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
68struct module;
69#line 56
70struct module;
71#line 146 "include/linux/init.h"
72typedef void (*ctor_fn_t)(void);
73#line 47 "include/linux/dynamic_debug.h"
74struct device;
75#line 47
76struct device;
77#line 135 "include/linux/kernel.h"
78struct completion;
79#line 135
80struct completion;
81#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
82struct page;
83#line 18
84struct page;
85#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
86struct task_struct;
87#line 20
88struct task_struct;
89#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
90struct task_struct;
91#line 295 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
92struct file;
93#line 295
94struct file;
95#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
96struct page;
97#line 52
98struct task_struct;
99#line 329
100struct arch_spinlock;
101#line 329
102struct arch_spinlock;
103#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
104struct task_struct;
105#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
106struct task_struct;
107#line 10 "include/asm-generic/bug.h"
108struct bug_entry {
109 int bug_addr_disp ;
110 int file_disp ;
111 unsigned short line ;
112 unsigned short flags ;
113};
114#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
115struct static_key;
116#line 234
117struct static_key;
118#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
119struct kmem_cache;
120#line 23 "include/asm-generic/atomic-long.h"
121typedef atomic64_t atomic_long_t;
122#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
123typedef u16 __ticket_t;
124#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
125typedef u32 __ticketpair_t;
126#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
127struct __raw_tickets {
128 __ticket_t head ;
129 __ticket_t tail ;
130};
131#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
132union __anonunion____missing_field_name_36 {
133 __ticketpair_t head_tail ;
134 struct __raw_tickets tickets ;
135};
136#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
137struct arch_spinlock {
138 union __anonunion____missing_field_name_36 __annonCompField17 ;
139};
140#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
141typedef struct arch_spinlock arch_spinlock_t;
142#line 12 "include/linux/lockdep.h"
143struct task_struct;
144#line 20 "include/linux/spinlock_types.h"
145struct raw_spinlock {
146 arch_spinlock_t raw_lock ;
147 unsigned int magic ;
148 unsigned int owner_cpu ;
149 void *owner ;
150};
151#line 64 "include/linux/spinlock_types.h"
152union __anonunion____missing_field_name_39 {
153 struct raw_spinlock rlock ;
154};
155#line 64 "include/linux/spinlock_types.h"
156struct spinlock {
157 union __anonunion____missing_field_name_39 __annonCompField19 ;
158};
159#line 64 "include/linux/spinlock_types.h"
160typedef struct spinlock spinlock_t;
161#line 49 "include/linux/wait.h"
162struct __wait_queue_head {
163 spinlock_t lock ;
164 struct list_head task_list ;
165};
166#line 53 "include/linux/wait.h"
167typedef struct __wait_queue_head wait_queue_head_t;
168#line 55
169struct task_struct;
170#line 60 "include/linux/pageblock-flags.h"
171struct page;
172#line 48 "include/linux/mutex.h"
173struct mutex {
174 atomic_t count ;
175 spinlock_t wait_lock ;
176 struct list_head wait_list ;
177 struct task_struct *owner ;
178 char const *name ;
179 void *magic ;
180};
181#line 25 "include/linux/completion.h"
182struct completion {
183 unsigned int done ;
184 wait_queue_head_t wait ;
185};
186#line 9 "include/linux/memory_hotplug.h"
187struct page;
188#line 18 "include/linux/ioport.h"
189struct resource {
190 resource_size_t start ;
191 resource_size_t end ;
192 char const *name ;
193 unsigned long flags ;
194 struct resource *parent ;
195 struct resource *sibling ;
196 struct resource *child ;
197};
198#line 202
199struct device;
200#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
201struct device;
202#line 46 "include/linux/ktime.h"
203union ktime {
204 s64 tv64 ;
205};
206#line 59 "include/linux/ktime.h"
207typedef union ktime ktime_t;
208#line 10 "include/linux/timer.h"
209struct tvec_base;
210#line 10
211struct tvec_base;
212#line 12 "include/linux/timer.h"
213struct timer_list {
214 struct list_head entry ;
215 unsigned long expires ;
216 struct tvec_base *base ;
217 void (*function)(unsigned long ) ;
218 unsigned long data ;
219 int slack ;
220 int start_pid ;
221 void *start_site ;
222 char start_comm[16] ;
223};
224#line 17 "include/linux/workqueue.h"
225struct work_struct;
226#line 17
227struct work_struct;
228#line 79 "include/linux/workqueue.h"
229struct work_struct {
230 atomic_long_t data ;
231 struct list_head entry ;
232 void (*func)(struct work_struct *work ) ;
233};
234#line 42 "include/linux/pm.h"
235struct device;
236#line 50 "include/linux/pm.h"
237struct pm_message {
238 int event ;
239};
240#line 50 "include/linux/pm.h"
241typedef struct pm_message pm_message_t;
242#line 264 "include/linux/pm.h"
243struct dev_pm_ops {
244 int (*prepare)(struct device *dev ) ;
245 void (*complete)(struct device *dev ) ;
246 int (*suspend)(struct device *dev ) ;
247 int (*resume)(struct device *dev ) ;
248 int (*freeze)(struct device *dev ) ;
249 int (*thaw)(struct device *dev ) ;
250 int (*poweroff)(struct device *dev ) ;
251 int (*restore)(struct device *dev ) ;
252 int (*suspend_late)(struct device *dev ) ;
253 int (*resume_early)(struct device *dev ) ;
254 int (*freeze_late)(struct device *dev ) ;
255 int (*thaw_early)(struct device *dev ) ;
256 int (*poweroff_late)(struct device *dev ) ;
257 int (*restore_early)(struct device *dev ) ;
258 int (*suspend_noirq)(struct device *dev ) ;
259 int (*resume_noirq)(struct device *dev ) ;
260 int (*freeze_noirq)(struct device *dev ) ;
261 int (*thaw_noirq)(struct device *dev ) ;
262 int (*poweroff_noirq)(struct device *dev ) ;
263 int (*restore_noirq)(struct device *dev ) ;
264 int (*runtime_suspend)(struct device *dev ) ;
265 int (*runtime_resume)(struct device *dev ) ;
266 int (*runtime_idle)(struct device *dev ) ;
267};
268#line 458
269enum rpm_status {
270 RPM_ACTIVE = 0,
271 RPM_RESUMING = 1,
272 RPM_SUSPENDED = 2,
273 RPM_SUSPENDING = 3
274} ;
275#line 480
276enum rpm_request {
277 RPM_REQ_NONE = 0,
278 RPM_REQ_IDLE = 1,
279 RPM_REQ_SUSPEND = 2,
280 RPM_REQ_AUTOSUSPEND = 3,
281 RPM_REQ_RESUME = 4
282} ;
283#line 488
284struct wakeup_source;
285#line 488
286struct wakeup_source;
287#line 495 "include/linux/pm.h"
288struct pm_subsys_data {
289 spinlock_t lock ;
290 unsigned int refcount ;
291};
292#line 506
293struct dev_pm_qos_request;
294#line 506
295struct pm_qos_constraints;
296#line 506 "include/linux/pm.h"
297struct dev_pm_info {
298 pm_message_t power_state ;
299 unsigned int can_wakeup : 1 ;
300 unsigned int async_suspend : 1 ;
301 bool is_prepared : 1 ;
302 bool is_suspended : 1 ;
303 bool ignore_children : 1 ;
304 spinlock_t lock ;
305 struct list_head entry ;
306 struct completion completion ;
307 struct wakeup_source *wakeup ;
308 bool wakeup_path : 1 ;
309 struct timer_list suspend_timer ;
310 unsigned long timer_expires ;
311 struct work_struct work ;
312 wait_queue_head_t wait_queue ;
313 atomic_t usage_count ;
314 atomic_t child_count ;
315 unsigned int disable_depth : 3 ;
316 unsigned int idle_notification : 1 ;
317 unsigned int request_pending : 1 ;
318 unsigned int deferred_resume : 1 ;
319 unsigned int run_wake : 1 ;
320 unsigned int runtime_auto : 1 ;
321 unsigned int no_callbacks : 1 ;
322 unsigned int irq_safe : 1 ;
323 unsigned int use_autosuspend : 1 ;
324 unsigned int timer_autosuspends : 1 ;
325 enum rpm_request request ;
326 enum rpm_status runtime_status ;
327 int runtime_error ;
328 int autosuspend_delay ;
329 unsigned long last_busy ;
330 unsigned long active_jiffies ;
331 unsigned long suspended_jiffies ;
332 unsigned long accounting_timestamp ;
333 ktime_t suspend_time ;
334 s64 max_time_suspended_ns ;
335 struct dev_pm_qos_request *pq_req ;
336 struct pm_subsys_data *subsys_data ;
337 struct pm_qos_constraints *constraints ;
338};
339#line 564 "include/linux/pm.h"
340struct dev_pm_domain {
341 struct dev_pm_ops ops ;
342};
343#line 8 "include/linux/vmalloc.h"
344struct vm_area_struct;
345#line 8
346struct vm_area_struct;
347#line 994 "include/linux/mmzone.h"
348struct page;
349#line 10 "include/linux/gfp.h"
350struct vm_area_struct;
351#line 29 "include/linux/sysctl.h"
352struct completion;
353#line 49 "include/linux/kmod.h"
354struct file;
355#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
356struct task_struct;
357#line 18 "include/linux/elf.h"
358typedef __u64 Elf64_Addr;
359#line 19 "include/linux/elf.h"
360typedef __u16 Elf64_Half;
361#line 23 "include/linux/elf.h"
362typedef __u32 Elf64_Word;
363#line 24 "include/linux/elf.h"
364typedef __u64 Elf64_Xword;
365#line 194 "include/linux/elf.h"
366struct elf64_sym {
367 Elf64_Word st_name ;
368 unsigned char st_info ;
369 unsigned char st_other ;
370 Elf64_Half st_shndx ;
371 Elf64_Addr st_value ;
372 Elf64_Xword st_size ;
373};
374#line 194 "include/linux/elf.h"
375typedef struct elf64_sym Elf64_Sym;
376#line 438
377struct file;
378#line 20 "include/linux/kobject_ns.h"
379struct sock;
380#line 20
381struct sock;
382#line 21
383struct kobject;
384#line 21
385struct kobject;
386#line 27
387enum kobj_ns_type {
388 KOBJ_NS_TYPE_NONE = 0,
389 KOBJ_NS_TYPE_NET = 1,
390 KOBJ_NS_TYPES = 2
391} ;
392#line 40 "include/linux/kobject_ns.h"
393struct kobj_ns_type_operations {
394 enum kobj_ns_type type ;
395 void *(*grab_current_ns)(void) ;
396 void const *(*netlink_ns)(struct sock *sk ) ;
397 void const *(*initial_ns)(void) ;
398 void (*drop_ns)(void * ) ;
399};
400#line 22 "include/linux/sysfs.h"
401struct kobject;
402#line 23
403struct module;
404#line 24
405enum kobj_ns_type;
406#line 26 "include/linux/sysfs.h"
407struct attribute {
408 char const *name ;
409 umode_t mode ;
410};
411#line 56 "include/linux/sysfs.h"
412struct attribute_group {
413 char const *name ;
414 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
415 struct attribute **attrs ;
416};
417#line 85
418struct file;
419#line 86
420struct vm_area_struct;
421#line 88 "include/linux/sysfs.h"
422struct bin_attribute {
423 struct attribute attr ;
424 size_t size ;
425 void *private ;
426 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
427 loff_t , size_t ) ;
428 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
429 loff_t , size_t ) ;
430 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
431};
432#line 112 "include/linux/sysfs.h"
433struct sysfs_ops {
434 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
435 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
436 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
437};
438#line 118
439struct sysfs_dirent;
440#line 118
441struct sysfs_dirent;
442#line 22 "include/linux/kref.h"
443struct kref {
444 atomic_t refcount ;
445};
446#line 60 "include/linux/kobject.h"
447struct kset;
448#line 60
449struct kobj_type;
450#line 60 "include/linux/kobject.h"
451struct kobject {
452 char const *name ;
453 struct list_head entry ;
454 struct kobject *parent ;
455 struct kset *kset ;
456 struct kobj_type *ktype ;
457 struct sysfs_dirent *sd ;
458 struct kref kref ;
459 unsigned int state_initialized : 1 ;
460 unsigned int state_in_sysfs : 1 ;
461 unsigned int state_add_uevent_sent : 1 ;
462 unsigned int state_remove_uevent_sent : 1 ;
463 unsigned int uevent_suppress : 1 ;
464};
465#line 108 "include/linux/kobject.h"
466struct kobj_type {
467 void (*release)(struct kobject *kobj ) ;
468 struct sysfs_ops const *sysfs_ops ;
469 struct attribute **default_attrs ;
470 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
471 void const *(*namespace)(struct kobject *kobj ) ;
472};
473#line 116 "include/linux/kobject.h"
474struct kobj_uevent_env {
475 char *envp[32] ;
476 int envp_idx ;
477 char buf[2048] ;
478 int buflen ;
479};
480#line 123 "include/linux/kobject.h"
481struct kset_uevent_ops {
482 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
483 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
484 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
485};
486#line 140
487struct sock;
488#line 159 "include/linux/kobject.h"
489struct kset {
490 struct list_head list ;
491 spinlock_t list_lock ;
492 struct kobject kobj ;
493 struct kset_uevent_ops const *uevent_ops ;
494};
495#line 39 "include/linux/moduleparam.h"
496struct kernel_param;
497#line 39
498struct kernel_param;
499#line 41 "include/linux/moduleparam.h"
500struct kernel_param_ops {
501 int (*set)(char const *val , struct kernel_param const *kp ) ;
502 int (*get)(char *buffer , struct kernel_param const *kp ) ;
503 void (*free)(void *arg ) ;
504};
505#line 50
506struct kparam_string;
507#line 50
508struct kparam_array;
509#line 50 "include/linux/moduleparam.h"
510union __anonunion____missing_field_name_199 {
511 void *arg ;
512 struct kparam_string const *str ;
513 struct kparam_array const *arr ;
514};
515#line 50 "include/linux/moduleparam.h"
516struct kernel_param {
517 char const *name ;
518 struct kernel_param_ops const *ops ;
519 u16 perm ;
520 s16 level ;
521 union __anonunion____missing_field_name_199 __annonCompField32 ;
522};
523#line 63 "include/linux/moduleparam.h"
524struct kparam_string {
525 unsigned int maxlen ;
526 char *string ;
527};
528#line 69 "include/linux/moduleparam.h"
529struct kparam_array {
530 unsigned int max ;
531 unsigned int elemsize ;
532 unsigned int *num ;
533 struct kernel_param_ops const *ops ;
534 void *elem ;
535};
536#line 445
537struct module;
538#line 80 "include/linux/jump_label.h"
539struct module;
540#line 143 "include/linux/jump_label.h"
541struct static_key {
542 atomic_t enabled ;
543};
544#line 22 "include/linux/tracepoint.h"
545struct module;
546#line 23
547struct tracepoint;
548#line 23
549struct tracepoint;
550#line 25 "include/linux/tracepoint.h"
551struct tracepoint_func {
552 void *func ;
553 void *data ;
554};
555#line 30 "include/linux/tracepoint.h"
556struct tracepoint {
557 char const *name ;
558 struct static_key key ;
559 void (*regfunc)(void) ;
560 void (*unregfunc)(void) ;
561 struct tracepoint_func *funcs ;
562};
563#line 19 "include/linux/export.h"
564struct kernel_symbol {
565 unsigned long value ;
566 char const *name ;
567};
568#line 8 "include/asm-generic/module.h"
569struct mod_arch_specific {
570
571};
572#line 35 "include/linux/module.h"
573struct module;
574#line 37
575struct module_param_attrs;
576#line 37 "include/linux/module.h"
577struct module_kobject {
578 struct kobject kobj ;
579 struct module *mod ;
580 struct kobject *drivers_dir ;
581 struct module_param_attrs *mp ;
582};
583#line 44 "include/linux/module.h"
584struct module_attribute {
585 struct attribute attr ;
586 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
587 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
588 size_t count ) ;
589 void (*setup)(struct module * , char const * ) ;
590 int (*test)(struct module * ) ;
591 void (*free)(struct module * ) ;
592};
593#line 71
594struct exception_table_entry;
595#line 71
596struct exception_table_entry;
597#line 199
598enum module_state {
599 MODULE_STATE_LIVE = 0,
600 MODULE_STATE_COMING = 1,
601 MODULE_STATE_GOING = 2
602} ;
603#line 215 "include/linux/module.h"
604struct module_ref {
605 unsigned long incs ;
606 unsigned long decs ;
607} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
608#line 220
609struct module_sect_attrs;
610#line 220
611struct module_notes_attrs;
612#line 220
613struct ftrace_event_call;
614#line 220 "include/linux/module.h"
615struct module {
616 enum module_state state ;
617 struct list_head list ;
618 char name[64UL - sizeof(unsigned long )] ;
619 struct module_kobject mkobj ;
620 struct module_attribute *modinfo_attrs ;
621 char const *version ;
622 char const *srcversion ;
623 struct kobject *holders_dir ;
624 struct kernel_symbol const *syms ;
625 unsigned long const *crcs ;
626 unsigned int num_syms ;
627 struct kernel_param *kp ;
628 unsigned int num_kp ;
629 unsigned int num_gpl_syms ;
630 struct kernel_symbol const *gpl_syms ;
631 unsigned long const *gpl_crcs ;
632 struct kernel_symbol const *unused_syms ;
633 unsigned long const *unused_crcs ;
634 unsigned int num_unused_syms ;
635 unsigned int num_unused_gpl_syms ;
636 struct kernel_symbol const *unused_gpl_syms ;
637 unsigned long const *unused_gpl_crcs ;
638 struct kernel_symbol const *gpl_future_syms ;
639 unsigned long const *gpl_future_crcs ;
640 unsigned int num_gpl_future_syms ;
641 unsigned int num_exentries ;
642 struct exception_table_entry *extable ;
643 int (*init)(void) ;
644 void *module_init ;
645 void *module_core ;
646 unsigned int init_size ;
647 unsigned int core_size ;
648 unsigned int init_text_size ;
649 unsigned int core_text_size ;
650 unsigned int init_ro_size ;
651 unsigned int core_ro_size ;
652 struct mod_arch_specific arch ;
653 unsigned int taints ;
654 unsigned int num_bugs ;
655 struct list_head bug_list ;
656 struct bug_entry *bug_table ;
657 Elf64_Sym *symtab ;
658 Elf64_Sym *core_symtab ;
659 unsigned int num_symtab ;
660 unsigned int core_num_syms ;
661 char *strtab ;
662 char *core_strtab ;
663 struct module_sect_attrs *sect_attrs ;
664 struct module_notes_attrs *notes_attrs ;
665 char *args ;
666 void *percpu ;
667 unsigned int percpu_size ;
668 unsigned int num_tracepoints ;
669 struct tracepoint * const *tracepoints_ptrs ;
670 unsigned int num_trace_bprintk_fmt ;
671 char const **trace_bprintk_fmt_start ;
672 struct ftrace_event_call **trace_events ;
673 unsigned int num_trace_events ;
674 struct list_head source_list ;
675 struct list_head target_list ;
676 struct task_struct *waiter ;
677 void (*exit)(void) ;
678 struct module_ref *refptr ;
679 ctor_fn_t *ctors ;
680 unsigned int num_ctors ;
681};
682#line 10 "include/linux/irqreturn.h"
683enum irqreturn {
684 IRQ_NONE = 0,
685 IRQ_HANDLED = 1,
686 IRQ_WAKE_THREAD = 2
687} ;
688#line 16 "include/linux/irqreturn.h"
689typedef enum irqreturn irqreturn_t;
690#line 32 "include/linux/irq.h"
691struct module;
692#line 12 "include/linux/irqdesc.h"
693struct proc_dir_entry;
694#line 12
695struct proc_dir_entry;
696#line 14
697struct module;
698#line 16 "include/linux/profile.h"
699struct proc_dir_entry;
700#line 65
701struct task_struct;
702#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
703struct exception_table_entry {
704 unsigned long insn ;
705 unsigned long fixup ;
706};
707#line 132 "include/linux/hardirq.h"
708struct task_struct;
709#line 187 "include/linux/interrupt.h"
710struct device;
711#line 19 "include/linux/klist.h"
712struct klist_node;
713#line 19
714struct klist_node;
715#line 39 "include/linux/klist.h"
716struct klist_node {
717 void *n_klist ;
718 struct list_head n_node ;
719 struct kref n_ref ;
720};
721#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
722struct dma_map_ops;
723#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
724struct dev_archdata {
725 void *acpi_handle ;
726 struct dma_map_ops *dma_ops ;
727 void *iommu ;
728};
729#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
730struct pdev_archdata {
731
732};
733#line 28 "include/linux/device.h"
734struct device;
735#line 29
736struct device_private;
737#line 29
738struct device_private;
739#line 30
740struct device_driver;
741#line 30
742struct device_driver;
743#line 31
744struct driver_private;
745#line 31
746struct driver_private;
747#line 32
748struct module;
749#line 33
750struct class;
751#line 33
752struct class;
753#line 34
754struct subsys_private;
755#line 34
756struct subsys_private;
757#line 35
758struct bus_type;
759#line 35
760struct bus_type;
761#line 36
762struct device_node;
763#line 36
764struct device_node;
765#line 37
766struct iommu_ops;
767#line 37
768struct iommu_ops;
769#line 39 "include/linux/device.h"
770struct bus_attribute {
771 struct attribute attr ;
772 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
773 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
774};
775#line 89
776struct device_attribute;
777#line 89
778struct driver_attribute;
779#line 89 "include/linux/device.h"
780struct bus_type {
781 char const *name ;
782 char const *dev_name ;
783 struct device *dev_root ;
784 struct bus_attribute *bus_attrs ;
785 struct device_attribute *dev_attrs ;
786 struct driver_attribute *drv_attrs ;
787 int (*match)(struct device *dev , struct device_driver *drv ) ;
788 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
789 int (*probe)(struct device *dev ) ;
790 int (*remove)(struct device *dev ) ;
791 void (*shutdown)(struct device *dev ) ;
792 int (*suspend)(struct device *dev , pm_message_t state ) ;
793 int (*resume)(struct device *dev ) ;
794 struct dev_pm_ops const *pm ;
795 struct iommu_ops *iommu_ops ;
796 struct subsys_private *p ;
797};
798#line 127
799struct device_type;
800#line 214
801struct of_device_id;
802#line 214 "include/linux/device.h"
803struct device_driver {
804 char const *name ;
805 struct bus_type *bus ;
806 struct module *owner ;
807 char const *mod_name ;
808 bool suppress_bind_attrs ;
809 struct of_device_id const *of_match_table ;
810 int (*probe)(struct device *dev ) ;
811 int (*remove)(struct device *dev ) ;
812 void (*shutdown)(struct device *dev ) ;
813 int (*suspend)(struct device *dev , pm_message_t state ) ;
814 int (*resume)(struct device *dev ) ;
815 struct attribute_group const **groups ;
816 struct dev_pm_ops const *pm ;
817 struct driver_private *p ;
818};
819#line 249 "include/linux/device.h"
820struct driver_attribute {
821 struct attribute attr ;
822 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
823 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
824};
825#line 330
826struct class_attribute;
827#line 330 "include/linux/device.h"
828struct class {
829 char const *name ;
830 struct module *owner ;
831 struct class_attribute *class_attrs ;
832 struct device_attribute *dev_attrs ;
833 struct bin_attribute *dev_bin_attrs ;
834 struct kobject *dev_kobj ;
835 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
836 char *(*devnode)(struct device *dev , umode_t *mode ) ;
837 void (*class_release)(struct class *class ) ;
838 void (*dev_release)(struct device *dev ) ;
839 int (*suspend)(struct device *dev , pm_message_t state ) ;
840 int (*resume)(struct device *dev ) ;
841 struct kobj_ns_type_operations const *ns_type ;
842 void const *(*namespace)(struct device *dev ) ;
843 struct dev_pm_ops const *pm ;
844 struct subsys_private *p ;
845};
846#line 397 "include/linux/device.h"
847struct class_attribute {
848 struct attribute attr ;
849 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
850 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
851 size_t count ) ;
852 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
853};
854#line 465 "include/linux/device.h"
855struct device_type {
856 char const *name ;
857 struct attribute_group const **groups ;
858 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
859 char *(*devnode)(struct device *dev , umode_t *mode ) ;
860 void (*release)(struct device *dev ) ;
861 struct dev_pm_ops const *pm ;
862};
863#line 476 "include/linux/device.h"
864struct device_attribute {
865 struct attribute attr ;
866 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
867 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
868 size_t count ) ;
869};
870#line 559 "include/linux/device.h"
871struct device_dma_parameters {
872 unsigned int max_segment_size ;
873 unsigned long segment_boundary_mask ;
874};
875#line 627
876struct dma_coherent_mem;
877#line 627 "include/linux/device.h"
878struct device {
879 struct device *parent ;
880 struct device_private *p ;
881 struct kobject kobj ;
882 char const *init_name ;
883 struct device_type const *type ;
884 struct mutex mutex ;
885 struct bus_type *bus ;
886 struct device_driver *driver ;
887 void *platform_data ;
888 struct dev_pm_info power ;
889 struct dev_pm_domain *pm_domain ;
890 int numa_node ;
891 u64 *dma_mask ;
892 u64 coherent_dma_mask ;
893 struct device_dma_parameters *dma_parms ;
894 struct list_head dma_pools ;
895 struct dma_coherent_mem *dma_mem ;
896 struct dev_archdata archdata ;
897 struct device_node *of_node ;
898 dev_t devt ;
899 u32 id ;
900 spinlock_t devres_lock ;
901 struct list_head devres_head ;
902 struct klist_node knode_class ;
903 struct class *class ;
904 struct attribute_group const **groups ;
905 void (*release)(struct device *dev ) ;
906};
907#line 43 "include/linux/pm_wakeup.h"
908struct wakeup_source {
909 char const *name ;
910 struct list_head entry ;
911 spinlock_t lock ;
912 struct timer_list timer ;
913 unsigned long timer_expires ;
914 ktime_t total_time ;
915 ktime_t max_time ;
916 ktime_t last_time ;
917 unsigned long event_count ;
918 unsigned long active_count ;
919 unsigned long relax_count ;
920 unsigned long hit_count ;
921 unsigned int active : 1 ;
922};
923#line 12 "include/linux/mod_devicetable.h"
924typedef unsigned long kernel_ulong_t;
925#line 219 "include/linux/mod_devicetable.h"
926struct of_device_id {
927 char name[32] ;
928 char type[32] ;
929 char compatible[128] ;
930 void *data ;
931};
932#line 506 "include/linux/mod_devicetable.h"
933struct platform_device_id {
934 char name[20] ;
935 kernel_ulong_t driver_data __attribute__((__aligned__(sizeof(kernel_ulong_t )))) ;
936};
937#line 17 "include/linux/platform_device.h"
938struct mfd_cell;
939#line 17
940struct mfd_cell;
941#line 19 "include/linux/platform_device.h"
942struct platform_device {
943 char const *name ;
944 int id ;
945 struct device dev ;
946 u32 num_resources ;
947 struct resource *resource ;
948 struct platform_device_id const *id_entry ;
949 struct mfd_cell *mfd_cell ;
950 struct pdev_archdata archdata ;
951};
952#line 164 "include/linux/platform_device.h"
953struct platform_driver {
954 int (*probe)(struct platform_device * ) ;
955 int (*remove)(struct platform_device * ) ;
956 void (*shutdown)(struct platform_device * ) ;
957 int (*suspend)(struct platform_device * , pm_message_t state ) ;
958 int (*resume)(struct platform_device * ) ;
959 struct device_driver driver ;
960 struct platform_device_id const *id_table ;
961};
962#line 46 "include/linux/slub_def.h"
963struct kmem_cache_cpu {
964 void **freelist ;
965 unsigned long tid ;
966 struct page *page ;
967 struct page *partial ;
968 int node ;
969 unsigned int stat[26] ;
970};
971#line 57 "include/linux/slub_def.h"
972struct kmem_cache_node {
973 spinlock_t list_lock ;
974 unsigned long nr_partial ;
975 struct list_head partial ;
976 atomic_long_t nr_slabs ;
977 atomic_long_t total_objects ;
978 struct list_head full ;
979};
980#line 73 "include/linux/slub_def.h"
981struct kmem_cache_order_objects {
982 unsigned long x ;
983};
984#line 80 "include/linux/slub_def.h"
985struct kmem_cache {
986 struct kmem_cache_cpu *cpu_slab ;
987 unsigned long flags ;
988 unsigned long min_partial ;
989 int size ;
990 int objsize ;
991 int offset ;
992 int cpu_partial ;
993 struct kmem_cache_order_objects oo ;
994 struct kmem_cache_order_objects max ;
995 struct kmem_cache_order_objects min ;
996 gfp_t allocflags ;
997 int refcount ;
998 void (*ctor)(void * ) ;
999 int inuse ;
1000 int align ;
1001 int reserved ;
1002 char const *name ;
1003 struct list_head list ;
1004 struct kobject kobj ;
1005 int remote_node_defrag_ratio ;
1006 struct kmem_cache_node *node[1 << 10] ;
1007};
1008#line 28 "include/linux/of.h"
1009typedef u32 phandle;
1010#line 31 "include/linux/of.h"
1011struct property {
1012 char *name ;
1013 int length ;
1014 void *value ;
1015 struct property *next ;
1016 unsigned long _flags ;
1017 unsigned int unique_id ;
1018};
1019#line 44 "include/linux/of.h"
1020struct device_node {
1021 char const *name ;
1022 char const *type ;
1023 phandle phandle ;
1024 char *full_name ;
1025 struct property *properties ;
1026 struct property *deadprops ;
1027 struct device_node *parent ;
1028 struct device_node *child ;
1029 struct device_node *sibling ;
1030 struct device_node *next ;
1031 struct device_node *allnext ;
1032 struct proc_dir_entry *pde ;
1033 struct kref kref ;
1034 unsigned long _flags ;
1035 void *data ;
1036};
1037#line 44 "include/asm-generic/gpio.h"
1038struct device;
1039#line 47
1040struct module;
1041#line 48
1042struct device_node;
1043#line 21 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/android/switch/switch.h"
1044struct switch_dev {
1045 char const *name ;
1046 struct device *dev ;
1047 int index ;
1048 int state ;
1049 ssize_t (*print_name)(struct switch_dev *sdev , char *buf ) ;
1050 ssize_t (*print_state)(struct switch_dev *sdev , char *buf ) ;
1051};
1052#line 31 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/android/switch/switch.h"
1053struct gpio_switch_platform_data {
1054 char const *name ;
1055 unsigned int gpio ;
1056 char const *name_on ;
1057 char const *name_off ;
1058 char const *state_on ;
1059 char const *state_off ;
1060};
1061#line 29 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/drivers/staging/android/switch/switch_gpio.c.common.c"
1062struct gpio_switch_data {
1063 struct switch_dev sdev ;
1064 unsigned int gpio ;
1065 char const *name_on ;
1066 char const *name_off ;
1067 char const *state_on ;
1068 char const *state_off ;
1069 int irq ;
1070 struct work_struct work ;
1071};
1072#line 1 "<compiler builtins>"
1073long __builtin_expect(long val , long res ) ;
1074#line 24 "include/linux/list.h"
1075__inline static void INIT_LIST_HEAD(struct list_head *list ) __attribute__((__no_instrument_function__)) ;
1076#line 24 "include/linux/list.h"
1077__inline static void INIT_LIST_HEAD(struct list_head *list )
1078{ unsigned long __cil_tmp2 ;
1079 unsigned long __cil_tmp3 ;
1080
1081 {
1082#line 26
1083 *((struct list_head **)list) = list;
1084#line 27
1085 __cil_tmp2 = (unsigned long )list;
1086#line 27
1087 __cil_tmp3 = __cil_tmp2 + 8;
1088#line 27
1089 *((struct list_head **)__cil_tmp3) = list;
1090#line 28
1091 return;
1092}
1093}
1094#line 320 "include/linux/kernel.h"
1095extern int ( sprintf)(char *buf , char const *fmt , ...) ;
1096#line 152 "include/linux/mutex.h"
1097void mutex_lock(struct mutex *lock ) ;
1098#line 153
1099int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
1100#line 154
1101int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
1102#line 168
1103int mutex_trylock(struct mutex *lock ) ;
1104#line 169
1105void mutex_unlock(struct mutex *lock ) ;
1106#line 170
1107int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
1108#line 156 "include/linux/workqueue.h"
1109extern void __init_work(struct work_struct *work , int onstack ) ;
1110#line 380
1111extern int schedule_work(struct work_struct *work ) ;
1112#line 392
1113extern bool cancel_work_sync(struct work_struct *work ) ;
1114#line 26 "include/linux/export.h"
1115extern struct module __this_module ;
1116#line 67 "include/linux/module.h"
1117int init_module(void) ;
1118#line 68
1119void cleanup_module(void) ;
1120#line 126 "include/linux/interrupt.h"
1121extern int __attribute__((__warn_unused_result__)) request_threaded_irq(unsigned int irq ,
1122 irqreturn_t (*handler)(int ,
1123 void * ) ,
1124 irqreturn_t (*thread_fn)(int ,
1125 void * ) ,
1126 unsigned long flags ,
1127 char const *name ,
1128 void *dev ) ;
1129#line 131
1130__inline static int __attribute__((__warn_unused_result__)) request_irq(unsigned int irq ,
1131 irqreturn_t (*handler)(int ,
1132 void * ) ,
1133 unsigned long flags ,
1134 char const *name ,
1135 void *dev ) __attribute__((__no_instrument_function__)) ;
1136#line 131 "include/linux/interrupt.h"
1137__inline static int __attribute__((__warn_unused_result__)) request_irq(unsigned int irq ,
1138 irqreturn_t (*handler)(int ,
1139 void * ) ,
1140 unsigned long flags ,
1141 char const *name ,
1142 void *dev )
1143{ int tmp ;
1144 void *__cil_tmp7 ;
1145 irqreturn_t (*__cil_tmp8)(int , void * ) ;
1146
1147 {
1148 {
1149#line 135
1150 __cil_tmp7 = (void *)0;
1151#line 135
1152 __cil_tmp8 = (irqreturn_t (*)(int , void * ))__cil_tmp7;
1153#line 135
1154 tmp = (int )request_threaded_irq(irq, handler, __cil_tmp8, flags, name, dev);
1155 }
1156#line 135
1157 return (tmp);
1158}
1159}
1160#line 792 "include/linux/device.h"
1161extern void *dev_get_drvdata(struct device const *dev ) ;
1162#line 174 "include/linux/platform_device.h"
1163extern int platform_driver_register(struct platform_driver * ) ;
1164#line 175
1165extern void platform_driver_unregister(struct platform_driver * ) ;
1166#line 183
1167__inline static void *platform_get_drvdata(struct platform_device const *pdev ) __attribute__((__no_instrument_function__)) ;
1168#line 183 "include/linux/platform_device.h"
1169__inline static void *platform_get_drvdata(struct platform_device const *pdev )
1170{ void *tmp ;
1171 unsigned long __cil_tmp3 ;
1172 unsigned long __cil_tmp4 ;
1173 struct device const *__cil_tmp5 ;
1174
1175 {
1176 {
1177#line 185
1178 __cil_tmp3 = (unsigned long )pdev;
1179#line 185
1180 __cil_tmp4 = __cil_tmp3 + 16;
1181#line 185
1182 __cil_tmp5 = (struct device const *)__cil_tmp4;
1183#line 185
1184 tmp = dev_get_drvdata(__cil_tmp5);
1185 }
1186#line 185
1187 return (tmp);
1188}
1189}
1190#line 161 "include/linux/slab.h"
1191extern void kfree(void const * ) ;
1192#line 221 "include/linux/slub_def.h"
1193extern void *__kmalloc(size_t size , gfp_t flags ) ;
1194#line 268
1195__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
1196 gfp_t flags ) __attribute__((__no_instrument_function__)) ;
1197#line 268 "include/linux/slub_def.h"
1198__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
1199 gfp_t flags )
1200{ void *tmp___2 ;
1201
1202 {
1203 {
1204#line 283
1205 tmp___2 = __kmalloc(size, flags);
1206 }
1207#line 283
1208 return (tmp___2);
1209}
1210}
1211#line 349 "include/linux/slab.h"
1212__inline static void *kzalloc(size_t size , gfp_t flags ) __attribute__((__no_instrument_function__)) ;
1213#line 349 "include/linux/slab.h"
1214__inline static void *kzalloc(size_t size , gfp_t flags )
1215{ void *tmp ;
1216 unsigned int __cil_tmp4 ;
1217
1218 {
1219 {
1220#line 351
1221 __cil_tmp4 = flags | 32768U;
1222#line 351
1223 tmp = kmalloc(size, __cil_tmp4);
1224 }
1225#line 351
1226 return (tmp);
1227}
1228}
1229#line 153 "include/asm-generic/gpio.h"
1230extern int gpio_request(unsigned int gpio , char const *label ) ;
1231#line 154
1232extern void gpio_free(unsigned int gpio ) ;
1233#line 156
1234extern int gpio_direction_input(unsigned int gpio ) ;
1235#line 169
1236extern int __gpio_get_value(unsigned int gpio ) ;
1237#line 174
1238extern int __gpio_to_irq(unsigned int gpio ) ;
1239#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/gpio.h"
1240__inline static int gpio_get_value(unsigned int gpio ) __attribute__((__no_instrument_function__)) ;
1241#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/gpio.h"
1242__inline static int gpio_get_value(unsigned int gpio )
1243{ int tmp ;
1244
1245 {
1246 {
1247#line 28
1248 tmp = __gpio_get_value(gpio);
1249 }
1250#line 28
1251 return (tmp);
1252}
1253}
1254#line 41
1255__inline static int gpio_to_irq(unsigned int gpio ) __attribute__((__no_instrument_function__)) ;
1256#line 41 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/gpio.h"
1257__inline static int gpio_to_irq(unsigned int gpio )
1258{ int tmp ;
1259
1260 {
1261 {
1262#line 43
1263 tmp = __gpio_to_irq(gpio);
1264 }
1265#line 43
1266 return (tmp);
1267}
1268}
1269#line 43 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/android/switch/switch.h"
1270extern int switch_dev_register(struct switch_dev *sdev ) ;
1271#line 44
1272extern void switch_dev_unregister(struct switch_dev *sdev ) ;
1273#line 46
1274__inline static int switch_get_state(struct switch_dev *sdev ) __attribute__((__no_instrument_function__)) ;
1275#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/android/switch/switch.h"
1276__inline static int switch_get_state(struct switch_dev *sdev )
1277{ unsigned long __cil_tmp2 ;
1278 unsigned long __cil_tmp3 ;
1279
1280 {
1281 {
1282#line 48
1283 __cil_tmp2 = (unsigned long )sdev;
1284#line 48
1285 __cil_tmp3 = __cil_tmp2 + 20;
1286#line 48
1287 return (*((int *)__cil_tmp3));
1288 }
1289}
1290}
1291#line 51
1292extern void switch_set_state(struct switch_dev *sdev , int state ) ;
1293#line 40 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/drivers/staging/android/switch/switch_gpio.c.common.c"
1294static void gpio_switch_work(struct work_struct *work )
1295{ int state ;
1296 struct gpio_switch_data *data ;
1297 struct work_struct const *__mptr ;
1298 struct gpio_switch_data *__cil_tmp5 ;
1299 unsigned long __cil_tmp6 ;
1300 unsigned long __cil_tmp7 ;
1301 struct work_struct *__cil_tmp8 ;
1302 unsigned int __cil_tmp9 ;
1303 char *__cil_tmp10 ;
1304 char *__cil_tmp11 ;
1305 unsigned long __cil_tmp12 ;
1306 unsigned long __cil_tmp13 ;
1307 unsigned int __cil_tmp14 ;
1308 struct switch_dev *__cil_tmp15 ;
1309
1310 {
1311 {
1312#line 44
1313 __mptr = (struct work_struct const *)work;
1314#line 44
1315 __cil_tmp5 = (struct gpio_switch_data *)0;
1316#line 44
1317 __cil_tmp6 = (unsigned long )__cil_tmp5;
1318#line 44
1319 __cil_tmp7 = __cil_tmp6 + 88;
1320#line 44
1321 __cil_tmp8 = (struct work_struct *)__cil_tmp7;
1322#line 44
1323 __cil_tmp9 = (unsigned int )__cil_tmp8;
1324#line 44
1325 __cil_tmp10 = (char *)__mptr;
1326#line 44
1327 __cil_tmp11 = __cil_tmp10 - __cil_tmp9;
1328#line 44
1329 data = (struct gpio_switch_data *)__cil_tmp11;
1330#line 46
1331 __cil_tmp12 = (unsigned long )data;
1332#line 46
1333 __cil_tmp13 = __cil_tmp12 + 40;
1334#line 46
1335 __cil_tmp14 = *((unsigned int *)__cil_tmp13);
1336#line 46
1337 state = gpio_get_value(__cil_tmp14);
1338#line 47
1339 __cil_tmp15 = (struct switch_dev *)data;
1340#line 47
1341 switch_set_state(__cil_tmp15, state);
1342 }
1343#line 48
1344 return;
1345}
1346}
1347#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/drivers/staging/android/switch/switch_gpio.c.common.c"
1348static irqreturn_t gpio_irq_handler(int irq , void *dev_id )
1349{ struct gpio_switch_data *switch_data ;
1350 unsigned long __cil_tmp4 ;
1351 unsigned long __cil_tmp5 ;
1352 struct work_struct *__cil_tmp6 ;
1353
1354 {
1355 {
1356#line 52
1357 switch_data = (struct gpio_switch_data *)dev_id;
1358#line 55
1359 __cil_tmp4 = (unsigned long )switch_data;
1360#line 55
1361 __cil_tmp5 = __cil_tmp4 + 88;
1362#line 55
1363 __cil_tmp6 = (struct work_struct *)__cil_tmp5;
1364#line 55
1365 schedule_work(__cil_tmp6);
1366 }
1367#line 56
1368 return ((irqreturn_t )1);
1369}
1370}
1371#line 59 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/drivers/staging/android/switch/switch_gpio.c.common.c"
1372static ssize_t switch_gpio_print_state(struct switch_dev *sdev , char *buf )
1373{ struct gpio_switch_data *switch_data ;
1374 struct switch_dev const *__mptr ;
1375 char const *state ;
1376 int tmp ;
1377 int tmp___0 ;
1378 struct gpio_switch_data *__cil_tmp8 ;
1379 struct switch_dev *__cil_tmp9 ;
1380 unsigned int __cil_tmp10 ;
1381 char *__cil_tmp11 ;
1382 char *__cil_tmp12 ;
1383 unsigned long __cil_tmp13 ;
1384 unsigned long __cil_tmp14 ;
1385 unsigned long __cil_tmp15 ;
1386 unsigned long __cil_tmp16 ;
1387
1388 {
1389 {
1390#line 62
1391 __mptr = (struct switch_dev const *)sdev;
1392#line 62
1393 __cil_tmp8 = (struct gpio_switch_data *)0;
1394#line 62
1395 __cil_tmp9 = (struct switch_dev *)__cil_tmp8;
1396#line 62
1397 __cil_tmp10 = (unsigned int )__cil_tmp9;
1398#line 62
1399 __cil_tmp11 = (char *)__mptr;
1400#line 62
1401 __cil_tmp12 = __cil_tmp11 - __cil_tmp10;
1402#line 62
1403 switch_data = (struct gpio_switch_data *)__cil_tmp12;
1404#line 64
1405 tmp = switch_get_state(sdev);
1406 }
1407#line 64
1408 if (tmp) {
1409#line 65
1410 __cil_tmp13 = (unsigned long )switch_data;
1411#line 65
1412 __cil_tmp14 = __cil_tmp13 + 64;
1413#line 65
1414 state = *((char const **)__cil_tmp14);
1415 } else {
1416#line 67
1417 __cil_tmp15 = (unsigned long )switch_data;
1418#line 67
1419 __cil_tmp16 = __cil_tmp15 + 72;
1420#line 67
1421 state = *((char const **)__cil_tmp16);
1422 }
1423#line 69
1424 if (state) {
1425 {
1426#line 70
1427 tmp___0 = sprintf(buf, "%s\n", state);
1428 }
1429#line 70
1430 return ((ssize_t )tmp___0);
1431 } else {
1432
1433 }
1434#line 71
1435 return ((ssize_t )-1);
1436}
1437}
1438#line 74 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/drivers/staging/android/switch/switch_gpio.c.common.c"
1439static int gpio_switch_probe(struct platform_device *pdev )
1440{ struct gpio_switch_platform_data *pdata ;
1441 struct gpio_switch_data *switch_data ;
1442 int ret ;
1443 void *tmp ;
1444 atomic_long_t __constr_expr_0 ;
1445 unsigned long __cil_tmp7 ;
1446 unsigned long __cil_tmp8 ;
1447 unsigned long __cil_tmp9 ;
1448 void *__cil_tmp10 ;
1449 unsigned long __cil_tmp11 ;
1450 unsigned long __cil_tmp12 ;
1451 unsigned long __cil_tmp13 ;
1452 unsigned long __cil_tmp14 ;
1453 unsigned long __cil_tmp15 ;
1454 unsigned long __cil_tmp16 ;
1455 unsigned long __cil_tmp17 ;
1456 unsigned long __cil_tmp18 ;
1457 unsigned long __cil_tmp19 ;
1458 unsigned long __cil_tmp20 ;
1459 unsigned long __cil_tmp21 ;
1460 unsigned long __cil_tmp22 ;
1461 unsigned long __cil_tmp23 ;
1462 unsigned long __cil_tmp24 ;
1463 unsigned long __cil_tmp25 ;
1464 unsigned long __cil_tmp26 ;
1465 unsigned long __cil_tmp27 ;
1466 unsigned long __cil_tmp28 ;
1467 unsigned long __cil_tmp29 ;
1468 unsigned long __cil_tmp30 ;
1469 unsigned long __cil_tmp31 ;
1470 unsigned long __cil_tmp32 ;
1471 unsigned long __cil_tmp33 ;
1472 struct switch_dev *__cil_tmp34 ;
1473 unsigned long __cil_tmp35 ;
1474 unsigned long __cil_tmp36 ;
1475 unsigned int __cil_tmp37 ;
1476 char const *__cil_tmp38 ;
1477 unsigned long __cil_tmp39 ;
1478 unsigned long __cil_tmp40 ;
1479 unsigned int __cil_tmp41 ;
1480 unsigned long __cil_tmp42 ;
1481 unsigned long __cil_tmp43 ;
1482 struct work_struct *__cil_tmp44 ;
1483 unsigned long __cil_tmp45 ;
1484 unsigned long __cil_tmp46 ;
1485 unsigned long __cil_tmp47 ;
1486 unsigned long __cil_tmp48 ;
1487 unsigned long __cil_tmp49 ;
1488 struct list_head *__cil_tmp50 ;
1489 unsigned long __cil_tmp51 ;
1490 unsigned long __cil_tmp52 ;
1491 unsigned long __cil_tmp53 ;
1492 unsigned long __cil_tmp54 ;
1493 unsigned long __cil_tmp55 ;
1494 unsigned long __cil_tmp56 ;
1495 unsigned long __cil_tmp57 ;
1496 unsigned int __cil_tmp58 ;
1497 unsigned long __cil_tmp59 ;
1498 unsigned long __cil_tmp60 ;
1499 int __cil_tmp61 ;
1500 unsigned long __cil_tmp62 ;
1501 unsigned long __cil_tmp63 ;
1502 unsigned long __cil_tmp64 ;
1503 unsigned long __cil_tmp65 ;
1504 int __cil_tmp66 ;
1505 unsigned int __cil_tmp67 ;
1506 char const *__cil_tmp68 ;
1507 void *__cil_tmp69 ;
1508 unsigned long __cil_tmp70 ;
1509 unsigned long __cil_tmp71 ;
1510 struct work_struct *__cil_tmp72 ;
1511 unsigned long __cil_tmp73 ;
1512 unsigned long __cil_tmp74 ;
1513 unsigned int __cil_tmp75 ;
1514 struct switch_dev *__cil_tmp76 ;
1515 void const *__cil_tmp77 ;
1516 long __constr_expr_0_counter78 ;
1517
1518 {
1519#line 76
1520 __cil_tmp7 = 16 + 184;
1521#line 76
1522 __cil_tmp8 = (unsigned long )pdev;
1523#line 76
1524 __cil_tmp9 = __cil_tmp8 + __cil_tmp7;
1525#line 76
1526 __cil_tmp10 = *((void **)__cil_tmp9);
1527#line 76
1528 pdata = (struct gpio_switch_platform_data *)__cil_tmp10;
1529#line 78
1530 ret = 0;
1531#line 80
1532 if (! pdata) {
1533#line 81
1534 return (-16);
1535 } else {
1536
1537 }
1538 {
1539#line 83
1540 tmp = kzalloc(120UL, 208U);
1541#line 83
1542 switch_data = (struct gpio_switch_data *)tmp;
1543 }
1544#line 84
1545 if (! switch_data) {
1546#line 85
1547 return (-12);
1548 } else {
1549
1550 }
1551 {
1552#line 87
1553 *((char const **)switch_data) = *((char const **)pdata);
1554#line 88
1555 __cil_tmp11 = (unsigned long )switch_data;
1556#line 88
1557 __cil_tmp12 = __cil_tmp11 + 40;
1558#line 88
1559 __cil_tmp13 = (unsigned long )pdata;
1560#line 88
1561 __cil_tmp14 = __cil_tmp13 + 8;
1562#line 88
1563 *((unsigned int *)__cil_tmp12) = *((unsigned int *)__cil_tmp14);
1564#line 89
1565 __cil_tmp15 = (unsigned long )switch_data;
1566#line 89
1567 __cil_tmp16 = __cil_tmp15 + 48;
1568#line 89
1569 __cil_tmp17 = (unsigned long )pdata;
1570#line 89
1571 __cil_tmp18 = __cil_tmp17 + 16;
1572#line 89
1573 *((char const **)__cil_tmp16) = *((char const **)__cil_tmp18);
1574#line 90
1575 __cil_tmp19 = (unsigned long )switch_data;
1576#line 90
1577 __cil_tmp20 = __cil_tmp19 + 56;
1578#line 90
1579 __cil_tmp21 = (unsigned long )pdata;
1580#line 90
1581 __cil_tmp22 = __cil_tmp21 + 24;
1582#line 90
1583 *((char const **)__cil_tmp20) = *((char const **)__cil_tmp22);
1584#line 91
1585 __cil_tmp23 = (unsigned long )switch_data;
1586#line 91
1587 __cil_tmp24 = __cil_tmp23 + 64;
1588#line 91
1589 __cil_tmp25 = (unsigned long )pdata;
1590#line 91
1591 __cil_tmp26 = __cil_tmp25 + 32;
1592#line 91
1593 *((char const **)__cil_tmp24) = *((char const **)__cil_tmp26);
1594#line 92
1595 __cil_tmp27 = (unsigned long )switch_data;
1596#line 92
1597 __cil_tmp28 = __cil_tmp27 + 72;
1598#line 92
1599 __cil_tmp29 = (unsigned long )pdata;
1600#line 92
1601 __cil_tmp30 = __cil_tmp29 + 40;
1602#line 92
1603 *((char const **)__cil_tmp28) = *((char const **)__cil_tmp30);
1604#line 93
1605 __cil_tmp31 = 0 + 32;
1606#line 93
1607 __cil_tmp32 = (unsigned long )switch_data;
1608#line 93
1609 __cil_tmp33 = __cil_tmp32 + __cil_tmp31;
1610#line 93
1611 *((ssize_t (**)(struct switch_dev *sdev , char *buf ))__cil_tmp33) = & switch_gpio_print_state;
1612#line 95
1613 __cil_tmp34 = (struct switch_dev *)switch_data;
1614#line 95
1615 ret = switch_dev_register(__cil_tmp34);
1616 }
1617#line 96
1618 if (ret < 0) {
1619#line 97
1620 goto err_switch_dev_register;
1621 } else {
1622
1623 }
1624 {
1625#line 99
1626 __cil_tmp35 = (unsigned long )switch_data;
1627#line 99
1628 __cil_tmp36 = __cil_tmp35 + 40;
1629#line 99
1630 __cil_tmp37 = *((unsigned int *)__cil_tmp36);
1631#line 99
1632 __cil_tmp38 = *((char const **)pdev);
1633#line 99
1634 ret = gpio_request(__cil_tmp37, __cil_tmp38);
1635 }
1636#line 100
1637 if (ret < 0) {
1638#line 101
1639 goto err_request_gpio;
1640 } else {
1641
1642 }
1643 {
1644#line 103
1645 __cil_tmp39 = (unsigned long )switch_data;
1646#line 103
1647 __cil_tmp40 = __cil_tmp39 + 40;
1648#line 103
1649 __cil_tmp41 = *((unsigned int *)__cil_tmp40);
1650#line 103
1651 ret = gpio_direction_input(__cil_tmp41);
1652 }
1653#line 104
1654 if (ret < 0) {
1655#line 105
1656 goto err_request_irq;
1657 } else {
1658
1659 }
1660 {
1661#line 107
1662 while (1) {
1663 while_continue: ;
1664 {
1665#line 107
1666 while (1) {
1667 while_continue___0: ;
1668 {
1669#line 107
1670 __cil_tmp42 = (unsigned long )switch_data;
1671#line 107
1672 __cil_tmp43 = __cil_tmp42 + 88;
1673#line 107
1674 __cil_tmp44 = (struct work_struct *)__cil_tmp43;
1675#line 107
1676 __init_work(__cil_tmp44, 0);
1677#line 107
1678 __constr_expr_0_counter78 = 2097664L;
1679#line 107
1680 __cil_tmp45 = (unsigned long )switch_data;
1681#line 107
1682 __cil_tmp46 = __cil_tmp45 + 88;
1683#line 107
1684 ((atomic_long_t *)__cil_tmp46)->counter = __constr_expr_0_counter78;
1685#line 107
1686 __cil_tmp47 = 88 + 8;
1687#line 107
1688 __cil_tmp48 = (unsigned long )switch_data;
1689#line 107
1690 __cil_tmp49 = __cil_tmp48 + __cil_tmp47;
1691#line 107
1692 __cil_tmp50 = (struct list_head *)__cil_tmp49;
1693#line 107
1694 INIT_LIST_HEAD(__cil_tmp50);
1695 }
1696 {
1697#line 107
1698 while (1) {
1699 while_continue___1: ;
1700#line 107
1701 __cil_tmp51 = 88 + 24;
1702#line 107
1703 __cil_tmp52 = (unsigned long )switch_data;
1704#line 107
1705 __cil_tmp53 = __cil_tmp52 + __cil_tmp51;
1706#line 107
1707 *((void (**)(struct work_struct *work ))__cil_tmp53) = & gpio_switch_work;
1708#line 107
1709 goto while_break___1;
1710 }
1711 while_break___1: ;
1712 }
1713#line 107
1714 goto while_break___0;
1715 }
1716 while_break___0: ;
1717 }
1718#line 107
1719 goto while_break;
1720 }
1721 while_break: ;
1722 }
1723 {
1724#line 109
1725 __cil_tmp54 = (unsigned long )switch_data;
1726#line 109
1727 __cil_tmp55 = __cil_tmp54 + 80;
1728#line 109
1729 __cil_tmp56 = (unsigned long )switch_data;
1730#line 109
1731 __cil_tmp57 = __cil_tmp56 + 40;
1732#line 109
1733 __cil_tmp58 = *((unsigned int *)__cil_tmp57);
1734#line 109
1735 *((int *)__cil_tmp55) = gpio_to_irq(__cil_tmp58);
1736 }
1737 {
1738#line 110
1739 __cil_tmp59 = (unsigned long )switch_data;
1740#line 110
1741 __cil_tmp60 = __cil_tmp59 + 80;
1742#line 110
1743 __cil_tmp61 = *((int *)__cil_tmp60);
1744#line 110
1745 if (__cil_tmp61 < 0) {
1746#line 111
1747 __cil_tmp62 = (unsigned long )switch_data;
1748#line 111
1749 __cil_tmp63 = __cil_tmp62 + 80;
1750#line 111
1751 ret = *((int *)__cil_tmp63);
1752#line 112
1753 goto err_request_irq;
1754 } else {
1755
1756 }
1757 }
1758 {
1759#line 115
1760 __cil_tmp64 = (unsigned long )switch_data;
1761#line 115
1762 __cil_tmp65 = __cil_tmp64 + 80;
1763#line 115
1764 __cil_tmp66 = *((int *)__cil_tmp65);
1765#line 115
1766 __cil_tmp67 = (unsigned int )__cil_tmp66;
1767#line 115
1768 __cil_tmp68 = *((char const **)pdev);
1769#line 115
1770 __cil_tmp69 = (void *)switch_data;
1771#line 115
1772 ret = (int )request_irq(__cil_tmp67, & gpio_irq_handler, 8UL, __cil_tmp68, __cil_tmp69);
1773 }
1774#line 117
1775 if (ret < 0) {
1776#line 118
1777 goto err_request_irq;
1778 } else {
1779
1780 }
1781 {
1782#line 121
1783 __cil_tmp70 = (unsigned long )switch_data;
1784#line 121
1785 __cil_tmp71 = __cil_tmp70 + 88;
1786#line 121
1787 __cil_tmp72 = (struct work_struct *)__cil_tmp71;
1788#line 121
1789 gpio_switch_work(__cil_tmp72);
1790 }
1791#line 123
1792 return (0);
1793 err_request_irq:
1794 {
1795#line 128
1796 __cil_tmp73 = (unsigned long )switch_data;
1797#line 128
1798 __cil_tmp74 = __cil_tmp73 + 40;
1799#line 128
1800 __cil_tmp75 = *((unsigned int *)__cil_tmp74);
1801#line 128
1802 gpio_free(__cil_tmp75);
1803 }
1804 err_request_gpio:
1805 {
1806#line 130
1807 __cil_tmp76 = (struct switch_dev *)switch_data;
1808#line 130
1809 switch_dev_unregister(__cil_tmp76);
1810 }
1811 err_switch_dev_register:
1812 {
1813#line 132
1814 __cil_tmp77 = (void const *)switch_data;
1815#line 132
1816 kfree(__cil_tmp77);
1817 }
1818#line 134
1819 return (ret);
1820}
1821}
1822#line 137
1823static int gpio_switch_remove(struct platform_device *pdev ) __attribute__((__section__(".devexit.text"),
1824__no_instrument_function__)) ;
1825#line 137 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/drivers/staging/android/switch/switch_gpio.c.common.c"
1826static int gpio_switch_remove(struct platform_device *pdev )
1827{ struct gpio_switch_data *switch_data ;
1828 void *tmp ;
1829 struct platform_device const *__cil_tmp4 ;
1830 unsigned long __cil_tmp5 ;
1831 unsigned long __cil_tmp6 ;
1832 struct work_struct *__cil_tmp7 ;
1833 unsigned long __cil_tmp8 ;
1834 unsigned long __cil_tmp9 ;
1835 unsigned int __cil_tmp10 ;
1836 struct switch_dev *__cil_tmp11 ;
1837 void const *__cil_tmp12 ;
1838
1839 {
1840 {
1841#line 139
1842 __cil_tmp4 = (struct platform_device const *)pdev;
1843#line 139
1844 tmp = platform_get_drvdata(__cil_tmp4);
1845#line 139
1846 switch_data = (struct gpio_switch_data *)tmp;
1847#line 141
1848 __cil_tmp5 = (unsigned long )switch_data;
1849#line 141
1850 __cil_tmp6 = __cil_tmp5 + 88;
1851#line 141
1852 __cil_tmp7 = (struct work_struct *)__cil_tmp6;
1853#line 141
1854 cancel_work_sync(__cil_tmp7);
1855#line 142
1856 __cil_tmp8 = (unsigned long )switch_data;
1857#line 142
1858 __cil_tmp9 = __cil_tmp8 + 40;
1859#line 142
1860 __cil_tmp10 = *((unsigned int *)__cil_tmp9);
1861#line 142
1862 gpio_free(__cil_tmp10);
1863#line 143
1864 __cil_tmp11 = (struct switch_dev *)switch_data;
1865#line 143
1866 switch_dev_unregister(__cil_tmp11);
1867#line 144
1868 __cil_tmp12 = (void const *)switch_data;
1869#line 144
1870 kfree(__cil_tmp12);
1871 }
1872#line 146
1873 return (0);
1874}
1875}
1876#line 149 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/drivers/staging/android/switch/switch_gpio.c.common.c"
1877static struct platform_driver gpio_switch_driver = {& gpio_switch_probe, & gpio_switch_remove, (void (*)(struct platform_device * ))0,
1878 (int (*)(struct platform_device * , pm_message_t state ))0, (int (*)(struct platform_device * ))0,
1879 {"switch-gpio", (struct bus_type *)0, & __this_module, (char const *)0, (_Bool)0,
1880 (struct of_device_id const *)0, (int (*)(struct device *dev ))0, (int (*)(struct device *dev ))0,
1881 (void (*)(struct device *dev ))0, (int (*)(struct device *dev , pm_message_t state ))0,
1882 (int (*)(struct device *dev ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
1883 (struct driver_private *)0}, (struct platform_device_id const *)0};
1884#line 158
1885static int gpio_switch_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
1886#line 158 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/drivers/staging/android/switch/switch_gpio.c.common.c"
1887static int gpio_switch_init(void)
1888{ int tmp ;
1889
1890 {
1891 {
1892#line 160
1893 tmp = platform_driver_register(& gpio_switch_driver);
1894 }
1895#line 160
1896 return (tmp);
1897}
1898}
1899#line 163
1900static void gpio_switch_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
1901#line 163 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/drivers/staging/android/switch/switch_gpio.c.common.c"
1902static void gpio_switch_exit(void)
1903{
1904
1905 {
1906 {
1907#line 165
1908 platform_driver_unregister(& gpio_switch_driver);
1909 }
1910#line 166
1911 return;
1912}
1913}
1914#line 168 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/drivers/staging/android/switch/switch_gpio.c.common.c"
1915int init_module(void)
1916{ int tmp ;
1917
1918 {
1919 {
1920#line 168
1921 tmp = gpio_switch_init();
1922 }
1923#line 168
1924 return (tmp);
1925}
1926}
1927#line 169 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/drivers/staging/android/switch/switch_gpio.c.common.c"
1928void cleanup_module(void)
1929{
1930
1931 {
1932 {
1933#line 169
1934 gpio_switch_exit();
1935 }
1936#line 169
1937 return;
1938}
1939}
1940#line 171 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/drivers/staging/android/switch/switch_gpio.c.common.c"
1941static char const __mod_author171[44] __attribute__((__used__, __unused__, __section__(".modinfo"),
1942__aligned__(1))) =
1943#line 171
1944 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
1945 (char const )'o', (char const )'r', (char const )'=', (char const )'M',
1946 (char const )'i', (char const )'k', (char const )'e', (char const )' ',
1947 (char const )'L', (char const )'o', (char const )'c', (char const )'k',
1948 (char const )'w', (char const )'o', (char const )'o', (char const )'d',
1949 (char const )' ', (char const )'<', (char const )'l', (char const )'o',
1950 (char const )'c', (char const )'k', (char const )'w', (char const )'o',
1951 (char const )'o', (char const )'d', (char const )'@', (char const )'a',
1952 (char const )'n', (char const )'d', (char const )'r', (char const )'o',
1953 (char const )'i', (char const )'d', (char const )'.', (char const )'c',
1954 (char const )'o', (char const )'m', (char const )'>', (char const )'\000'};
1955#line 172 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/drivers/staging/android/switch/switch_gpio.c.common.c"
1956static char const __mod_description172[31] __attribute__((__used__, __unused__,
1957__section__(".modinfo"), __aligned__(1))) =
1958#line 172
1959 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
1960 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
1961 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
1962 (char const )'G', (char const )'P', (char const )'I', (char const )'O',
1963 (char const )' ', (char const )'S', (char const )'w', (char const )'i',
1964 (char const )'t', (char const )'c', (char const )'h', (char const )' ',
1965 (char const )'d', (char const )'r', (char const )'i', (char const )'v',
1966 (char const )'e', (char const )'r', (char const )'\000'};
1967#line 173 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/drivers/staging/android/switch/switch_gpio.c.common.c"
1968static char const __mod_license173[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
1969__aligned__(1))) =
1970#line 173
1971 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
1972 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
1973 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
1974#line 191
1975void ldv_check_final_state(void) ;
1976#line 194
1977extern void ldv_check_return_value(int res ) ;
1978#line 197
1979extern void ldv_initialize(void) ;
1980#line 200
1981extern int __VERIFIER_nondet_int(void) ;
1982#line 203 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/drivers/staging/android/switch/switch_gpio.c.common.c"
1983int LDV_IN_INTERRUPT ;
1984#line 218 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/drivers/staging/android/switch/switch_gpio.c.common.c"
1985static int res_gpio_switch_probe_3 ;
1986#line 206 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/drivers/staging/android/switch/switch_gpio.c.common.c"
1987void main(void)
1988{ struct platform_device *var_group1 ;
1989 int var_gpio_irq_handler_1_p0 ;
1990 void *var_gpio_irq_handler_1_p1 ;
1991 int tmp ;
1992 int ldv_s_gpio_switch_driver_platform_driver ;
1993 int tmp___0 ;
1994 int tmp___1 ;
1995 int __cil_tmp8 ;
1996
1997 {
1998 {
1999#line 234
2000 LDV_IN_INTERRUPT = 1;
2001#line 243
2002 ldv_initialize();
2003#line 249
2004 tmp = gpio_switch_init();
2005 }
2006#line 249
2007 if (tmp) {
2008#line 250
2009 goto ldv_final;
2010 } else {
2011
2012 }
2013#line 251
2014 ldv_s_gpio_switch_driver_platform_driver = 0;
2015 {
2016#line 256
2017 while (1) {
2018 while_continue: ;
2019 {
2020#line 256
2021 tmp___1 = __VERIFIER_nondet_int();
2022 }
2023#line 256
2024 if (tmp___1) {
2025
2026 } else {
2027 {
2028#line 256
2029 __cil_tmp8 = ldv_s_gpio_switch_driver_platform_driver == 0;
2030#line 256
2031 if (! __cil_tmp8) {
2032
2033 } else {
2034#line 256
2035 goto while_break;
2036 }
2037 }
2038 }
2039 {
2040#line 260
2041 tmp___0 = __VERIFIER_nondet_int();
2042 }
2043#line 262
2044 if (tmp___0 == 0) {
2045#line 262
2046 goto case_0;
2047 } else
2048#line 281
2049 if (tmp___0 == 1) {
2050#line 281
2051 goto case_1;
2052 } else {
2053 {
2054#line 297
2055 goto switch_default;
2056#line 260
2057 if (0) {
2058 case_0:
2059#line 265
2060 if (ldv_s_gpio_switch_driver_platform_driver == 0) {
2061 {
2062#line 270
2063 res_gpio_switch_probe_3 = gpio_switch_probe(var_group1);
2064#line 271
2065 ldv_check_return_value(res_gpio_switch_probe_3);
2066 }
2067#line 272
2068 if (res_gpio_switch_probe_3) {
2069#line 273
2070 goto ldv_module_exit;
2071 } else {
2072
2073 }
2074#line 274
2075 ldv_s_gpio_switch_driver_platform_driver = 0;
2076 } else {
2077
2078 }
2079#line 280
2080 goto switch_break;
2081 case_1:
2082 {
2083#line 284
2084 LDV_IN_INTERRUPT = 2;
2085#line 289
2086 gpio_irq_handler(var_gpio_irq_handler_1_p0, var_gpio_irq_handler_1_p1);
2087#line 290
2088 LDV_IN_INTERRUPT = 1;
2089 }
2090#line 296
2091 goto switch_break;
2092 switch_default:
2093#line 297
2094 goto switch_break;
2095 } else {
2096 switch_break: ;
2097 }
2098 }
2099 }
2100 }
2101 while_break: ;
2102 }
2103 ldv_module_exit:
2104 {
2105#line 309
2106 gpio_switch_exit();
2107 }
2108 ldv_final:
2109 {
2110#line 312
2111 ldv_check_final_state();
2112 }
2113#line 315
2114 return;
2115}
2116}
2117#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
2118void ldv_blast_assert(void)
2119{
2120
2121 {
2122 ERROR:
2123#line 6
2124 goto ERROR;
2125}
2126}
2127#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
2128extern int __VERIFIER_nondet_int(void) ;
2129#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2130int ldv_mutex = 1;
2131#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2132int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
2133{ int nondetermined ;
2134
2135 {
2136#line 29
2137 if (ldv_mutex == 1) {
2138
2139 } else {
2140 {
2141#line 29
2142 ldv_blast_assert();
2143 }
2144 }
2145 {
2146#line 32
2147 nondetermined = __VERIFIER_nondet_int();
2148 }
2149#line 35
2150 if (nondetermined) {
2151#line 38
2152 ldv_mutex = 2;
2153#line 40
2154 return (0);
2155 } else {
2156#line 45
2157 return (-4);
2158 }
2159}
2160}
2161#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2162int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
2163{ int nondetermined ;
2164
2165 {
2166#line 57
2167 if (ldv_mutex == 1) {
2168
2169 } else {
2170 {
2171#line 57
2172 ldv_blast_assert();
2173 }
2174 }
2175 {
2176#line 60
2177 nondetermined = __VERIFIER_nondet_int();
2178 }
2179#line 63
2180 if (nondetermined) {
2181#line 66
2182 ldv_mutex = 2;
2183#line 68
2184 return (0);
2185 } else {
2186#line 73
2187 return (-4);
2188 }
2189}
2190}
2191#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2192int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
2193{ int atomic_value_after_dec ;
2194
2195 {
2196#line 83
2197 if (ldv_mutex == 1) {
2198
2199 } else {
2200 {
2201#line 83
2202 ldv_blast_assert();
2203 }
2204 }
2205 {
2206#line 86
2207 atomic_value_after_dec = __VERIFIER_nondet_int();
2208 }
2209#line 89
2210 if (atomic_value_after_dec == 0) {
2211#line 92
2212 ldv_mutex = 2;
2213#line 94
2214 return (1);
2215 } else {
2216
2217 }
2218#line 98
2219 return (0);
2220}
2221}
2222#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2223void mutex_lock(struct mutex *lock )
2224{
2225
2226 {
2227#line 108
2228 if (ldv_mutex == 1) {
2229
2230 } else {
2231 {
2232#line 108
2233 ldv_blast_assert();
2234 }
2235 }
2236#line 110
2237 ldv_mutex = 2;
2238#line 111
2239 return;
2240}
2241}
2242#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2243int mutex_trylock(struct mutex *lock )
2244{ int nondetermined ;
2245
2246 {
2247#line 121
2248 if (ldv_mutex == 1) {
2249
2250 } else {
2251 {
2252#line 121
2253 ldv_blast_assert();
2254 }
2255 }
2256 {
2257#line 124
2258 nondetermined = __VERIFIER_nondet_int();
2259 }
2260#line 127
2261 if (nondetermined) {
2262#line 130
2263 ldv_mutex = 2;
2264#line 132
2265 return (1);
2266 } else {
2267#line 137
2268 return (0);
2269 }
2270}
2271}
2272#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2273void mutex_unlock(struct mutex *lock )
2274{
2275
2276 {
2277#line 147
2278 if (ldv_mutex == 2) {
2279
2280 } else {
2281 {
2282#line 147
2283 ldv_blast_assert();
2284 }
2285 }
2286#line 149
2287 ldv_mutex = 1;
2288#line 150
2289 return;
2290}
2291}
2292#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2293void ldv_check_final_state(void)
2294{
2295
2296 {
2297#line 156
2298 if (ldv_mutex == 1) {
2299
2300 } else {
2301 {
2302#line 156
2303 ldv_blast_assert();
2304 }
2305 }
2306#line 157
2307 return;
2308}
2309}
2310#line 324 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1202/dscv_tempdir/dscv/ri/32_1/drivers/staging/android/switch/switch_gpio.c.common.c"
2311long s__builtin_expect(long val , long res )
2312{
2313
2314 {
2315#line 325
2316 return (val);
2317}
2318}