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 313
96struct seq_file;
97#line 313
98struct seq_file;
99#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
100struct page;
101#line 52
102struct task_struct;
103#line 329
104struct arch_spinlock;
105#line 329
106struct arch_spinlock;
107#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
108struct task_struct;
109#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
110struct task_struct;
111#line 10 "include/asm-generic/bug.h"
112struct bug_entry {
113 int bug_addr_disp ;
114 int file_disp ;
115 unsigned short line ;
116 unsigned short flags ;
117};
118#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
119struct static_key;
120#line 234
121struct static_key;
122#line 153 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
123struct seq_operations;
124#line 433
125struct kmem_cache;
126#line 23 "include/asm-generic/atomic-long.h"
127typedef atomic64_t atomic_long_t;
128#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
129typedef u16 __ticket_t;
130#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
131typedef u32 __ticketpair_t;
132#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
133struct __raw_tickets {
134 __ticket_t head ;
135 __ticket_t tail ;
136};
137#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
138union __anonunion____missing_field_name_36 {
139 __ticketpair_t head_tail ;
140 struct __raw_tickets tickets ;
141};
142#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
143struct arch_spinlock {
144 union __anonunion____missing_field_name_36 __annonCompField17 ;
145};
146#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
147typedef struct arch_spinlock arch_spinlock_t;
148#line 12 "include/linux/lockdep.h"
149struct task_struct;
150#line 20 "include/linux/spinlock_types.h"
151struct raw_spinlock {
152 arch_spinlock_t raw_lock ;
153 unsigned int magic ;
154 unsigned int owner_cpu ;
155 void *owner ;
156};
157#line 64 "include/linux/spinlock_types.h"
158union __anonunion____missing_field_name_39 {
159 struct raw_spinlock rlock ;
160};
161#line 64 "include/linux/spinlock_types.h"
162struct spinlock {
163 union __anonunion____missing_field_name_39 __annonCompField19 ;
164};
165#line 64 "include/linux/spinlock_types.h"
166typedef struct spinlock spinlock_t;
167#line 49 "include/linux/wait.h"
168struct __wait_queue_head {
169 spinlock_t lock ;
170 struct list_head task_list ;
171};
172#line 53 "include/linux/wait.h"
173typedef struct __wait_queue_head wait_queue_head_t;
174#line 55
175struct task_struct;
176#line 60 "include/linux/pageblock-flags.h"
177struct page;
178#line 48 "include/linux/mutex.h"
179struct mutex {
180 atomic_t count ;
181 spinlock_t wait_lock ;
182 struct list_head wait_list ;
183 struct task_struct *owner ;
184 char const *name ;
185 void *magic ;
186};
187#line 25 "include/linux/completion.h"
188struct completion {
189 unsigned int done ;
190 wait_queue_head_t wait ;
191};
192#line 9 "include/linux/memory_hotplug.h"
193struct page;
194#line 18 "include/linux/ioport.h"
195struct resource {
196 resource_size_t start ;
197 resource_size_t end ;
198 char const *name ;
199 unsigned long flags ;
200 struct resource *parent ;
201 struct resource *sibling ;
202 struct resource *child ;
203};
204#line 202
205struct device;
206#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
207struct device;
208#line 46 "include/linux/ktime.h"
209union ktime {
210 s64 tv64 ;
211};
212#line 59 "include/linux/ktime.h"
213typedef union ktime ktime_t;
214#line 10 "include/linux/timer.h"
215struct tvec_base;
216#line 10
217struct tvec_base;
218#line 12 "include/linux/timer.h"
219struct timer_list {
220 struct list_head entry ;
221 unsigned long expires ;
222 struct tvec_base *base ;
223 void (*function)(unsigned long ) ;
224 unsigned long data ;
225 int slack ;
226 int start_pid ;
227 void *start_site ;
228 char start_comm[16] ;
229};
230#line 17 "include/linux/workqueue.h"
231struct work_struct;
232#line 17
233struct work_struct;
234#line 79 "include/linux/workqueue.h"
235struct work_struct {
236 atomic_long_t data ;
237 struct list_head entry ;
238 void (*func)(struct work_struct *work ) ;
239};
240#line 42 "include/linux/pm.h"
241struct device;
242#line 50 "include/linux/pm.h"
243struct pm_message {
244 int event ;
245};
246#line 50 "include/linux/pm.h"
247typedef struct pm_message pm_message_t;
248#line 264 "include/linux/pm.h"
249struct dev_pm_ops {
250 int (*prepare)(struct device *dev ) ;
251 void (*complete)(struct device *dev ) ;
252 int (*suspend)(struct device *dev ) ;
253 int (*resume)(struct device *dev ) ;
254 int (*freeze)(struct device *dev ) ;
255 int (*thaw)(struct device *dev ) ;
256 int (*poweroff)(struct device *dev ) ;
257 int (*restore)(struct device *dev ) ;
258 int (*suspend_late)(struct device *dev ) ;
259 int (*resume_early)(struct device *dev ) ;
260 int (*freeze_late)(struct device *dev ) ;
261 int (*thaw_early)(struct device *dev ) ;
262 int (*poweroff_late)(struct device *dev ) ;
263 int (*restore_early)(struct device *dev ) ;
264 int (*suspend_noirq)(struct device *dev ) ;
265 int (*resume_noirq)(struct device *dev ) ;
266 int (*freeze_noirq)(struct device *dev ) ;
267 int (*thaw_noirq)(struct device *dev ) ;
268 int (*poweroff_noirq)(struct device *dev ) ;
269 int (*restore_noirq)(struct device *dev ) ;
270 int (*runtime_suspend)(struct device *dev ) ;
271 int (*runtime_resume)(struct device *dev ) ;
272 int (*runtime_idle)(struct device *dev ) ;
273};
274#line 458
275enum rpm_status {
276 RPM_ACTIVE = 0,
277 RPM_RESUMING = 1,
278 RPM_SUSPENDED = 2,
279 RPM_SUSPENDING = 3
280} ;
281#line 480
282enum rpm_request {
283 RPM_REQ_NONE = 0,
284 RPM_REQ_IDLE = 1,
285 RPM_REQ_SUSPEND = 2,
286 RPM_REQ_AUTOSUSPEND = 3,
287 RPM_REQ_RESUME = 4
288} ;
289#line 488
290struct wakeup_source;
291#line 488
292struct wakeup_source;
293#line 495 "include/linux/pm.h"
294struct pm_subsys_data {
295 spinlock_t lock ;
296 unsigned int refcount ;
297};
298#line 506
299struct dev_pm_qos_request;
300#line 506
301struct pm_qos_constraints;
302#line 506 "include/linux/pm.h"
303struct dev_pm_info {
304 pm_message_t power_state ;
305 unsigned int can_wakeup : 1 ;
306 unsigned int async_suspend : 1 ;
307 bool is_prepared : 1 ;
308 bool is_suspended : 1 ;
309 bool ignore_children : 1 ;
310 spinlock_t lock ;
311 struct list_head entry ;
312 struct completion completion ;
313 struct wakeup_source *wakeup ;
314 bool wakeup_path : 1 ;
315 struct timer_list suspend_timer ;
316 unsigned long timer_expires ;
317 struct work_struct work ;
318 wait_queue_head_t wait_queue ;
319 atomic_t usage_count ;
320 atomic_t child_count ;
321 unsigned int disable_depth : 3 ;
322 unsigned int idle_notification : 1 ;
323 unsigned int request_pending : 1 ;
324 unsigned int deferred_resume : 1 ;
325 unsigned int run_wake : 1 ;
326 unsigned int runtime_auto : 1 ;
327 unsigned int no_callbacks : 1 ;
328 unsigned int irq_safe : 1 ;
329 unsigned int use_autosuspend : 1 ;
330 unsigned int timer_autosuspends : 1 ;
331 enum rpm_request request ;
332 enum rpm_status runtime_status ;
333 int runtime_error ;
334 int autosuspend_delay ;
335 unsigned long last_busy ;
336 unsigned long active_jiffies ;
337 unsigned long suspended_jiffies ;
338 unsigned long accounting_timestamp ;
339 ktime_t suspend_time ;
340 s64 max_time_suspended_ns ;
341 struct dev_pm_qos_request *pq_req ;
342 struct pm_subsys_data *subsys_data ;
343 struct pm_qos_constraints *constraints ;
344};
345#line 564 "include/linux/pm.h"
346struct dev_pm_domain {
347 struct dev_pm_ops ops ;
348};
349#line 8 "include/linux/vmalloc.h"
350struct vm_area_struct;
351#line 8
352struct vm_area_struct;
353#line 994 "include/linux/mmzone.h"
354struct page;
355#line 10 "include/linux/gfp.h"
356struct vm_area_struct;
357#line 20 "include/linux/kobject_ns.h"
358struct sock;
359#line 20
360struct sock;
361#line 21
362struct kobject;
363#line 21
364struct kobject;
365#line 27
366enum kobj_ns_type {
367 KOBJ_NS_TYPE_NONE = 0,
368 KOBJ_NS_TYPE_NET = 1,
369 KOBJ_NS_TYPES = 2
370} ;
371#line 40 "include/linux/kobject_ns.h"
372struct kobj_ns_type_operations {
373 enum kobj_ns_type type ;
374 void *(*grab_current_ns)(void) ;
375 void const *(*netlink_ns)(struct sock *sk ) ;
376 void const *(*initial_ns)(void) ;
377 void (*drop_ns)(void * ) ;
378};
379#line 22 "include/linux/sysfs.h"
380struct kobject;
381#line 23
382struct module;
383#line 24
384enum kobj_ns_type;
385#line 26 "include/linux/sysfs.h"
386struct attribute {
387 char const *name ;
388 umode_t mode ;
389};
390#line 56 "include/linux/sysfs.h"
391struct attribute_group {
392 char const *name ;
393 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
394 struct attribute **attrs ;
395};
396#line 85
397struct file;
398#line 86
399struct vm_area_struct;
400#line 88 "include/linux/sysfs.h"
401struct bin_attribute {
402 struct attribute attr ;
403 size_t size ;
404 void *private ;
405 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
406 loff_t , size_t ) ;
407 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
408 loff_t , size_t ) ;
409 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
410};
411#line 112 "include/linux/sysfs.h"
412struct sysfs_ops {
413 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
414 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
415 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
416};
417#line 118
418struct sysfs_dirent;
419#line 118
420struct sysfs_dirent;
421#line 22 "include/linux/kref.h"
422struct kref {
423 atomic_t refcount ;
424};
425#line 60 "include/linux/kobject.h"
426struct kset;
427#line 60
428struct kobj_type;
429#line 60 "include/linux/kobject.h"
430struct kobject {
431 char const *name ;
432 struct list_head entry ;
433 struct kobject *parent ;
434 struct kset *kset ;
435 struct kobj_type *ktype ;
436 struct sysfs_dirent *sd ;
437 struct kref kref ;
438 unsigned int state_initialized : 1 ;
439 unsigned int state_in_sysfs : 1 ;
440 unsigned int state_add_uevent_sent : 1 ;
441 unsigned int state_remove_uevent_sent : 1 ;
442 unsigned int uevent_suppress : 1 ;
443};
444#line 108 "include/linux/kobject.h"
445struct kobj_type {
446 void (*release)(struct kobject *kobj ) ;
447 struct sysfs_ops const *sysfs_ops ;
448 struct attribute **default_attrs ;
449 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
450 void const *(*namespace)(struct kobject *kobj ) ;
451};
452#line 116 "include/linux/kobject.h"
453struct kobj_uevent_env {
454 char *envp[32] ;
455 int envp_idx ;
456 char buf[2048] ;
457 int buflen ;
458};
459#line 123 "include/linux/kobject.h"
460struct kset_uevent_ops {
461 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
462 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
463 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
464};
465#line 140
466struct sock;
467#line 159 "include/linux/kobject.h"
468struct kset {
469 struct list_head list ;
470 spinlock_t list_lock ;
471 struct kobject kobj ;
472 struct kset_uevent_ops const *uevent_ops ;
473};
474#line 46 "include/linux/slub_def.h"
475struct kmem_cache_cpu {
476 void **freelist ;
477 unsigned long tid ;
478 struct page *page ;
479 struct page *partial ;
480 int node ;
481 unsigned int stat[26] ;
482};
483#line 57 "include/linux/slub_def.h"
484struct kmem_cache_node {
485 spinlock_t list_lock ;
486 unsigned long nr_partial ;
487 struct list_head partial ;
488 atomic_long_t nr_slabs ;
489 atomic_long_t total_objects ;
490 struct list_head full ;
491};
492#line 73 "include/linux/slub_def.h"
493struct kmem_cache_order_objects {
494 unsigned long x ;
495};
496#line 80 "include/linux/slub_def.h"
497struct kmem_cache {
498 struct kmem_cache_cpu *cpu_slab ;
499 unsigned long flags ;
500 unsigned long min_partial ;
501 int size ;
502 int objsize ;
503 int offset ;
504 int cpu_partial ;
505 struct kmem_cache_order_objects oo ;
506 struct kmem_cache_order_objects max ;
507 struct kmem_cache_order_objects min ;
508 gfp_t allocflags ;
509 int refcount ;
510 void (*ctor)(void * ) ;
511 int inuse ;
512 int align ;
513 int reserved ;
514 char const *name ;
515 struct list_head list ;
516 struct kobject kobj ;
517 int remote_node_defrag_ratio ;
518 struct kmem_cache_node *node[1 << 10] ;
519};
520#line 29 "include/linux/sysctl.h"
521struct completion;
522#line 49 "include/linux/kmod.h"
523struct file;
524#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
525struct task_struct;
526#line 18 "include/linux/elf.h"
527typedef __u64 Elf64_Addr;
528#line 19 "include/linux/elf.h"
529typedef __u16 Elf64_Half;
530#line 23 "include/linux/elf.h"
531typedef __u32 Elf64_Word;
532#line 24 "include/linux/elf.h"
533typedef __u64 Elf64_Xword;
534#line 194 "include/linux/elf.h"
535struct elf64_sym {
536 Elf64_Word st_name ;
537 unsigned char st_info ;
538 unsigned char st_other ;
539 Elf64_Half st_shndx ;
540 Elf64_Addr st_value ;
541 Elf64_Xword st_size ;
542};
543#line 194 "include/linux/elf.h"
544typedef struct elf64_sym Elf64_Sym;
545#line 438
546struct file;
547#line 39 "include/linux/moduleparam.h"
548struct kernel_param;
549#line 39
550struct kernel_param;
551#line 41 "include/linux/moduleparam.h"
552struct kernel_param_ops {
553 int (*set)(char const *val , struct kernel_param const *kp ) ;
554 int (*get)(char *buffer , struct kernel_param const *kp ) ;
555 void (*free)(void *arg ) ;
556};
557#line 50
558struct kparam_string;
559#line 50
560struct kparam_array;
561#line 50 "include/linux/moduleparam.h"
562union __anonunion____missing_field_name_199 {
563 void *arg ;
564 struct kparam_string const *str ;
565 struct kparam_array const *arr ;
566};
567#line 50 "include/linux/moduleparam.h"
568struct kernel_param {
569 char const *name ;
570 struct kernel_param_ops const *ops ;
571 u16 perm ;
572 s16 level ;
573 union __anonunion____missing_field_name_199 __annonCompField32 ;
574};
575#line 63 "include/linux/moduleparam.h"
576struct kparam_string {
577 unsigned int maxlen ;
578 char *string ;
579};
580#line 69 "include/linux/moduleparam.h"
581struct kparam_array {
582 unsigned int max ;
583 unsigned int elemsize ;
584 unsigned int *num ;
585 struct kernel_param_ops const *ops ;
586 void *elem ;
587};
588#line 445
589struct module;
590#line 80 "include/linux/jump_label.h"
591struct module;
592#line 143 "include/linux/jump_label.h"
593struct static_key {
594 atomic_t enabled ;
595};
596#line 22 "include/linux/tracepoint.h"
597struct module;
598#line 23
599struct tracepoint;
600#line 23
601struct tracepoint;
602#line 25 "include/linux/tracepoint.h"
603struct tracepoint_func {
604 void *func ;
605 void *data ;
606};
607#line 30 "include/linux/tracepoint.h"
608struct tracepoint {
609 char const *name ;
610 struct static_key key ;
611 void (*regfunc)(void) ;
612 void (*unregfunc)(void) ;
613 struct tracepoint_func *funcs ;
614};
615#line 19 "include/linux/export.h"
616struct kernel_symbol {
617 unsigned long value ;
618 char const *name ;
619};
620#line 8 "include/asm-generic/module.h"
621struct mod_arch_specific {
622
623};
624#line 35 "include/linux/module.h"
625struct module;
626#line 37
627struct module_param_attrs;
628#line 37 "include/linux/module.h"
629struct module_kobject {
630 struct kobject kobj ;
631 struct module *mod ;
632 struct kobject *drivers_dir ;
633 struct module_param_attrs *mp ;
634};
635#line 44 "include/linux/module.h"
636struct module_attribute {
637 struct attribute attr ;
638 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
639 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
640 size_t count ) ;
641 void (*setup)(struct module * , char const * ) ;
642 int (*test)(struct module * ) ;
643 void (*free)(struct module * ) ;
644};
645#line 71
646struct exception_table_entry;
647#line 71
648struct exception_table_entry;
649#line 199
650enum module_state {
651 MODULE_STATE_LIVE = 0,
652 MODULE_STATE_COMING = 1,
653 MODULE_STATE_GOING = 2
654} ;
655#line 215 "include/linux/module.h"
656struct module_ref {
657 unsigned long incs ;
658 unsigned long decs ;
659} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
660#line 220
661struct module_sect_attrs;
662#line 220
663struct module_notes_attrs;
664#line 220
665struct ftrace_event_call;
666#line 220 "include/linux/module.h"
667struct module {
668 enum module_state state ;
669 struct list_head list ;
670 char name[64UL - sizeof(unsigned long )] ;
671 struct module_kobject mkobj ;
672 struct module_attribute *modinfo_attrs ;
673 char const *version ;
674 char const *srcversion ;
675 struct kobject *holders_dir ;
676 struct kernel_symbol const *syms ;
677 unsigned long const *crcs ;
678 unsigned int num_syms ;
679 struct kernel_param *kp ;
680 unsigned int num_kp ;
681 unsigned int num_gpl_syms ;
682 struct kernel_symbol const *gpl_syms ;
683 unsigned long const *gpl_crcs ;
684 struct kernel_symbol const *unused_syms ;
685 unsigned long const *unused_crcs ;
686 unsigned int num_unused_syms ;
687 unsigned int num_unused_gpl_syms ;
688 struct kernel_symbol const *unused_gpl_syms ;
689 unsigned long const *unused_gpl_crcs ;
690 struct kernel_symbol const *gpl_future_syms ;
691 unsigned long const *gpl_future_crcs ;
692 unsigned int num_gpl_future_syms ;
693 unsigned int num_exentries ;
694 struct exception_table_entry *extable ;
695 int (*init)(void) ;
696 void *module_init ;
697 void *module_core ;
698 unsigned int init_size ;
699 unsigned int core_size ;
700 unsigned int init_text_size ;
701 unsigned int core_text_size ;
702 unsigned int init_ro_size ;
703 unsigned int core_ro_size ;
704 struct mod_arch_specific arch ;
705 unsigned int taints ;
706 unsigned int num_bugs ;
707 struct list_head bug_list ;
708 struct bug_entry *bug_table ;
709 Elf64_Sym *symtab ;
710 Elf64_Sym *core_symtab ;
711 unsigned int num_symtab ;
712 unsigned int core_num_syms ;
713 char *strtab ;
714 char *core_strtab ;
715 struct module_sect_attrs *sect_attrs ;
716 struct module_notes_attrs *notes_attrs ;
717 char *args ;
718 void *percpu ;
719 unsigned int percpu_size ;
720 unsigned int num_tracepoints ;
721 struct tracepoint * const *tracepoints_ptrs ;
722 unsigned int num_trace_bprintk_fmt ;
723 char const **trace_bprintk_fmt_start ;
724 struct ftrace_event_call **trace_events ;
725 unsigned int num_trace_events ;
726 struct list_head source_list ;
727 struct list_head target_list ;
728 struct task_struct *waiter ;
729 void (*exit)(void) ;
730 struct module_ref *refptr ;
731 ctor_fn_t *ctors ;
732 unsigned int num_ctors ;
733};
734#line 12 "include/linux/mod_devicetable.h"
735typedef unsigned long kernel_ulong_t;
736#line 219 "include/linux/mod_devicetable.h"
737struct of_device_id {
738 char name[32] ;
739 char type[32] ;
740 char compatible[128] ;
741 void *data ;
742};
743#line 506 "include/linux/mod_devicetable.h"
744struct platform_device_id {
745 char name[20] ;
746 kernel_ulong_t driver_data __attribute__((__aligned__(sizeof(kernel_ulong_t )))) ;
747};
748#line 28 "include/linux/of.h"
749typedef u32 phandle;
750#line 31 "include/linux/of.h"
751struct property {
752 char *name ;
753 int length ;
754 void *value ;
755 struct property *next ;
756 unsigned long _flags ;
757 unsigned int unique_id ;
758};
759#line 44
760struct proc_dir_entry;
761#line 44 "include/linux/of.h"
762struct device_node {
763 char const *name ;
764 char const *type ;
765 phandle phandle ;
766 char *full_name ;
767 struct property *properties ;
768 struct property *deadprops ;
769 struct device_node *parent ;
770 struct device_node *child ;
771 struct device_node *sibling ;
772 struct device_node *next ;
773 struct device_node *allnext ;
774 struct proc_dir_entry *pde ;
775 struct kref kref ;
776 unsigned long _flags ;
777 void *data ;
778};
779#line 44 "include/asm-generic/gpio.h"
780struct device;
781#line 46
782struct seq_file;
783#line 47
784struct module;
785#line 48
786struct device_node;
787#line 92 "include/asm-generic/gpio.h"
788struct gpio_chip {
789 char const *label ;
790 struct device *dev ;
791 struct module *owner ;
792 int (*request)(struct gpio_chip *chip , unsigned int offset ) ;
793 void (*free)(struct gpio_chip *chip , unsigned int offset ) ;
794 int (*direction_input)(struct gpio_chip *chip , unsigned int offset ) ;
795 int (*get)(struct gpio_chip *chip , unsigned int offset ) ;
796 int (*direction_output)(struct gpio_chip *chip , unsigned int offset , int value ) ;
797 int (*set_debounce)(struct gpio_chip *chip , unsigned int offset , unsigned int debounce ) ;
798 void (*set)(struct gpio_chip *chip , unsigned int offset , int value ) ;
799 int (*to_irq)(struct gpio_chip *chip , unsigned int offset ) ;
800 void (*dbg_show)(struct seq_file *s , struct gpio_chip *chip ) ;
801 int base ;
802 u16 ngpio ;
803 char const * const *names ;
804 unsigned int can_sleep : 1 ;
805 unsigned int exported : 1 ;
806};
807#line 19 "include/linux/klist.h"
808struct klist_node;
809#line 19
810struct klist_node;
811#line 39 "include/linux/klist.h"
812struct klist_node {
813 void *n_klist ;
814 struct list_head n_node ;
815 struct kref n_ref ;
816};
817#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
818struct dma_map_ops;
819#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
820struct dev_archdata {
821 void *acpi_handle ;
822 struct dma_map_ops *dma_ops ;
823 void *iommu ;
824};
825#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
826struct pdev_archdata {
827
828};
829#line 28 "include/linux/device.h"
830struct device;
831#line 29
832struct device_private;
833#line 29
834struct device_private;
835#line 30
836struct device_driver;
837#line 30
838struct device_driver;
839#line 31
840struct driver_private;
841#line 31
842struct driver_private;
843#line 32
844struct module;
845#line 33
846struct class;
847#line 33
848struct class;
849#line 34
850struct subsys_private;
851#line 34
852struct subsys_private;
853#line 35
854struct bus_type;
855#line 35
856struct bus_type;
857#line 36
858struct device_node;
859#line 37
860struct iommu_ops;
861#line 37
862struct iommu_ops;
863#line 39 "include/linux/device.h"
864struct bus_attribute {
865 struct attribute attr ;
866 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
867 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
868};
869#line 89
870struct device_attribute;
871#line 89
872struct driver_attribute;
873#line 89 "include/linux/device.h"
874struct bus_type {
875 char const *name ;
876 char const *dev_name ;
877 struct device *dev_root ;
878 struct bus_attribute *bus_attrs ;
879 struct device_attribute *dev_attrs ;
880 struct driver_attribute *drv_attrs ;
881 int (*match)(struct device *dev , struct device_driver *drv ) ;
882 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
883 int (*probe)(struct device *dev ) ;
884 int (*remove)(struct device *dev ) ;
885 void (*shutdown)(struct device *dev ) ;
886 int (*suspend)(struct device *dev , pm_message_t state ) ;
887 int (*resume)(struct device *dev ) ;
888 struct dev_pm_ops const *pm ;
889 struct iommu_ops *iommu_ops ;
890 struct subsys_private *p ;
891};
892#line 127
893struct device_type;
894#line 214 "include/linux/device.h"
895struct device_driver {
896 char const *name ;
897 struct bus_type *bus ;
898 struct module *owner ;
899 char const *mod_name ;
900 bool suppress_bind_attrs ;
901 struct of_device_id const *of_match_table ;
902 int (*probe)(struct device *dev ) ;
903 int (*remove)(struct device *dev ) ;
904 void (*shutdown)(struct device *dev ) ;
905 int (*suspend)(struct device *dev , pm_message_t state ) ;
906 int (*resume)(struct device *dev ) ;
907 struct attribute_group const **groups ;
908 struct dev_pm_ops const *pm ;
909 struct driver_private *p ;
910};
911#line 249 "include/linux/device.h"
912struct driver_attribute {
913 struct attribute attr ;
914 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
915 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
916};
917#line 330
918struct class_attribute;
919#line 330 "include/linux/device.h"
920struct class {
921 char const *name ;
922 struct module *owner ;
923 struct class_attribute *class_attrs ;
924 struct device_attribute *dev_attrs ;
925 struct bin_attribute *dev_bin_attrs ;
926 struct kobject *dev_kobj ;
927 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
928 char *(*devnode)(struct device *dev , umode_t *mode ) ;
929 void (*class_release)(struct class *class ) ;
930 void (*dev_release)(struct device *dev ) ;
931 int (*suspend)(struct device *dev , pm_message_t state ) ;
932 int (*resume)(struct device *dev ) ;
933 struct kobj_ns_type_operations const *ns_type ;
934 void const *(*namespace)(struct device *dev ) ;
935 struct dev_pm_ops const *pm ;
936 struct subsys_private *p ;
937};
938#line 397 "include/linux/device.h"
939struct class_attribute {
940 struct attribute attr ;
941 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
942 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
943 size_t count ) ;
944 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
945};
946#line 465 "include/linux/device.h"
947struct device_type {
948 char const *name ;
949 struct attribute_group const **groups ;
950 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
951 char *(*devnode)(struct device *dev , umode_t *mode ) ;
952 void (*release)(struct device *dev ) ;
953 struct dev_pm_ops const *pm ;
954};
955#line 476 "include/linux/device.h"
956struct device_attribute {
957 struct attribute attr ;
958 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
959 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
960 size_t count ) ;
961};
962#line 559 "include/linux/device.h"
963struct device_dma_parameters {
964 unsigned int max_segment_size ;
965 unsigned long segment_boundary_mask ;
966};
967#line 627
968struct dma_coherent_mem;
969#line 627 "include/linux/device.h"
970struct device {
971 struct device *parent ;
972 struct device_private *p ;
973 struct kobject kobj ;
974 char const *init_name ;
975 struct device_type const *type ;
976 struct mutex mutex ;
977 struct bus_type *bus ;
978 struct device_driver *driver ;
979 void *platform_data ;
980 struct dev_pm_info power ;
981 struct dev_pm_domain *pm_domain ;
982 int numa_node ;
983 u64 *dma_mask ;
984 u64 coherent_dma_mask ;
985 struct device_dma_parameters *dma_parms ;
986 struct list_head dma_pools ;
987 struct dma_coherent_mem *dma_mem ;
988 struct dev_archdata archdata ;
989 struct device_node *of_node ;
990 dev_t devt ;
991 u32 id ;
992 spinlock_t devres_lock ;
993 struct list_head devres_head ;
994 struct klist_node knode_class ;
995 struct class *class ;
996 struct attribute_group const **groups ;
997 void (*release)(struct device *dev ) ;
998};
999#line 43 "include/linux/pm_wakeup.h"
1000struct wakeup_source {
1001 char const *name ;
1002 struct list_head entry ;
1003 spinlock_t lock ;
1004 struct timer_list timer ;
1005 unsigned long timer_expires ;
1006 ktime_t total_time ;
1007 ktime_t max_time ;
1008 ktime_t last_time ;
1009 unsigned long event_count ;
1010 unsigned long active_count ;
1011 unsigned long relax_count ;
1012 unsigned long hit_count ;
1013 unsigned int active : 1 ;
1014};
1015#line 17 "include/linux/platform_device.h"
1016struct mfd_cell;
1017#line 17
1018struct mfd_cell;
1019#line 19 "include/linux/platform_device.h"
1020struct platform_device {
1021 char const *name ;
1022 int id ;
1023 struct device dev ;
1024 u32 num_resources ;
1025 struct resource *resource ;
1026 struct platform_device_id const *id_entry ;
1027 struct mfd_cell *mfd_cell ;
1028 struct pdev_archdata archdata ;
1029};
1030#line 164 "include/linux/platform_device.h"
1031struct platform_driver {
1032 int (*probe)(struct platform_device * ) ;
1033 int (*remove)(struct platform_device * ) ;
1034 void (*shutdown)(struct platform_device * ) ;
1035 int (*suspend)(struct platform_device * , pm_message_t state ) ;
1036 int (*resume)(struct platform_device * ) ;
1037 struct device_driver driver ;
1038 struct platform_device_id const *id_table ;
1039};
1040#line 24 "include/linux/mfd/core.h"
1041struct mfd_cell {
1042 char const *name ;
1043 int id ;
1044 atomic_t *usage_count ;
1045 int (*enable)(struct platform_device *dev ) ;
1046 int (*disable)(struct platform_device *dev ) ;
1047 int (*suspend)(struct platform_device *dev ) ;
1048 int (*resume)(struct platform_device *dev ) ;
1049 void *platform_data ;
1050 size_t pdata_size ;
1051 int num_resources ;
1052 struct resource const *resources ;
1053 bool ignore_resource_conflicts ;
1054 bool pm_runtime_no_callbacks ;
1055};
1056#line 11 "include/linux/seq_file.h"
1057struct seq_operations;
1058#line 12
1059struct file;
1060#line 17 "include/linux/seq_file.h"
1061struct seq_file {
1062 char *buf ;
1063 size_t size ;
1064 size_t from ;
1065 size_t count ;
1066 loff_t index ;
1067 loff_t read_pos ;
1068 u64 version ;
1069 struct mutex lock ;
1070 struct seq_operations const *op ;
1071 int poll_event ;
1072 void *private ;
1073};
1074#line 31 "include/linux/seq_file.h"
1075struct seq_operations {
1076 void *(*start)(struct seq_file *m , loff_t *pos ) ;
1077 void (*stop)(struct seq_file *m , void *v ) ;
1078 void *(*next)(struct seq_file *m , void *v , loff_t *pos ) ;
1079 int (*show)(struct seq_file *m , void *v ) ;
1080};
1081#line 31 "include/linux/irq.h"
1082struct seq_file;
1083#line 32
1084struct module;
1085#line 12 "include/linux/irqdesc.h"
1086struct proc_dir_entry;
1087#line 14
1088struct module;
1089#line 16 "include/linux/profile.h"
1090struct proc_dir_entry;
1091#line 65
1092struct task_struct;
1093#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
1094struct exception_table_entry {
1095 unsigned long insn ;
1096 unsigned long fixup ;
1097};
1098#line 132 "include/linux/hardirq.h"
1099struct task_struct;
1100#line 187 "include/linux/interrupt.h"
1101struct device;
1102#line 695
1103struct seq_file;
1104#line 18 "include/linux/regmap.h"
1105struct module;
1106#line 19
1107struct device;
1108#line 22
1109struct regmap;
1110#line 22
1111struct regmap;
1112#line 355 "include/linux/mfd/wm831x/core.h"
1113struct wm831x;
1114#line 355
1115struct wm831x;
1116#line 356
1117enum wm831x_auxadc;
1118#line 356
1119enum wm831x_auxadc;
1120#line 361 "include/linux/mfd/wm831x/core.h"
1121struct wm831x {
1122 struct mutex io_lock ;
1123 struct device *dev ;
1124 struct regmap *regmap ;
1125 int irq ;
1126 struct mutex irq_lock ;
1127 int irq_base ;
1128 int irq_masks_cur[5] ;
1129 int irq_masks_cache[5] ;
1130 bool soft_shutdown ;
1131 unsigned int has_gpio_ena : 1 ;
1132 unsigned int has_cs_sts : 1 ;
1133 unsigned int charger_irq_wake : 1 ;
1134 int num_gpio ;
1135 int gpio_update[16] ;
1136 bool gpio_level[16] ;
1137 struct mutex auxadc_lock ;
1138 struct list_head auxadc_pending ;
1139 u16 auxadc_active ;
1140 int (*auxadc_read)(struct wm831x *wm831x , enum wm831x_auxadc input ) ;
1141 struct mutex key_lock ;
1142 unsigned int locked : 1 ;
1143};
1144#line 18 "include/linux/mfd/wm831x/pdata.h"
1145struct wm831x;
1146#line 19
1147struct regulator_init_data;
1148#line 19
1149struct regulator_init_data;
1150#line 21 "include/linux/mfd/wm831x/pdata.h"
1151struct wm831x_backlight_pdata {
1152 int isink ;
1153 int max_uA ;
1154};
1155#line 26 "include/linux/mfd/wm831x/pdata.h"
1156struct wm831x_backup_pdata {
1157 int charger_enable ;
1158 int no_constant_voltage ;
1159 int vlim ;
1160 int ilim ;
1161};
1162#line 33 "include/linux/mfd/wm831x/pdata.h"
1163struct wm831x_battery_pdata {
1164 int enable ;
1165 int fast_enable ;
1166 int off_mask ;
1167 int trickle_ilim ;
1168 int vsel ;
1169 int eoc_iterm ;
1170 int fast_ilim ;
1171 int timeout ;
1172};
1173#line 64
1174enum wm831x_status_src {
1175 WM831X_STATUS_PRESERVE = 0,
1176 WM831X_STATUS_OTP = 1,
1177 WM831X_STATUS_POWER = 2,
1178 WM831X_STATUS_CHARGER = 3,
1179 WM831X_STATUS_MANUAL = 4
1180} ;
1181#line 72 "include/linux/mfd/wm831x/pdata.h"
1182struct wm831x_status_pdata {
1183 enum wm831x_status_src default_src ;
1184 char const *name ;
1185 char const *default_trigger ;
1186};
1187#line 78 "include/linux/mfd/wm831x/pdata.h"
1188struct wm831x_touch_pdata {
1189 int fivewire ;
1190 int isel ;
1191 int rpu ;
1192 int pressure ;
1193 unsigned int data_irq ;
1194 int data_irqf ;
1195 unsigned int pd_irq ;
1196 int pd_irqf ;
1197};
1198#line 89
1199enum wm831x_watchdog_action {
1200 WM831X_WDOG_NONE = 0,
1201 WM831X_WDOG_INTERRUPT = 1,
1202 WM831X_WDOG_RESET = 2,
1203 WM831X_WDOG_WAKE = 3
1204} ;
1205#line 96 "include/linux/mfd/wm831x/pdata.h"
1206struct wm831x_watchdog_pdata {
1207 enum wm831x_watchdog_action primary ;
1208 enum wm831x_watchdog_action secondary ;
1209 int update_gpio ;
1210 unsigned int software : 1 ;
1211};
1212#line 111 "include/linux/mfd/wm831x/pdata.h"
1213struct wm831x_pdata {
1214 int wm831x_num ;
1215 int (*pre_init)(struct wm831x *wm831x ) ;
1216 int (*post_init)(struct wm831x *wm831x ) ;
1217 bool irq_cmos ;
1218 bool disable_touch ;
1219 bool soft_shutdown ;
1220 int irq_base ;
1221 int gpio_base ;
1222 int gpio_defaults[16] ;
1223 struct wm831x_backlight_pdata *backlight ;
1224 struct wm831x_backup_pdata *backup ;
1225 struct wm831x_battery_pdata *battery ;
1226 struct wm831x_touch_pdata *touch ;
1227 struct wm831x_watchdog_pdata *watchdog ;
1228 struct wm831x_status_pdata *status[2] ;
1229 struct regulator_init_data *dcdc[4] ;
1230 struct regulator_init_data *epe[2] ;
1231 struct regulator_init_data *ldo[11] ;
1232 struct regulator_init_data *isink[2] ;
1233};
1234#line 29 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1235struct wm831x_gpio {
1236 struct wm831x *wm831x ;
1237 struct gpio_chip gpio_chip ;
1238};
1239#line 1 "<compiler builtins>"
1240long __builtin_expect(long val , long res ) ;
1241#line 152 "include/linux/mutex.h"
1242void mutex_lock(struct mutex *lock ) ;
1243#line 153
1244int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
1245#line 154
1246int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
1247#line 168
1248int mutex_trylock(struct mutex *lock ) ;
1249#line 169
1250void mutex_unlock(struct mutex *lock ) ;
1251#line 170
1252int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
1253#line 161 "include/linux/slab.h"
1254extern void kfree(void const * ) ;
1255#line 221 "include/linux/slub_def.h"
1256extern void *__kmalloc(size_t size , gfp_t flags ) ;
1257#line 268
1258__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
1259 gfp_t flags ) __attribute__((__no_instrument_function__)) ;
1260#line 268 "include/linux/slub_def.h"
1261__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
1262 gfp_t flags )
1263{ void *tmp___2 ;
1264
1265 {
1266 {
1267#line 283
1268 tmp___2 = __kmalloc(size, flags);
1269 }
1270#line 283
1271 return (tmp___2);
1272}
1273}
1274#line 349 "include/linux/slab.h"
1275__inline static void *kzalloc(size_t size , gfp_t flags ) __attribute__((__no_instrument_function__)) ;
1276#line 349 "include/linux/slab.h"
1277__inline static void *kzalloc(size_t size , gfp_t flags )
1278{ void *tmp ;
1279 unsigned int __cil_tmp4 ;
1280
1281 {
1282 {
1283#line 351
1284 __cil_tmp4 = flags | 32768U;
1285#line 351
1286 tmp = kmalloc(size, __cil_tmp4);
1287 }
1288#line 351
1289 return (tmp);
1290}
1291}
1292#line 26 "include/linux/export.h"
1293extern struct module __this_module ;
1294#line 67 "include/linux/module.h"
1295int init_module(void) ;
1296#line 68
1297void cleanup_module(void) ;
1298#line 137 "include/asm-generic/gpio.h"
1299extern char const *gpiochip_is_requested(struct gpio_chip *chip , unsigned int offset ) ;
1300#line 143
1301extern int gpiochip_add(struct gpio_chip *chip ) ;
1302#line 144
1303extern int __attribute__((__warn_unused_result__)) gpiochip_remove(struct gpio_chip *chip ) ;
1304#line 792 "include/linux/device.h"
1305extern void *dev_get_drvdata(struct device const *dev ) ;
1306#line 793
1307extern int dev_set_drvdata(struct device *dev , void *data ) ;
1308#line 891
1309extern int ( dev_err)(struct device const *dev , char const *fmt
1310 , ...) ;
1311#line 174 "include/linux/platform_device.h"
1312extern int platform_driver_register(struct platform_driver * ) ;
1313#line 175
1314extern void platform_driver_unregister(struct platform_driver * ) ;
1315#line 183
1316__inline static void *platform_get_drvdata(struct platform_device const *pdev ) __attribute__((__no_instrument_function__)) ;
1317#line 183 "include/linux/platform_device.h"
1318__inline static void *platform_get_drvdata(struct platform_device const *pdev )
1319{ void *tmp ;
1320 unsigned long __cil_tmp3 ;
1321 unsigned long __cil_tmp4 ;
1322 struct device const *__cil_tmp5 ;
1323
1324 {
1325 {
1326#line 185
1327 __cil_tmp3 = (unsigned long )pdev;
1328#line 185
1329 __cil_tmp4 = __cil_tmp3 + 16;
1330#line 185
1331 __cil_tmp5 = (struct device const *)__cil_tmp4;
1332#line 185
1333 tmp = dev_get_drvdata(__cil_tmp5);
1334 }
1335#line 185
1336 return (tmp);
1337}
1338}
1339#line 188
1340__inline static void platform_set_drvdata(struct platform_device *pdev , void *data ) __attribute__((__no_instrument_function__)) ;
1341#line 188 "include/linux/platform_device.h"
1342__inline static void platform_set_drvdata(struct platform_device *pdev , void *data )
1343{ unsigned long __cil_tmp3 ;
1344 unsigned long __cil_tmp4 ;
1345 struct device *__cil_tmp5 ;
1346
1347 {
1348 {
1349#line 190
1350 __cil_tmp3 = (unsigned long )pdev;
1351#line 190
1352 __cil_tmp4 = __cil_tmp3 + 16;
1353#line 190
1354 __cil_tmp5 = (struct device *)__cil_tmp4;
1355#line 190
1356 dev_set_drvdata(__cil_tmp5, data);
1357 }
1358#line 191
1359 return;
1360}
1361}
1362#line 88 "include/linux/seq_file.h"
1363extern int ( seq_printf)(struct seq_file * , char const *
1364 , ...) ;
1365#line 402 "include/linux/mfd/wm831x/core.h"
1366extern int wm831x_reg_read(struct wm831x *wm831x , unsigned short reg ) ;
1367#line 407
1368extern int wm831x_set_bits(struct wm831x *wm831x , unsigned short reg , unsigned short mask ,
1369 unsigned short val ) ;
1370#line 34 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1371__inline static struct wm831x_gpio *to_wm831x_gpio(struct gpio_chip *chip ) __attribute__((__no_instrument_function__)) ;
1372#line 34 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1373__inline static struct wm831x_gpio *to_wm831x_gpio(struct gpio_chip *chip )
1374{ struct gpio_chip const *__mptr ;
1375 struct wm831x_gpio *__cil_tmp3 ;
1376 unsigned long __cil_tmp4 ;
1377 unsigned long __cil_tmp5 ;
1378 struct gpio_chip *__cil_tmp6 ;
1379 unsigned int __cil_tmp7 ;
1380 char *__cil_tmp8 ;
1381 char *__cil_tmp9 ;
1382
1383 {
1384#line 36
1385 __mptr = (struct gpio_chip const *)chip;
1386 {
1387#line 36
1388 __cil_tmp3 = (struct wm831x_gpio *)0;
1389#line 36
1390 __cil_tmp4 = (unsigned long )__cil_tmp3;
1391#line 36
1392 __cil_tmp5 = __cil_tmp4 + 8;
1393#line 36
1394 __cil_tmp6 = (struct gpio_chip *)__cil_tmp5;
1395#line 36
1396 __cil_tmp7 = (unsigned int )__cil_tmp6;
1397#line 36
1398 __cil_tmp8 = (char *)__mptr;
1399#line 36
1400 __cil_tmp9 = __cil_tmp8 - __cil_tmp7;
1401#line 36
1402 return ((struct wm831x_gpio *)__cil_tmp9);
1403 }
1404}
1405}
1406#line 39 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1407static int wm831x_gpio_direction_in(struct gpio_chip *chip , unsigned int offset )
1408{ struct wm831x_gpio *wm831x_gpio ;
1409 struct wm831x_gpio *tmp ;
1410 struct wm831x *wm831x ;
1411 int val ;
1412 int tmp___0 ;
1413 unsigned long __cil_tmp8 ;
1414 unsigned long __cil_tmp9 ;
1415 unsigned int __cil_tmp10 ;
1416 unsigned short __cil_tmp11 ;
1417 unsigned short __cil_tmp12 ;
1418
1419 {
1420 {
1421#line 41
1422 tmp = to_wm831x_gpio(chip);
1423#line 41
1424 wm831x_gpio = tmp;
1425#line 42
1426 wm831x = *((struct wm831x **)wm831x_gpio);
1427#line 43
1428 val = 32768;
1429 }
1430 {
1431#line 45
1432 __cil_tmp8 = (unsigned long )wm831x;
1433#line 45
1434 __cil_tmp9 = __cil_tmp8 + 213;
1435#line 45
1436 if (*((unsigned int *)__cil_tmp9)) {
1437#line 46
1438 val = val | 128;
1439 } else {
1440
1441 }
1442 }
1443 {
1444#line 48
1445 __cil_tmp10 = 16440U + offset;
1446#line 48
1447 __cil_tmp11 = (unsigned short )__cil_tmp10;
1448#line 48
1449 __cil_tmp12 = (unsigned short )val;
1450#line 48
1451 tmp___0 = wm831x_set_bits(wm831x, __cil_tmp11, (unsigned short)32911, __cil_tmp12);
1452 }
1453#line 48
1454 return (tmp___0);
1455}
1456}
1457#line 53 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1458static int wm831x_gpio_get(struct gpio_chip *chip , unsigned int offset )
1459{ struct wm831x_gpio *wm831x_gpio ;
1460 struct wm831x_gpio *tmp ;
1461 struct wm831x *wm831x ;
1462 int ret ;
1463 int __cil_tmp7 ;
1464
1465 {
1466 {
1467#line 55
1468 tmp = to_wm831x_gpio(chip);
1469#line 55
1470 wm831x_gpio = tmp;
1471#line 56
1472 wm831x = *((struct wm831x **)wm831x_gpio);
1473#line 59
1474 ret = wm831x_reg_read(wm831x, (unsigned short)16396);
1475 }
1476#line 60
1477 if (ret < 0) {
1478#line 61
1479 return (ret);
1480 } else {
1481
1482 }
1483 {
1484#line 63
1485 __cil_tmp7 = 1 << offset;
1486#line 63
1487 if (ret & __cil_tmp7) {
1488#line 64
1489 return (1);
1490 } else {
1491#line 66
1492 return (0);
1493 }
1494 }
1495}
1496}
1497#line 69 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1498static void wm831x_gpio_set(struct gpio_chip *chip , unsigned int offset , int value )
1499{ struct wm831x_gpio *wm831x_gpio ;
1500 struct wm831x_gpio *tmp ;
1501 struct wm831x *wm831x ;
1502 int __cil_tmp7 ;
1503 unsigned short __cil_tmp8 ;
1504 int __cil_tmp9 ;
1505 unsigned short __cil_tmp10 ;
1506
1507 {
1508 {
1509#line 71
1510 tmp = to_wm831x_gpio(chip);
1511#line 71
1512 wm831x_gpio = tmp;
1513#line 72
1514 wm831x = *((struct wm831x **)wm831x_gpio);
1515#line 74
1516 __cil_tmp7 = 1 << offset;
1517#line 74
1518 __cil_tmp8 = (unsigned short )__cil_tmp7;
1519#line 74
1520 __cil_tmp9 = value << offset;
1521#line 74
1522 __cil_tmp10 = (unsigned short )__cil_tmp9;
1523#line 74
1524 wm831x_set_bits(wm831x, (unsigned short)16396, __cil_tmp8, __cil_tmp10);
1525 }
1526#line 76
1527 return;
1528}
1529}
1530#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1531static int wm831x_gpio_direction_out(struct gpio_chip *chip , unsigned int offset ,
1532 int value )
1533{ struct wm831x_gpio *wm831x_gpio ;
1534 struct wm831x_gpio *tmp ;
1535 struct wm831x *wm831x ;
1536 int val ;
1537 int ret ;
1538 unsigned long __cil_tmp9 ;
1539 unsigned long __cil_tmp10 ;
1540 unsigned int __cil_tmp11 ;
1541 unsigned short __cil_tmp12 ;
1542 unsigned short __cil_tmp13 ;
1543
1544 {
1545 {
1546#line 81
1547 tmp = to_wm831x_gpio(chip);
1548#line 81
1549 wm831x_gpio = tmp;
1550#line 82
1551 wm831x = *((struct wm831x **)wm831x_gpio);
1552#line 83
1553 val = 0;
1554 }
1555 {
1556#line 86
1557 __cil_tmp9 = (unsigned long )wm831x;
1558#line 86
1559 __cil_tmp10 = __cil_tmp9 + 213;
1560#line 86
1561 if (*((unsigned int *)__cil_tmp10)) {
1562#line 87
1563 val = val | 128;
1564 } else {
1565
1566 }
1567 }
1568 {
1569#line 89
1570 __cil_tmp11 = 16440U + offset;
1571#line 89
1572 __cil_tmp12 = (unsigned short )__cil_tmp11;
1573#line 89
1574 __cil_tmp13 = (unsigned short )val;
1575#line 89
1576 ret = wm831x_set_bits(wm831x, __cil_tmp12, (unsigned short)32911, __cil_tmp13);
1577 }
1578#line 92
1579 if (ret < 0) {
1580#line 93
1581 return (ret);
1582 } else {
1583
1584 }
1585 {
1586#line 96
1587 wm831x_gpio_set(chip, offset, value);
1588 }
1589#line 98
1590 return (0);
1591}
1592}
1593#line 101 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1594static int wm831x_gpio_to_irq(struct gpio_chip *chip , unsigned int offset )
1595{ struct wm831x_gpio *wm831x_gpio ;
1596 struct wm831x_gpio *tmp ;
1597 struct wm831x *wm831x ;
1598 unsigned long __cil_tmp6 ;
1599 unsigned long __cil_tmp7 ;
1600 int __cil_tmp8 ;
1601 unsigned long __cil_tmp9 ;
1602 unsigned long __cil_tmp10 ;
1603 int __cil_tmp11 ;
1604 int __cil_tmp12 ;
1605 unsigned int __cil_tmp13 ;
1606 unsigned int __cil_tmp14 ;
1607
1608 {
1609 {
1610#line 103
1611 tmp = to_wm831x_gpio(chip);
1612#line 103
1613 wm831x_gpio = tmp;
1614#line 104
1615 wm831x = *((struct wm831x **)wm831x_gpio);
1616 }
1617 {
1618#line 106
1619 __cil_tmp6 = (unsigned long )wm831x;
1620#line 106
1621 __cil_tmp7 = __cil_tmp6 + 168;
1622#line 106
1623 __cil_tmp8 = *((int *)__cil_tmp7);
1624#line 106
1625 if (! __cil_tmp8) {
1626#line 107
1627 return (-22);
1628 } else {
1629
1630 }
1631 }
1632 {
1633#line 109
1634 __cil_tmp9 = (unsigned long )wm831x;
1635#line 109
1636 __cil_tmp10 = __cil_tmp9 + 168;
1637#line 109
1638 __cil_tmp11 = *((int *)__cil_tmp10);
1639#line 109
1640 __cil_tmp12 = __cil_tmp11 + 1;
1641#line 109
1642 __cil_tmp13 = (unsigned int )__cil_tmp12;
1643#line 109
1644 __cil_tmp14 = __cil_tmp13 + offset;
1645#line 109
1646 return ((int )__cil_tmp14);
1647 }
1648}
1649}
1650#line 112 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1651static int wm831x_gpio_set_debounce(struct gpio_chip *chip , unsigned int offset ,
1652 unsigned int debounce )
1653{ struct wm831x_gpio *wm831x_gpio ;
1654 struct wm831x_gpio *tmp ;
1655 struct wm831x *wm831x ;
1656 int reg ;
1657 int ret ;
1658 int fn ;
1659 int tmp___0 ;
1660 unsigned int __cil_tmp11 ;
1661 unsigned short __cil_tmp12 ;
1662 unsigned short __cil_tmp13 ;
1663 unsigned short __cil_tmp14 ;
1664
1665 {
1666 {
1667#line 115
1668 tmp = to_wm831x_gpio(chip);
1669#line 115
1670 wm831x_gpio = tmp;
1671#line 116
1672 wm831x = *((struct wm831x **)wm831x_gpio);
1673#line 117
1674 __cil_tmp11 = 16440U + offset;
1675#line 117
1676 reg = (int )__cil_tmp11;
1677#line 120
1678 __cil_tmp12 = (unsigned short )reg;
1679#line 120
1680 ret = wm831x_reg_read(wm831x, __cil_tmp12);
1681 }
1682#line 121
1683 if (ret < 0) {
1684#line 122
1685 return (ret);
1686 } else {
1687
1688 }
1689#line 125
1690 if ((ret & 15) == 0) {
1691#line 125
1692 goto case_0;
1693 } else
1694#line 126
1695 if ((ret & 15) == 1) {
1696#line 126
1697 goto case_0;
1698 } else {
1699 {
1700#line 128
1701 goto switch_default;
1702#line 124
1703 if (0) {
1704 case_0:
1705 case_1:
1706#line 127
1707 goto switch_break;
1708 switch_default:
1709#line 130
1710 return (-16);
1711 } else {
1712 switch_break: ;
1713 }
1714 }
1715 }
1716#line 133
1717 if (debounce >= 32U) {
1718#line 133
1719 if (debounce <= 64U) {
1720#line 134
1721 fn = 0;
1722 } else {
1723#line 133
1724 goto _L;
1725 }
1726 } else
1727 _L:
1728#line 135
1729 if (debounce >= 4000U) {
1730#line 135
1731 if (debounce <= 8000U) {
1732#line 136
1733 fn = 1;
1734 } else {
1735#line 138
1736 return (-22);
1737 }
1738 } else {
1739#line 138
1740 return (-22);
1741 }
1742 {
1743#line 140
1744 __cil_tmp13 = (unsigned short )reg;
1745#line 140
1746 __cil_tmp14 = (unsigned short )fn;
1747#line 140
1748 tmp___0 = wm831x_set_bits(wm831x, __cil_tmp13, (unsigned short)15, __cil_tmp14);
1749 }
1750#line 140
1751 return (tmp___0);
1752}
1753}
1754#line 144 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1755static void wm831x_gpio_dbg_show(struct seq_file *s , struct gpio_chip *chip )
1756{ struct wm831x_gpio *wm831x_gpio ;
1757 struct wm831x_gpio *tmp ;
1758 struct wm831x *wm831x ;
1759 int i ;
1760 int tristated ;
1761 int gpio ;
1762 int reg ;
1763 char const *label ;
1764 char const *pull ;
1765 char const *powerdomain ;
1766 char const *tmp___0 ;
1767 char const *tmp___1 ;
1768 char const *tmp___2 ;
1769 char const *tmp___4 ;
1770 int tmp___5 ;
1771 char const *tmp___6 ;
1772 unsigned long __cil_tmp20 ;
1773 unsigned long __cil_tmp21 ;
1774 u16 __cil_tmp22 ;
1775 int __cil_tmp23 ;
1776 unsigned long __cil_tmp24 ;
1777 unsigned long __cil_tmp25 ;
1778 int __cil_tmp26 ;
1779 unsigned int __cil_tmp27 ;
1780 int __cil_tmp28 ;
1781 unsigned short __cil_tmp29 ;
1782 unsigned long __cil_tmp30 ;
1783 unsigned long __cil_tmp31 ;
1784 struct device *__cil_tmp32 ;
1785 struct device const *__cil_tmp33 ;
1786 unsigned long __cil_tmp34 ;
1787 unsigned long __cil_tmp35 ;
1788 unsigned int __cil_tmp36 ;
1789
1790 {
1791 {
1792#line 146
1793 tmp = to_wm831x_gpio(chip);
1794#line 146
1795 wm831x_gpio = tmp;
1796#line 147
1797 wm831x = *((struct wm831x **)wm831x_gpio);
1798#line 150
1799 i = 0;
1800 }
1801 {
1802#line 150
1803 while (1) {
1804 while_continue: ;
1805 {
1806#line 150
1807 __cil_tmp20 = (unsigned long )chip;
1808#line 150
1809 __cil_tmp21 = __cil_tmp20 + 100;
1810#line 150
1811 __cil_tmp22 = *((u16 *)__cil_tmp21);
1812#line 150
1813 __cil_tmp23 = (int )__cil_tmp22;
1814#line 150
1815 if (i < __cil_tmp23) {
1816
1817 } else {
1818#line 150
1819 goto while_break;
1820 }
1821 }
1822 {
1823#line 151
1824 __cil_tmp24 = (unsigned long )chip;
1825#line 151
1826 __cil_tmp25 = __cil_tmp24 + 96;
1827#line 151
1828 __cil_tmp26 = *((int *)__cil_tmp25);
1829#line 151
1830 gpio = i + __cil_tmp26;
1831#line 160
1832 __cil_tmp27 = (unsigned int )i;
1833#line 160
1834 label = gpiochip_is_requested(chip, __cil_tmp27);
1835 }
1836#line 161
1837 if (! label) {
1838#line 162
1839 label = "Unrequested";
1840 } else {
1841
1842 }
1843 {
1844#line 164
1845 seq_printf(s, " gpio-%-3d (%-20.20s) ", gpio, label);
1846#line 166
1847 __cil_tmp28 = 16440 + i;
1848#line 166
1849 __cil_tmp29 = (unsigned short )__cil_tmp28;
1850#line 166
1851 reg = wm831x_reg_read(wm831x, __cil_tmp29);
1852 }
1853#line 167
1854 if (reg < 0) {
1855 {
1856#line 168
1857 __cil_tmp30 = (unsigned long )wm831x;
1858#line 168
1859 __cil_tmp31 = __cil_tmp30 + 72;
1860#line 168
1861 __cil_tmp32 = *((struct device **)__cil_tmp31);
1862#line 168
1863 __cil_tmp33 = (struct device const *)__cil_tmp32;
1864#line 168
1865 dev_err(__cil_tmp33, "GPIO control %d read failed: %d\n", gpio, reg);
1866#line 171
1867 seq_printf(s, "\n");
1868 }
1869#line 172
1870 goto __Cont;
1871 } else {
1872
1873 }
1874#line 176
1875 if ((reg & 24576) == 0) {
1876#line 176
1877 goto case_0;
1878 } else
1879#line 179
1880 if ((reg & 24576) == 1 << 13) {
1881#line 179
1882 goto case_exp;
1883 } else
1884#line 182
1885 if ((reg & 24576) == 2 << 13) {
1886#line 182
1887 goto case_exp___0;
1888 } else {
1889 {
1890#line 185
1891 goto switch_default;
1892#line 175
1893 if (0) {
1894 case_0:
1895#line 177
1896 pull = "nopull";
1897#line 178
1898 goto switch_break;
1899 case_exp:
1900#line 180
1901 pull = "pulldown";
1902#line 181
1903 goto switch_break;
1904 case_exp___0:
1905#line 183
1906 pull = "pullup";
1907#line 184
1908 goto switch_break;
1909 switch_default:
1910#line 186
1911 pull = "INVALID PULL";
1912#line 187
1913 goto switch_break;
1914 } else {
1915 switch_break: ;
1916 }
1917 }
1918 }
1919#line 191
1920 if (i + 1 == 1) {
1921#line 191
1922 goto case_1;
1923 } else
1924#line 191
1925 if (i + 1 == 2) {
1926#line 191
1927 goto case_1;
1928 } else
1929#line 191
1930 if (i + 1 == 3) {
1931#line 191
1932 goto case_1;
1933 } else
1934#line 192
1935 if (i + 1 == 7) {
1936#line 192
1937 goto case_1;
1938 } else
1939#line 192
1940 if (i + 1 == 8) {
1941#line 192
1942 goto case_1;
1943 } else
1944#line 192
1945 if (i + 1 == 9) {
1946#line 192
1947 goto case_1;
1948 } else
1949#line 199
1950 if (i + 1 == 4) {
1951#line 199
1952 goto case_4;
1953 } else
1954#line 199
1955 if (i + 1 == 5) {
1956#line 199
1957 goto case_4;
1958 } else
1959#line 199
1960 if (i + 1 == 6) {
1961#line 199
1962 goto case_4;
1963 } else
1964#line 200
1965 if (i + 1 == 10) {
1966#line 200
1967 goto case_4;
1968 } else
1969#line 200
1970 if (i + 1 == 11) {
1971#line 200
1972 goto case_4;
1973 } else
1974#line 200
1975 if (i + 1 == 12) {
1976#line 200
1977 goto case_4;
1978 } else
1979#line 207
1980 if (i + 1 == 13) {
1981#line 207
1982 goto case_13;
1983 } else
1984#line 207
1985 if (i + 1 == 14) {
1986#line 207
1987 goto case_13;
1988 } else
1989#line 207
1990 if (i + 1 == 15) {
1991#line 207
1992 goto case_13;
1993 } else
1994#line 207
1995 if (i + 1 == 16) {
1996#line 207
1997 goto case_13;
1998 } else {
1999 {
2000#line 211
2001 goto switch_default___0;
2002#line 190
2003 if (0) {
2004 case_1:
2005 case_2:
2006 case_3:
2007 case_7:
2008 case_8:
2009 case_9:
2010#line 193
2011 if (reg & 2048) {
2012#line 194
2013 powerdomain = "VPMIC";
2014 } else {
2015#line 196
2016 powerdomain = "DBVDD";
2017 }
2018#line 197
2019 goto switch_break___0;
2020 case_4:
2021 case_5:
2022 case_6:
2023 case_10:
2024 case_11:
2025 case_12:
2026#line 201
2027 if (reg & 2048) {
2028#line 202
2029 powerdomain = "SYSVDD";
2030 } else {
2031#line 204
2032 powerdomain = "DBVDD";
2033 }
2034#line 205
2035 goto switch_break___0;
2036 case_13:
2037 case_14:
2038 case_15:
2039 case_16:
2040#line 208
2041 powerdomain = "TPVDD";
2042#line 209
2043 goto switch_break___0;
2044 switch_default___0:
2045 {
2046#line 212
2047 while (1) {
2048 while_continue___0: ;
2049#line 212
2050 __asm__ volatile ("1:\tud2\n"
2051 ".pushsection __bug_table,\"a\"\n"
2052 "2:\t.long 1b - 2b, %c0 - 2b\n"
2053 "\t.word %c1, 0\n"
2054 "\t.org 2b+%c2\n"
2055 ".popsection": : "i" ("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"),
2056 "i" (212), "i" (12UL));
2057 {
2058#line 212
2059 while (1) {
2060 while_continue___1: ;
2061 }
2062 while_break___1: ;
2063 }
2064#line 212
2065 goto while_break___0;
2066 }
2067 while_break___0: ;
2068 }
2069#line 213
2070 goto switch_break___0;
2071 } else {
2072 switch_break___0: ;
2073 }
2074 }
2075 }
2076#line 216
2077 tristated = reg & 128;
2078 {
2079#line 217
2080 __cil_tmp34 = (unsigned long )wm831x;
2081#line 217
2082 __cil_tmp35 = __cil_tmp34 + 213;
2083#line 217
2084 if (*((unsigned int *)__cil_tmp35)) {
2085#line 218
2086 tristated = ! tristated;
2087 } else {
2088
2089 }
2090 }
2091#line 220
2092 if (tristated) {
2093#line 220
2094 tmp___0 = " tristated";
2095 } else {
2096#line 220
2097 tmp___0 = "";
2098 }
2099#line 220
2100 if (reg & 512) {
2101#line 220
2102 tmp___1 = "open-drain";
2103 } else {
2104#line 220
2105 tmp___1 = "CMOS";
2106 }
2107#line 220
2108 if (reg & 1024) {
2109#line 220
2110 tmp___2 = "";
2111 } else {
2112#line 220
2113 tmp___2 = " inverted";
2114 }
2115 {
2116#line 220
2117 __cil_tmp36 = (unsigned int )i;
2118#line 220
2119 tmp___5 = wm831x_gpio_get(chip, __cil_tmp36);
2120 }
2121#line 220
2122 if (tmp___5) {
2123#line 220
2124 tmp___4 = "high";
2125 } else {
2126#line 220
2127 tmp___4 = "low";
2128 }
2129#line 220
2130 if (reg & 32768) {
2131#line 220
2132 tmp___6 = "in";
2133 } else {
2134#line 220
2135 tmp___6 = "out";
2136 }
2137 {
2138#line 220
2139 seq_printf(s, " %s %s %s %s%s\n %s%s (0x%4x)\n",
2140 tmp___6, tmp___4, pull, powerdomain, tmp___2, tmp___1, tmp___0, reg);
2141 }
2142 __Cont:
2143#line 150
2144 i = i + 1;
2145 }
2146 while_break: ;
2147 }
2148#line 231
2149 return;
2150}
2151}
2152#line 236 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2153static struct gpio_chip template_chip =
2154#line 236
2155 {"wm831x", (struct device *)0, & __this_module, (int (*)(struct gpio_chip *chip ,
2156 unsigned int offset ))0,
2157 (void (*)(struct gpio_chip *chip , unsigned int offset ))0, & wm831x_gpio_direction_in,
2158 & wm831x_gpio_get, & wm831x_gpio_direction_out, & wm831x_gpio_set_debounce, & wm831x_gpio_set,
2159 & wm831x_gpio_to_irq, & wm831x_gpio_dbg_show, 0, (unsigned short)0, (char const * const *)0,
2160 1U, 0U};
2161#line 249
2162static int wm831x_gpio_probe(struct platform_device *pdev ) __attribute__((__section__(".devinit.text"),
2163__no_instrument_function__)) ;
2164#line 249 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2165static int wm831x_gpio_probe(struct platform_device *pdev )
2166{ struct wm831x *wm831x ;
2167 void *tmp ;
2168 struct wm831x_pdata *pdata ;
2169 struct wm831x_gpio *wm831x_gpio ;
2170 int ret ;
2171 void *tmp___0 ;
2172 unsigned long __cil_tmp8 ;
2173 unsigned long __cil_tmp9 ;
2174 struct device *__cil_tmp10 ;
2175 struct device const *__cil_tmp11 ;
2176 unsigned long __cil_tmp12 ;
2177 unsigned long __cil_tmp13 ;
2178 struct device *__cil_tmp14 ;
2179 unsigned long __cil_tmp15 ;
2180 unsigned long __cil_tmp16 ;
2181 void *__cil_tmp17 ;
2182 void *__cil_tmp18 ;
2183 unsigned long __cil_tmp19 ;
2184 unsigned long __cil_tmp20 ;
2185 unsigned long __cil_tmp21 ;
2186 unsigned long __cil_tmp22 ;
2187 unsigned long __cil_tmp23 ;
2188 unsigned long __cil_tmp24 ;
2189 unsigned long __cil_tmp25 ;
2190 unsigned long __cil_tmp26 ;
2191 unsigned long __cil_tmp27 ;
2192 int __cil_tmp28 ;
2193 unsigned long __cil_tmp29 ;
2194 unsigned long __cil_tmp30 ;
2195 unsigned long __cil_tmp31 ;
2196 unsigned long __cil_tmp32 ;
2197 unsigned long __cil_tmp33 ;
2198 unsigned long __cil_tmp34 ;
2199 unsigned long __cil_tmp35 ;
2200 unsigned long __cil_tmp36 ;
2201 unsigned long __cil_tmp37 ;
2202 unsigned long __cil_tmp38 ;
2203 unsigned long __cil_tmp39 ;
2204 unsigned long __cil_tmp40 ;
2205 unsigned long __cil_tmp41 ;
2206 unsigned long __cil_tmp42 ;
2207 unsigned long __cil_tmp43 ;
2208 unsigned long __cil_tmp44 ;
2209 unsigned long __cil_tmp45 ;
2210 unsigned long __cil_tmp46 ;
2211 unsigned long __cil_tmp47 ;
2212 unsigned long __cil_tmp48 ;
2213 struct gpio_chip *__cil_tmp49 ;
2214 unsigned long __cil_tmp50 ;
2215 unsigned long __cil_tmp51 ;
2216 struct device *__cil_tmp52 ;
2217 struct device const *__cil_tmp53 ;
2218 void *__cil_tmp54 ;
2219 void const *__cil_tmp55 ;
2220
2221 {
2222 {
2223#line 251
2224 __cil_tmp8 = (unsigned long )pdev;
2225#line 251
2226 __cil_tmp9 = __cil_tmp8 + 16;
2227#line 251
2228 __cil_tmp10 = *((struct device **)__cil_tmp9);
2229#line 251
2230 __cil_tmp11 = (struct device const *)__cil_tmp10;
2231#line 251
2232 tmp = dev_get_drvdata(__cil_tmp11);
2233#line 251
2234 wm831x = (struct wm831x *)tmp;
2235#line 252
2236 __cil_tmp12 = (unsigned long )wm831x;
2237#line 252
2238 __cil_tmp13 = __cil_tmp12 + 72;
2239#line 252
2240 __cil_tmp14 = *((struct device **)__cil_tmp13);
2241#line 252
2242 __cil_tmp15 = (unsigned long )__cil_tmp14;
2243#line 252
2244 __cil_tmp16 = __cil_tmp15 + 184;
2245#line 252
2246 __cil_tmp17 = *((void **)__cil_tmp16);
2247#line 252
2248 pdata = (struct wm831x_pdata *)__cil_tmp17;
2249#line 256
2250 tmp___0 = kzalloc(128UL, 208U);
2251#line 256
2252 wm831x_gpio = (struct wm831x_gpio *)tmp___0;
2253 }
2254 {
2255#line 257
2256 __cil_tmp18 = (void *)0;
2257#line 257
2258 __cil_tmp19 = (unsigned long )__cil_tmp18;
2259#line 257
2260 __cil_tmp20 = (unsigned long )wm831x_gpio;
2261#line 257
2262 if (__cil_tmp20 == __cil_tmp19) {
2263#line 258
2264 return (-12);
2265 } else {
2266
2267 }
2268 }
2269#line 260
2270 *((struct wm831x **)wm831x_gpio) = wm831x;
2271#line 261
2272 __cil_tmp21 = (unsigned long )wm831x_gpio;
2273#line 261
2274 __cil_tmp22 = __cil_tmp21 + 8;
2275#line 261
2276 *((struct gpio_chip *)__cil_tmp22) = template_chip;
2277#line 262
2278 __cil_tmp23 = 8 + 100;
2279#line 262
2280 __cil_tmp24 = (unsigned long )wm831x_gpio;
2281#line 262
2282 __cil_tmp25 = __cil_tmp24 + __cil_tmp23;
2283#line 262
2284 __cil_tmp26 = (unsigned long )wm831x;
2285#line 262
2286 __cil_tmp27 = __cil_tmp26 + 216;
2287#line 262
2288 __cil_tmp28 = *((int *)__cil_tmp27);
2289#line 262
2290 *((u16 *)__cil_tmp25) = (u16 )__cil_tmp28;
2291#line 263
2292 __cil_tmp29 = 8 + 8;
2293#line 263
2294 __cil_tmp30 = (unsigned long )wm831x_gpio;
2295#line 263
2296 __cil_tmp31 = __cil_tmp30 + __cil_tmp29;
2297#line 263
2298 __cil_tmp32 = (unsigned long )pdev;
2299#line 263
2300 __cil_tmp33 = __cil_tmp32 + 16;
2301#line 263
2302 *((struct device **)__cil_tmp31) = (struct device *)__cil_tmp33;
2303#line 264
2304 if (pdata) {
2305 {
2306#line 264
2307 __cil_tmp34 = (unsigned long )pdata;
2308#line 264
2309 __cil_tmp35 = __cil_tmp34 + 32;
2310#line 264
2311 if (*((int *)__cil_tmp35)) {
2312#line 265
2313 __cil_tmp36 = 8 + 96;
2314#line 265
2315 __cil_tmp37 = (unsigned long )wm831x_gpio;
2316#line 265
2317 __cil_tmp38 = __cil_tmp37 + __cil_tmp36;
2318#line 265
2319 __cil_tmp39 = (unsigned long )pdata;
2320#line 265
2321 __cil_tmp40 = __cil_tmp39 + 32;
2322#line 265
2323 *((int *)__cil_tmp38) = *((int *)__cil_tmp40);
2324 } else {
2325#line 267
2326 __cil_tmp41 = 8 + 96;
2327#line 267
2328 __cil_tmp42 = (unsigned long )wm831x_gpio;
2329#line 267
2330 __cil_tmp43 = __cil_tmp42 + __cil_tmp41;
2331#line 267
2332 *((int *)__cil_tmp43) = -1;
2333 }
2334 }
2335 } else {
2336#line 267
2337 __cil_tmp44 = 8 + 96;
2338#line 267
2339 __cil_tmp45 = (unsigned long )wm831x_gpio;
2340#line 267
2341 __cil_tmp46 = __cil_tmp45 + __cil_tmp44;
2342#line 267
2343 *((int *)__cil_tmp46) = -1;
2344 }
2345 {
2346#line 269
2347 __cil_tmp47 = (unsigned long )wm831x_gpio;
2348#line 269
2349 __cil_tmp48 = __cil_tmp47 + 8;
2350#line 269
2351 __cil_tmp49 = (struct gpio_chip *)__cil_tmp48;
2352#line 269
2353 ret = gpiochip_add(__cil_tmp49);
2354 }
2355#line 270
2356 if (ret < 0) {
2357 {
2358#line 271
2359 __cil_tmp50 = (unsigned long )pdev;
2360#line 271
2361 __cil_tmp51 = __cil_tmp50 + 16;
2362#line 271
2363 __cil_tmp52 = (struct device *)__cil_tmp51;
2364#line 271
2365 __cil_tmp53 = (struct device const *)__cil_tmp52;
2366#line 271
2367 dev_err(__cil_tmp53, "Could not register gpiochip, %d\n", ret);
2368 }
2369#line 273
2370 goto err;
2371 } else {
2372
2373 }
2374 {
2375#line 276
2376 __cil_tmp54 = (void *)wm831x_gpio;
2377#line 276
2378 platform_set_drvdata(pdev, __cil_tmp54);
2379 }
2380#line 278
2381 return (ret);
2382 err:
2383 {
2384#line 281
2385 __cil_tmp55 = (void const *)wm831x_gpio;
2386#line 281
2387 kfree(__cil_tmp55);
2388 }
2389#line 282
2390 return (ret);
2391}
2392}
2393#line 285
2394static int wm831x_gpio_remove(struct platform_device *pdev ) __attribute__((__section__(".devexit.text"),
2395__no_instrument_function__)) ;
2396#line 285 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2397static int wm831x_gpio_remove(struct platform_device *pdev )
2398{ struct wm831x_gpio *wm831x_gpio ;
2399 void *tmp ;
2400 int ret ;
2401 struct platform_device const *__cil_tmp5 ;
2402 unsigned long __cil_tmp6 ;
2403 unsigned long __cil_tmp7 ;
2404 struct gpio_chip *__cil_tmp8 ;
2405 void const *__cil_tmp9 ;
2406
2407 {
2408 {
2409#line 287
2410 __cil_tmp5 = (struct platform_device const *)pdev;
2411#line 287
2412 tmp = platform_get_drvdata(__cil_tmp5);
2413#line 287
2414 wm831x_gpio = (struct wm831x_gpio *)tmp;
2415#line 290
2416 __cil_tmp6 = (unsigned long )wm831x_gpio;
2417#line 290
2418 __cil_tmp7 = __cil_tmp6 + 8;
2419#line 290
2420 __cil_tmp8 = (struct gpio_chip *)__cil_tmp7;
2421#line 290
2422 ret = (int )gpiochip_remove(__cil_tmp8);
2423 }
2424#line 291
2425 if (ret == 0) {
2426 {
2427#line 292
2428 __cil_tmp9 = (void const *)wm831x_gpio;
2429#line 292
2430 kfree(__cil_tmp9);
2431 }
2432 } else {
2433
2434 }
2435#line 294
2436 return (ret);
2437}
2438}
2439#line 297 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2440static struct platform_driver wm831x_gpio_driver = {& wm831x_gpio_probe, & wm831x_gpio_remove, (void (*)(struct platform_device * ))0,
2441 (int (*)(struct platform_device * , pm_message_t state ))0, (int (*)(struct platform_device * ))0,
2442 {"wm831x-gpio", (struct bus_type *)0, & __this_module, (char const *)0, (_Bool)0,
2443 (struct of_device_id const *)0, (int (*)(struct device *dev ))0, (int (*)(struct device *dev ))0,
2444 (void (*)(struct device *dev ))0, (int (*)(struct device *dev , pm_message_t state ))0,
2445 (int (*)(struct device *dev ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
2446 (struct driver_private *)0}, (struct platform_device_id const *)0};
2447#line 304
2448static int wm831x_gpio_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
2449#line 304 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2450static int wm831x_gpio_init(void)
2451{ int tmp ;
2452
2453 {
2454 {
2455#line 306
2456 tmp = platform_driver_register(& wm831x_gpio_driver);
2457 }
2458#line 306
2459 return (tmp);
2460}
2461}
2462#line 308 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2463int init_module(void)
2464{ int tmp ;
2465
2466 {
2467 {
2468#line 308
2469 tmp = wm831x_gpio_init();
2470 }
2471#line 308
2472 return (tmp);
2473}
2474}
2475#line 310
2476static void wm831x_gpio_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
2477#line 310 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2478static void wm831x_gpio_exit(void)
2479{
2480
2481 {
2482 {
2483#line 312
2484 platform_driver_unregister(& wm831x_gpio_driver);
2485 }
2486#line 313
2487 return;
2488}
2489}
2490#line 314 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2491void cleanup_module(void)
2492{
2493
2494 {
2495 {
2496#line 314
2497 wm831x_gpio_exit();
2498 }
2499#line 314
2500 return;
2501}
2502}
2503#line 316 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2504static char const __mod_author316[56] __attribute__((__used__, __unused__, __section__(".modinfo"),
2505__aligned__(1))) =
2506#line 316
2507 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
2508 (char const )'o', (char const )'r', (char const )'=', (char const )'M',
2509 (char const )'a', (char const )'r', (char const )'k', (char const )' ',
2510 (char const )'B', (char const )'r', (char const )'o', (char const )'w',
2511 (char const )'n', (char const )' ', (char const )'<', (char const )'b',
2512 (char const )'r', (char const )'o', (char const )'o', (char const )'n',
2513 (char const )'i', (char const )'e', (char const )'@', (char const )'o',
2514 (char const )'p', (char const )'e', (char const )'n', (char const )'s',
2515 (char const )'o', (char const )'u', (char const )'r', (char const )'c',
2516 (char const )'e', (char const )'.', (char const )'w', (char const )'o',
2517 (char const )'l', (char const )'f', (char const )'s', (char const )'o',
2518 (char const )'n', (char const )'m', (char const )'i', (char const )'c',
2519 (char const )'r', (char const )'o', (char const )'.', (char const )'c',
2520 (char const )'o', (char const )'m', (char const )'>', (char const )'\000'};
2521#line 317 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2522static char const __mod_description317[44] __attribute__((__used__, __unused__,
2523__section__(".modinfo"), __aligned__(1))) =
2524#line 317
2525 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
2526 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
2527 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
2528 (char const )'G', (char const )'P', (char const )'I', (char const )'O',
2529 (char const )' ', (char const )'i', (char const )'n', (char const )'t',
2530 (char const )'e', (char const )'r', (char const )'f', (char const )'a',
2531 (char const )'c', (char const )'e', (char const )' ', (char const )'f',
2532 (char const )'o', (char const )'r', (char const )' ', (char const )'W',
2533 (char const )'M', (char const )'8', (char const )'3', (char const )'1',
2534 (char const )'x', (char const )' ', (char const )'P', (char const )'M',
2535 (char const )'I', (char const )'C', (char const )'s', (char const )'\000'};
2536#line 318 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2537static char const __mod_license318[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
2538__aligned__(1))) =
2539#line 318
2540 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
2541 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
2542 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
2543#line 319 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2544static char const __mod_alias319[27] __attribute__((__used__, __unused__, __section__(".modinfo"),
2545__aligned__(1))) =
2546#line 319
2547 { (char const )'a', (char const )'l', (char const )'i', (char const )'a',
2548 (char const )'s', (char const )'=', (char const )'p', (char const )'l',
2549 (char const )'a', (char const )'t', (char const )'f', (char const )'o',
2550 (char const )'r', (char const )'m', (char const )':', (char const )'w',
2551 (char const )'m', (char const )'8', (char const )'3', (char const )'1',
2552 (char const )'x', (char const )'-', (char const )'g', (char const )'p',
2553 (char const )'i', (char const )'o', (char const )'\000'};
2554#line 337
2555void ldv_check_final_state(void) ;
2556#line 340
2557extern void ldv_check_return_value(int res ) ;
2558#line 343
2559extern void ldv_initialize(void) ;
2560#line 346
2561extern int __VERIFIER_nondet_int(void) ;
2562#line 349 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2563int LDV_IN_INTERRUPT ;
2564#line 450 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2565static int res_wm831x_gpio_probe_8 ;
2566#line 352 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2567void main(void)
2568{ struct gpio_chip *var_group1 ;
2569 unsigned int var_wm831x_gpio_direction_in_1_p1 ;
2570 unsigned int var_wm831x_gpio_get_2_p1 ;
2571 unsigned int var_wm831x_gpio_direction_out_4_p1 ;
2572 int var_wm831x_gpio_direction_out_4_p2 ;
2573 unsigned int var_wm831x_gpio_set_3_p1 ;
2574 int var_wm831x_gpio_set_3_p2 ;
2575 unsigned int var_wm831x_gpio_to_irq_5_p1 ;
2576 unsigned int var_wm831x_gpio_set_debounce_6_p1 ;
2577 unsigned int var_wm831x_gpio_set_debounce_6_p2 ;
2578 struct seq_file *var_group2 ;
2579 struct platform_device *var_group3 ;
2580 int tmp ;
2581 int ldv_s_wm831x_gpio_driver_platform_driver ;
2582 int tmp___0 ;
2583 int tmp___1 ;
2584 int __cil_tmp17 ;
2585
2586 {
2587 {
2588#line 458
2589 LDV_IN_INTERRUPT = 1;
2590#line 467
2591 ldv_initialize();
2592#line 478
2593 tmp = wm831x_gpio_init();
2594 }
2595#line 478
2596 if (tmp) {
2597#line 479
2598 goto ldv_final;
2599 } else {
2600
2601 }
2602#line 482
2603 ldv_s_wm831x_gpio_driver_platform_driver = 0;
2604 {
2605#line 485
2606 while (1) {
2607 while_continue: ;
2608 {
2609#line 485
2610 tmp___1 = __VERIFIER_nondet_int();
2611 }
2612#line 485
2613 if (tmp___1) {
2614
2615 } else {
2616 {
2617#line 485
2618 __cil_tmp17 = ldv_s_wm831x_gpio_driver_platform_driver == 0;
2619#line 485
2620 if (! __cil_tmp17) {
2621
2622 } else {
2623#line 485
2624 goto while_break;
2625 }
2626 }
2627 }
2628 {
2629#line 489
2630 tmp___0 = __VERIFIER_nondet_int();
2631 }
2632#line 491
2633 if (tmp___0 == 0) {
2634#line 491
2635 goto case_0;
2636 } else
2637#line 513
2638 if (tmp___0 == 1) {
2639#line 513
2640 goto case_1;
2641 } else
2642#line 535
2643 if (tmp___0 == 2) {
2644#line 535
2645 goto case_2;
2646 } else
2647#line 557
2648 if (tmp___0 == 3) {
2649#line 557
2650 goto case_3;
2651 } else
2652#line 579
2653 if (tmp___0 == 4) {
2654#line 579
2655 goto case_4;
2656 } else
2657#line 601
2658 if (tmp___0 == 5) {
2659#line 601
2660 goto case_5;
2661 } else
2662#line 623
2663 if (tmp___0 == 6) {
2664#line 623
2665 goto case_6;
2666 } else
2667#line 646
2668 if (tmp___0 == 7) {
2669#line 646
2670 goto case_7;
2671 } else {
2672 {
2673#line 670
2674 goto switch_default;
2675#line 489
2676 if (0) {
2677 case_0:
2678 {
2679#line 499
2680 wm831x_gpio_direction_in(var_group1, var_wm831x_gpio_direction_in_1_p1);
2681 }
2682#line 512
2683 goto switch_break;
2684 case_1:
2685 {
2686#line 521
2687 wm831x_gpio_get(var_group1, var_wm831x_gpio_get_2_p1);
2688 }
2689#line 534
2690 goto switch_break;
2691 case_2:
2692 {
2693#line 543
2694 wm831x_gpio_direction_out(var_group1, var_wm831x_gpio_direction_out_4_p1,
2695 var_wm831x_gpio_direction_out_4_p2);
2696 }
2697#line 556
2698 goto switch_break;
2699 case_3:
2700 {
2701#line 565
2702 wm831x_gpio_set(var_group1, var_wm831x_gpio_set_3_p1, var_wm831x_gpio_set_3_p2);
2703 }
2704#line 578
2705 goto switch_break;
2706 case_4:
2707 {
2708#line 587
2709 wm831x_gpio_to_irq(var_group1, var_wm831x_gpio_to_irq_5_p1);
2710 }
2711#line 600
2712 goto switch_break;
2713 case_5:
2714 {
2715#line 609
2716 wm831x_gpio_set_debounce(var_group1, var_wm831x_gpio_set_debounce_6_p1, var_wm831x_gpio_set_debounce_6_p2);
2717 }
2718#line 622
2719 goto switch_break;
2720 case_6:
2721 {
2722#line 633
2723 wm831x_gpio_dbg_show(var_group2, var_group1);
2724 }
2725#line 645
2726 goto switch_break;
2727 case_7:
2728#line 649
2729 if (ldv_s_wm831x_gpio_driver_platform_driver == 0) {
2730 {
2731#line 659
2732 res_wm831x_gpio_probe_8 = wm831x_gpio_probe(var_group3);
2733#line 660
2734 ldv_check_return_value(res_wm831x_gpio_probe_8);
2735 }
2736#line 661
2737 if (res_wm831x_gpio_probe_8) {
2738#line 662
2739 goto ldv_module_exit;
2740 } else {
2741
2742 }
2743#line 663
2744 ldv_s_wm831x_gpio_driver_platform_driver = 0;
2745 } else {
2746
2747 }
2748#line 669
2749 goto switch_break;
2750 switch_default:
2751#line 670
2752 goto switch_break;
2753 } else {
2754 switch_break: ;
2755 }
2756 }
2757 }
2758 }
2759 while_break: ;
2760 }
2761 ldv_module_exit:
2762 {
2763#line 687
2764 wm831x_gpio_exit();
2765 }
2766 ldv_final:
2767 {
2768#line 690
2769 ldv_check_final_state();
2770 }
2771#line 693
2772 return;
2773}
2774}
2775#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
2776void ldv_blast_assert(void)
2777{
2778
2779 {
2780 ERROR:
2781#line 6
2782 goto ERROR;
2783}
2784}
2785#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
2786extern int __VERIFIER_nondet_int(void) ;
2787#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2788int ldv_mutex = 1;
2789#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2790int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
2791{ int nondetermined ;
2792
2793 {
2794#line 29
2795 if (ldv_mutex == 1) {
2796
2797 } else {
2798 {
2799#line 29
2800 ldv_blast_assert();
2801 }
2802 }
2803 {
2804#line 32
2805 nondetermined = __VERIFIER_nondet_int();
2806 }
2807#line 35
2808 if (nondetermined) {
2809#line 38
2810 ldv_mutex = 2;
2811#line 40
2812 return (0);
2813 } else {
2814#line 45
2815 return (-4);
2816 }
2817}
2818}
2819#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2820int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
2821{ int nondetermined ;
2822
2823 {
2824#line 57
2825 if (ldv_mutex == 1) {
2826
2827 } else {
2828 {
2829#line 57
2830 ldv_blast_assert();
2831 }
2832 }
2833 {
2834#line 60
2835 nondetermined = __VERIFIER_nondet_int();
2836 }
2837#line 63
2838 if (nondetermined) {
2839#line 66
2840 ldv_mutex = 2;
2841#line 68
2842 return (0);
2843 } else {
2844#line 73
2845 return (-4);
2846 }
2847}
2848}
2849#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2850int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
2851{ int atomic_value_after_dec ;
2852
2853 {
2854#line 83
2855 if (ldv_mutex == 1) {
2856
2857 } else {
2858 {
2859#line 83
2860 ldv_blast_assert();
2861 }
2862 }
2863 {
2864#line 86
2865 atomic_value_after_dec = __VERIFIER_nondet_int();
2866 }
2867#line 89
2868 if (atomic_value_after_dec == 0) {
2869#line 92
2870 ldv_mutex = 2;
2871#line 94
2872 return (1);
2873 } else {
2874
2875 }
2876#line 98
2877 return (0);
2878}
2879}
2880#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2881void mutex_lock(struct mutex *lock )
2882{
2883
2884 {
2885#line 108
2886 if (ldv_mutex == 1) {
2887
2888 } else {
2889 {
2890#line 108
2891 ldv_blast_assert();
2892 }
2893 }
2894#line 110
2895 ldv_mutex = 2;
2896#line 111
2897 return;
2898}
2899}
2900#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2901int mutex_trylock(struct mutex *lock )
2902{ int nondetermined ;
2903
2904 {
2905#line 121
2906 if (ldv_mutex == 1) {
2907
2908 } else {
2909 {
2910#line 121
2911 ldv_blast_assert();
2912 }
2913 }
2914 {
2915#line 124
2916 nondetermined = __VERIFIER_nondet_int();
2917 }
2918#line 127
2919 if (nondetermined) {
2920#line 130
2921 ldv_mutex = 2;
2922#line 132
2923 return (1);
2924 } else {
2925#line 137
2926 return (0);
2927 }
2928}
2929}
2930#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2931void mutex_unlock(struct mutex *lock )
2932{
2933
2934 {
2935#line 147
2936 if (ldv_mutex == 2) {
2937
2938 } else {
2939 {
2940#line 147
2941 ldv_blast_assert();
2942 }
2943 }
2944#line 149
2945 ldv_mutex = 1;
2946#line 150
2947 return;
2948}
2949}
2950#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2951void ldv_check_final_state(void)
2952{
2953
2954 {
2955#line 156
2956 if (ldv_mutex == 1) {
2957
2958 } else {
2959 {
2960#line 156
2961 ldv_blast_assert();
2962 }
2963 }
2964#line 157
2965 return;
2966}
2967}
2968#line 702 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2969long s__builtin_expect(long val , long res )
2970{
2971
2972 {
2973#line 703
2974 return (val);
2975}
2976}