1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 20 "include/asm-generic/int-ll64.h"
7typedef unsigned char __u8;
8#line 22 "include/asm-generic/int-ll64.h"
9typedef short __s16;
10#line 23 "include/asm-generic/int-ll64.h"
11typedef unsigned short __u16;
12#line 25 "include/asm-generic/int-ll64.h"
13typedef int __s32;
14#line 26 "include/asm-generic/int-ll64.h"
15typedef unsigned int __u32;
16#line 30 "include/asm-generic/int-ll64.h"
17typedef unsigned long long __u64;
18#line 43 "include/asm-generic/int-ll64.h"
19typedef unsigned char u8;
20#line 45 "include/asm-generic/int-ll64.h"
21typedef short s16;
22#line 46 "include/asm-generic/int-ll64.h"
23typedef unsigned short u16;
24#line 48 "include/asm-generic/int-ll64.h"
25typedef int s32;
26#line 49 "include/asm-generic/int-ll64.h"
27typedef unsigned int u32;
28#line 51 "include/asm-generic/int-ll64.h"
29typedef long long s64;
30#line 52 "include/asm-generic/int-ll64.h"
31typedef unsigned long long u64;
32#line 14 "include/asm-generic/posix_types.h"
33typedef long __kernel_long_t;
34#line 15 "include/asm-generic/posix_types.h"
35typedef unsigned long __kernel_ulong_t;
36#line 52 "include/asm-generic/posix_types.h"
37typedef unsigned int __kernel_uid32_t;
38#line 53 "include/asm-generic/posix_types.h"
39typedef unsigned int __kernel_gid32_t;
40#line 75 "include/asm-generic/posix_types.h"
41typedef __kernel_ulong_t __kernel_size_t;
42#line 76 "include/asm-generic/posix_types.h"
43typedef __kernel_long_t __kernel_ssize_t;
44#line 91 "include/asm-generic/posix_types.h"
45typedef long long __kernel_loff_t;
46#line 92 "include/asm-generic/posix_types.h"
47typedef __kernel_long_t __kernel_time_t;
48#line 21 "include/linux/types.h"
49typedef __u32 __kernel_dev_t;
50#line 24 "include/linux/types.h"
51typedef __kernel_dev_t dev_t;
52#line 27 "include/linux/types.h"
53typedef unsigned short umode_t;
54#line 38 "include/linux/types.h"
55typedef _Bool bool;
56#line 40 "include/linux/types.h"
57typedef __kernel_uid32_t uid_t;
58#line 41 "include/linux/types.h"
59typedef __kernel_gid32_t gid_t;
60#line 54 "include/linux/types.h"
61typedef __kernel_loff_t loff_t;
62#line 63 "include/linux/types.h"
63typedef __kernel_size_t size_t;
64#line 68 "include/linux/types.h"
65typedef __kernel_ssize_t ssize_t;
66#line 78 "include/linux/types.h"
67typedef __kernel_time_t time_t;
68#line 142 "include/linux/types.h"
69typedef unsigned long sector_t;
70#line 143 "include/linux/types.h"
71typedef unsigned long blkcnt_t;
72#line 202 "include/linux/types.h"
73typedef unsigned int gfp_t;
74#line 203 "include/linux/types.h"
75typedef unsigned int fmode_t;
76#line 206 "include/linux/types.h"
77typedef u64 phys_addr_t;
78#line 211 "include/linux/types.h"
79typedef phys_addr_t resource_size_t;
80#line 221 "include/linux/types.h"
81struct __anonstruct_atomic_t_6 {
82 int counter ;
83};
84#line 221 "include/linux/types.h"
85typedef struct __anonstruct_atomic_t_6 atomic_t;
86#line 226 "include/linux/types.h"
87struct __anonstruct_atomic64_t_7 {
88 long counter ;
89};
90#line 226 "include/linux/types.h"
91typedef struct __anonstruct_atomic64_t_7 atomic64_t;
92#line 227 "include/linux/types.h"
93struct list_head {
94 struct list_head *next ;
95 struct list_head *prev ;
96};
97#line 232
98struct hlist_node;
99#line 232 "include/linux/types.h"
100struct hlist_head {
101 struct hlist_node *first ;
102};
103#line 236 "include/linux/types.h"
104struct hlist_node {
105 struct hlist_node *next ;
106 struct hlist_node **pprev ;
107};
108#line 247 "include/linux/types.h"
109struct rcu_head {
110 struct rcu_head *next ;
111 void (*func)(struct rcu_head * ) ;
112};
113#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
114struct module;
115#line 55
116struct module;
117#line 146 "include/linux/init.h"
118typedef void (*ctor_fn_t)(void);
119#line 46 "include/linux/dynamic_debug.h"
120struct device;
121#line 46
122struct device;
123#line 57
124struct completion;
125#line 57
126struct completion;
127#line 348 "include/linux/kernel.h"
128struct pid;
129#line 348
130struct pid;
131#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
132struct timespec;
133#line 112
134struct timespec;
135#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
136struct page;
137#line 58
138struct page;
139#line 26 "include/asm-generic/getorder.h"
140struct task_struct;
141#line 26
142struct task_struct;
143#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
144struct file;
145#line 290
146struct file;
147#line 305
148struct seq_file;
149#line 305
150struct seq_file;
151#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
152struct arch_spinlock;
153#line 327
154struct arch_spinlock;
155#line 306 "include/linux/bitmap.h"
156struct bug_entry {
157 int bug_addr_disp ;
158 int file_disp ;
159 unsigned short line ;
160 unsigned short flags ;
161};
162#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
163struct static_key;
164#line 234
165struct static_key;
166#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
167struct kmem_cache;
168#line 23 "include/asm-generic/atomic-long.h"
169typedef atomic64_t atomic_long_t;
170#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
171typedef u16 __ticket_t;
172#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
173typedef u32 __ticketpair_t;
174#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
175struct __raw_tickets {
176 __ticket_t head ;
177 __ticket_t tail ;
178};
179#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
180union __anonunion_ldv_5907_29 {
181 __ticketpair_t head_tail ;
182 struct __raw_tickets tickets ;
183};
184#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
185struct arch_spinlock {
186 union __anonunion_ldv_5907_29 ldv_5907 ;
187};
188#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
189typedef struct arch_spinlock arch_spinlock_t;
190#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
191struct __anonstruct_ldv_5914_31 {
192 u32 read ;
193 s32 write ;
194};
195#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
196union __anonunion_arch_rwlock_t_30 {
197 s64 lock ;
198 struct __anonstruct_ldv_5914_31 ldv_5914 ;
199};
200#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
201typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
202#line 34
203struct lockdep_map;
204#line 34
205struct lockdep_map;
206#line 55 "include/linux/debug_locks.h"
207struct stack_trace {
208 unsigned int nr_entries ;
209 unsigned int max_entries ;
210 unsigned long *entries ;
211 int skip ;
212};
213#line 26 "include/linux/stacktrace.h"
214struct lockdep_subclass_key {
215 char __one_byte ;
216};
217#line 53 "include/linux/lockdep.h"
218struct lock_class_key {
219 struct lockdep_subclass_key subkeys[8U] ;
220};
221#line 59 "include/linux/lockdep.h"
222struct lock_class {
223 struct list_head hash_entry ;
224 struct list_head lock_entry ;
225 struct lockdep_subclass_key *key ;
226 unsigned int subclass ;
227 unsigned int dep_gen_id ;
228 unsigned long usage_mask ;
229 struct stack_trace usage_traces[13U] ;
230 struct list_head locks_after ;
231 struct list_head locks_before ;
232 unsigned int version ;
233 unsigned long ops ;
234 char const *name ;
235 int name_version ;
236 unsigned long contention_point[4U] ;
237 unsigned long contending_point[4U] ;
238};
239#line 144 "include/linux/lockdep.h"
240struct lockdep_map {
241 struct lock_class_key *key ;
242 struct lock_class *class_cache[2U] ;
243 char const *name ;
244 int cpu ;
245 unsigned long ip ;
246};
247#line 556 "include/linux/lockdep.h"
248struct raw_spinlock {
249 arch_spinlock_t raw_lock ;
250 unsigned int magic ;
251 unsigned int owner_cpu ;
252 void *owner ;
253 struct lockdep_map dep_map ;
254};
255#line 32 "include/linux/spinlock_types.h"
256typedef struct raw_spinlock raw_spinlock_t;
257#line 33 "include/linux/spinlock_types.h"
258struct __anonstruct_ldv_6122_33 {
259 u8 __padding[24U] ;
260 struct lockdep_map dep_map ;
261};
262#line 33 "include/linux/spinlock_types.h"
263union __anonunion_ldv_6123_32 {
264 struct raw_spinlock rlock ;
265 struct __anonstruct_ldv_6122_33 ldv_6122 ;
266};
267#line 33 "include/linux/spinlock_types.h"
268struct spinlock {
269 union __anonunion_ldv_6123_32 ldv_6123 ;
270};
271#line 76 "include/linux/spinlock_types.h"
272typedef struct spinlock spinlock_t;
273#line 23 "include/linux/rwlock_types.h"
274struct __anonstruct_rwlock_t_34 {
275 arch_rwlock_t raw_lock ;
276 unsigned int magic ;
277 unsigned int owner_cpu ;
278 void *owner ;
279 struct lockdep_map dep_map ;
280};
281#line 23 "include/linux/rwlock_types.h"
282typedef struct __anonstruct_rwlock_t_34 rwlock_t;
283#line 110 "include/linux/seqlock.h"
284struct seqcount {
285 unsigned int sequence ;
286};
287#line 121 "include/linux/seqlock.h"
288typedef struct seqcount seqcount_t;
289#line 254 "include/linux/seqlock.h"
290struct timespec {
291 __kernel_time_t tv_sec ;
292 long tv_nsec ;
293};
294#line 286 "include/linux/time.h"
295struct kstat {
296 u64 ino ;
297 dev_t dev ;
298 umode_t mode ;
299 unsigned int nlink ;
300 uid_t uid ;
301 gid_t gid ;
302 dev_t rdev ;
303 loff_t size ;
304 struct timespec atime ;
305 struct timespec mtime ;
306 struct timespec ctime ;
307 unsigned long blksize ;
308 unsigned long long blocks ;
309};
310#line 48 "include/linux/wait.h"
311struct __wait_queue_head {
312 spinlock_t lock ;
313 struct list_head task_list ;
314};
315#line 53 "include/linux/wait.h"
316typedef struct __wait_queue_head wait_queue_head_t;
317#line 670 "include/linux/mmzone.h"
318struct mutex {
319 atomic_t count ;
320 spinlock_t wait_lock ;
321 struct list_head wait_list ;
322 struct task_struct *owner ;
323 char const *name ;
324 void *magic ;
325 struct lockdep_map dep_map ;
326};
327#line 171 "include/linux/mutex.h"
328struct rw_semaphore;
329#line 171
330struct rw_semaphore;
331#line 172 "include/linux/mutex.h"
332struct rw_semaphore {
333 long count ;
334 raw_spinlock_t wait_lock ;
335 struct list_head wait_list ;
336 struct lockdep_map dep_map ;
337};
338#line 128 "include/linux/rwsem.h"
339struct completion {
340 unsigned int done ;
341 wait_queue_head_t wait ;
342};
343#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
344struct resource {
345 resource_size_t start ;
346 resource_size_t end ;
347 char const *name ;
348 unsigned long flags ;
349 struct resource *parent ;
350 struct resource *sibling ;
351 struct resource *child ;
352};
353#line 312 "include/linux/jiffies.h"
354union ktime {
355 s64 tv64 ;
356};
357#line 59 "include/linux/ktime.h"
358typedef union ktime ktime_t;
359#line 341
360struct tvec_base;
361#line 341
362struct tvec_base;
363#line 342 "include/linux/ktime.h"
364struct timer_list {
365 struct list_head entry ;
366 unsigned long expires ;
367 struct tvec_base *base ;
368 void (*function)(unsigned long ) ;
369 unsigned long data ;
370 int slack ;
371 int start_pid ;
372 void *start_site ;
373 char start_comm[16U] ;
374 struct lockdep_map lockdep_map ;
375};
376#line 302 "include/linux/timer.h"
377struct work_struct;
378#line 302
379struct work_struct;
380#line 45 "include/linux/workqueue.h"
381struct work_struct {
382 atomic_long_t data ;
383 struct list_head entry ;
384 void (*func)(struct work_struct * ) ;
385 struct lockdep_map lockdep_map ;
386};
387#line 46 "include/linux/pm.h"
388struct pm_message {
389 int event ;
390};
391#line 52 "include/linux/pm.h"
392typedef struct pm_message pm_message_t;
393#line 53 "include/linux/pm.h"
394struct dev_pm_ops {
395 int (*prepare)(struct device * ) ;
396 void (*complete)(struct device * ) ;
397 int (*suspend)(struct device * ) ;
398 int (*resume)(struct device * ) ;
399 int (*freeze)(struct device * ) ;
400 int (*thaw)(struct device * ) ;
401 int (*poweroff)(struct device * ) ;
402 int (*restore)(struct device * ) ;
403 int (*suspend_late)(struct device * ) ;
404 int (*resume_early)(struct device * ) ;
405 int (*freeze_late)(struct device * ) ;
406 int (*thaw_early)(struct device * ) ;
407 int (*poweroff_late)(struct device * ) ;
408 int (*restore_early)(struct device * ) ;
409 int (*suspend_noirq)(struct device * ) ;
410 int (*resume_noirq)(struct device * ) ;
411 int (*freeze_noirq)(struct device * ) ;
412 int (*thaw_noirq)(struct device * ) ;
413 int (*poweroff_noirq)(struct device * ) ;
414 int (*restore_noirq)(struct device * ) ;
415 int (*runtime_suspend)(struct device * ) ;
416 int (*runtime_resume)(struct device * ) ;
417 int (*runtime_idle)(struct device * ) ;
418};
419#line 289
420enum rpm_status {
421 RPM_ACTIVE = 0,
422 RPM_RESUMING = 1,
423 RPM_SUSPENDED = 2,
424 RPM_SUSPENDING = 3
425} ;
426#line 296
427enum rpm_request {
428 RPM_REQ_NONE = 0,
429 RPM_REQ_IDLE = 1,
430 RPM_REQ_SUSPEND = 2,
431 RPM_REQ_AUTOSUSPEND = 3,
432 RPM_REQ_RESUME = 4
433} ;
434#line 304
435struct wakeup_source;
436#line 304
437struct wakeup_source;
438#line 494 "include/linux/pm.h"
439struct pm_subsys_data {
440 spinlock_t lock ;
441 unsigned int refcount ;
442};
443#line 499
444struct dev_pm_qos_request;
445#line 499
446struct pm_qos_constraints;
447#line 499 "include/linux/pm.h"
448struct dev_pm_info {
449 pm_message_t power_state ;
450 unsigned char can_wakeup : 1 ;
451 unsigned char async_suspend : 1 ;
452 bool is_prepared ;
453 bool is_suspended ;
454 bool ignore_children ;
455 spinlock_t lock ;
456 struct list_head entry ;
457 struct completion completion ;
458 struct wakeup_source *wakeup ;
459 bool wakeup_path ;
460 struct timer_list suspend_timer ;
461 unsigned long timer_expires ;
462 struct work_struct work ;
463 wait_queue_head_t wait_queue ;
464 atomic_t usage_count ;
465 atomic_t child_count ;
466 unsigned char disable_depth : 3 ;
467 unsigned char idle_notification : 1 ;
468 unsigned char request_pending : 1 ;
469 unsigned char deferred_resume : 1 ;
470 unsigned char run_wake : 1 ;
471 unsigned char runtime_auto : 1 ;
472 unsigned char no_callbacks : 1 ;
473 unsigned char irq_safe : 1 ;
474 unsigned char use_autosuspend : 1 ;
475 unsigned char timer_autosuspends : 1 ;
476 enum rpm_request request ;
477 enum rpm_status runtime_status ;
478 int runtime_error ;
479 int autosuspend_delay ;
480 unsigned long last_busy ;
481 unsigned long active_jiffies ;
482 unsigned long suspended_jiffies ;
483 unsigned long accounting_timestamp ;
484 ktime_t suspend_time ;
485 s64 max_time_suspended_ns ;
486 struct dev_pm_qos_request *pq_req ;
487 struct pm_subsys_data *subsys_data ;
488 struct pm_qos_constraints *constraints ;
489};
490#line 558 "include/linux/pm.h"
491struct dev_pm_domain {
492 struct dev_pm_ops ops ;
493};
494#line 18 "include/asm-generic/pci_iomap.h"
495struct vm_area_struct;
496#line 18
497struct vm_area_struct;
498#line 37 "include/linux/kmod.h"
499struct cred;
500#line 37
501struct cred;
502#line 18 "include/linux/elf.h"
503typedef __u64 Elf64_Addr;
504#line 19 "include/linux/elf.h"
505typedef __u16 Elf64_Half;
506#line 23 "include/linux/elf.h"
507typedef __u32 Elf64_Word;
508#line 24 "include/linux/elf.h"
509typedef __u64 Elf64_Xword;
510#line 193 "include/linux/elf.h"
511struct elf64_sym {
512 Elf64_Word st_name ;
513 unsigned char st_info ;
514 unsigned char st_other ;
515 Elf64_Half st_shndx ;
516 Elf64_Addr st_value ;
517 Elf64_Xword st_size ;
518};
519#line 201 "include/linux/elf.h"
520typedef struct elf64_sym Elf64_Sym;
521#line 445
522struct sock;
523#line 445
524struct sock;
525#line 446
526struct kobject;
527#line 446
528struct kobject;
529#line 447
530enum kobj_ns_type {
531 KOBJ_NS_TYPE_NONE = 0,
532 KOBJ_NS_TYPE_NET = 1,
533 KOBJ_NS_TYPES = 2
534} ;
535#line 453 "include/linux/elf.h"
536struct kobj_ns_type_operations {
537 enum kobj_ns_type type ;
538 void *(*grab_current_ns)(void) ;
539 void const *(*netlink_ns)(struct sock * ) ;
540 void const *(*initial_ns)(void) ;
541 void (*drop_ns)(void * ) ;
542};
543#line 57 "include/linux/kobject_ns.h"
544struct attribute {
545 char const *name ;
546 umode_t mode ;
547 struct lock_class_key *key ;
548 struct lock_class_key skey ;
549};
550#line 33 "include/linux/sysfs.h"
551struct attribute_group {
552 char const *name ;
553 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
554 struct attribute **attrs ;
555};
556#line 62 "include/linux/sysfs.h"
557struct bin_attribute {
558 struct attribute attr ;
559 size_t size ;
560 void *private ;
561 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
562 loff_t , size_t ) ;
563 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
564 loff_t , size_t ) ;
565 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
566};
567#line 98 "include/linux/sysfs.h"
568struct sysfs_ops {
569 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
570 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
571 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
572};
573#line 117
574struct sysfs_dirent;
575#line 117
576struct sysfs_dirent;
577#line 182 "include/linux/sysfs.h"
578struct kref {
579 atomic_t refcount ;
580};
581#line 49 "include/linux/kobject.h"
582struct kset;
583#line 49
584struct kobj_type;
585#line 49 "include/linux/kobject.h"
586struct kobject {
587 char const *name ;
588 struct list_head entry ;
589 struct kobject *parent ;
590 struct kset *kset ;
591 struct kobj_type *ktype ;
592 struct sysfs_dirent *sd ;
593 struct kref kref ;
594 unsigned char state_initialized : 1 ;
595 unsigned char state_in_sysfs : 1 ;
596 unsigned char state_add_uevent_sent : 1 ;
597 unsigned char state_remove_uevent_sent : 1 ;
598 unsigned char uevent_suppress : 1 ;
599};
600#line 107 "include/linux/kobject.h"
601struct kobj_type {
602 void (*release)(struct kobject * ) ;
603 struct sysfs_ops const *sysfs_ops ;
604 struct attribute **default_attrs ;
605 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
606 void const *(*namespace)(struct kobject * ) ;
607};
608#line 115 "include/linux/kobject.h"
609struct kobj_uevent_env {
610 char *envp[32U] ;
611 int envp_idx ;
612 char buf[2048U] ;
613 int buflen ;
614};
615#line 122 "include/linux/kobject.h"
616struct kset_uevent_ops {
617 int (* const filter)(struct kset * , struct kobject * ) ;
618 char const *(* const name)(struct kset * , struct kobject * ) ;
619 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
620};
621#line 139 "include/linux/kobject.h"
622struct kset {
623 struct list_head list ;
624 spinlock_t list_lock ;
625 struct kobject kobj ;
626 struct kset_uevent_ops const *uevent_ops ;
627};
628#line 215
629struct kernel_param;
630#line 215
631struct kernel_param;
632#line 216 "include/linux/kobject.h"
633struct kernel_param_ops {
634 int (*set)(char const * , struct kernel_param const * ) ;
635 int (*get)(char * , struct kernel_param const * ) ;
636 void (*free)(void * ) ;
637};
638#line 49 "include/linux/moduleparam.h"
639struct kparam_string;
640#line 49
641struct kparam_array;
642#line 49 "include/linux/moduleparam.h"
643union __anonunion_ldv_13363_134 {
644 void *arg ;
645 struct kparam_string const *str ;
646 struct kparam_array const *arr ;
647};
648#line 49 "include/linux/moduleparam.h"
649struct kernel_param {
650 char const *name ;
651 struct kernel_param_ops const *ops ;
652 u16 perm ;
653 s16 level ;
654 union __anonunion_ldv_13363_134 ldv_13363 ;
655};
656#line 61 "include/linux/moduleparam.h"
657struct kparam_string {
658 unsigned int maxlen ;
659 char *string ;
660};
661#line 67 "include/linux/moduleparam.h"
662struct kparam_array {
663 unsigned int max ;
664 unsigned int elemsize ;
665 unsigned int *num ;
666 struct kernel_param_ops const *ops ;
667 void *elem ;
668};
669#line 458 "include/linux/moduleparam.h"
670struct static_key {
671 atomic_t enabled ;
672};
673#line 225 "include/linux/jump_label.h"
674struct tracepoint;
675#line 225
676struct tracepoint;
677#line 226 "include/linux/jump_label.h"
678struct tracepoint_func {
679 void *func ;
680 void *data ;
681};
682#line 29 "include/linux/tracepoint.h"
683struct tracepoint {
684 char const *name ;
685 struct static_key key ;
686 void (*regfunc)(void) ;
687 void (*unregfunc)(void) ;
688 struct tracepoint_func *funcs ;
689};
690#line 86 "include/linux/tracepoint.h"
691struct kernel_symbol {
692 unsigned long value ;
693 char const *name ;
694};
695#line 27 "include/linux/export.h"
696struct mod_arch_specific {
697
698};
699#line 34 "include/linux/module.h"
700struct module_param_attrs;
701#line 34 "include/linux/module.h"
702struct module_kobject {
703 struct kobject kobj ;
704 struct module *mod ;
705 struct kobject *drivers_dir ;
706 struct module_param_attrs *mp ;
707};
708#line 43 "include/linux/module.h"
709struct module_attribute {
710 struct attribute attr ;
711 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
712 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
713 size_t ) ;
714 void (*setup)(struct module * , char const * ) ;
715 int (*test)(struct module * ) ;
716 void (*free)(struct module * ) ;
717};
718#line 69
719struct exception_table_entry;
720#line 69
721struct exception_table_entry;
722#line 198
723enum module_state {
724 MODULE_STATE_LIVE = 0,
725 MODULE_STATE_COMING = 1,
726 MODULE_STATE_GOING = 2
727} ;
728#line 204 "include/linux/module.h"
729struct module_ref {
730 unsigned long incs ;
731 unsigned long decs ;
732};
733#line 219
734struct module_sect_attrs;
735#line 219
736struct module_notes_attrs;
737#line 219
738struct ftrace_event_call;
739#line 219 "include/linux/module.h"
740struct module {
741 enum module_state state ;
742 struct list_head list ;
743 char name[56U] ;
744 struct module_kobject mkobj ;
745 struct module_attribute *modinfo_attrs ;
746 char const *version ;
747 char const *srcversion ;
748 struct kobject *holders_dir ;
749 struct kernel_symbol const *syms ;
750 unsigned long const *crcs ;
751 unsigned int num_syms ;
752 struct kernel_param *kp ;
753 unsigned int num_kp ;
754 unsigned int num_gpl_syms ;
755 struct kernel_symbol const *gpl_syms ;
756 unsigned long const *gpl_crcs ;
757 struct kernel_symbol const *unused_syms ;
758 unsigned long const *unused_crcs ;
759 unsigned int num_unused_syms ;
760 unsigned int num_unused_gpl_syms ;
761 struct kernel_symbol const *unused_gpl_syms ;
762 unsigned long const *unused_gpl_crcs ;
763 struct kernel_symbol const *gpl_future_syms ;
764 unsigned long const *gpl_future_crcs ;
765 unsigned int num_gpl_future_syms ;
766 unsigned int num_exentries ;
767 struct exception_table_entry *extable ;
768 int (*init)(void) ;
769 void *module_init ;
770 void *module_core ;
771 unsigned int init_size ;
772 unsigned int core_size ;
773 unsigned int init_text_size ;
774 unsigned int core_text_size ;
775 unsigned int init_ro_size ;
776 unsigned int core_ro_size ;
777 struct mod_arch_specific arch ;
778 unsigned int taints ;
779 unsigned int num_bugs ;
780 struct list_head bug_list ;
781 struct bug_entry *bug_table ;
782 Elf64_Sym *symtab ;
783 Elf64_Sym *core_symtab ;
784 unsigned int num_symtab ;
785 unsigned int core_num_syms ;
786 char *strtab ;
787 char *core_strtab ;
788 struct module_sect_attrs *sect_attrs ;
789 struct module_notes_attrs *notes_attrs ;
790 char *args ;
791 void *percpu ;
792 unsigned int percpu_size ;
793 unsigned int num_tracepoints ;
794 struct tracepoint * const *tracepoints_ptrs ;
795 unsigned int num_trace_bprintk_fmt ;
796 char const **trace_bprintk_fmt_start ;
797 struct ftrace_event_call **trace_events ;
798 unsigned int num_trace_events ;
799 struct list_head source_list ;
800 struct list_head target_list ;
801 struct task_struct *waiter ;
802 void (*exit)(void) ;
803 struct module_ref *refptr ;
804 ctor_fn_t (**ctors)(void) ;
805 unsigned int num_ctors ;
806};
807#line 88 "include/linux/kmemleak.h"
808struct kmem_cache_cpu {
809 void **freelist ;
810 unsigned long tid ;
811 struct page *page ;
812 struct page *partial ;
813 int node ;
814 unsigned int stat[26U] ;
815};
816#line 55 "include/linux/slub_def.h"
817struct kmem_cache_node {
818 spinlock_t list_lock ;
819 unsigned long nr_partial ;
820 struct list_head partial ;
821 atomic_long_t nr_slabs ;
822 atomic_long_t total_objects ;
823 struct list_head full ;
824};
825#line 66 "include/linux/slub_def.h"
826struct kmem_cache_order_objects {
827 unsigned long x ;
828};
829#line 76 "include/linux/slub_def.h"
830struct kmem_cache {
831 struct kmem_cache_cpu *cpu_slab ;
832 unsigned long flags ;
833 unsigned long min_partial ;
834 int size ;
835 int objsize ;
836 int offset ;
837 int cpu_partial ;
838 struct kmem_cache_order_objects oo ;
839 struct kmem_cache_order_objects max ;
840 struct kmem_cache_order_objects min ;
841 gfp_t allocflags ;
842 int refcount ;
843 void (*ctor)(void * ) ;
844 int inuse ;
845 int align ;
846 int reserved ;
847 char const *name ;
848 struct list_head list ;
849 struct kobject kobj ;
850 int remote_node_defrag_ratio ;
851 struct kmem_cache_node *node[1024U] ;
852};
853#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
854struct file_operations;
855#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
856struct miscdevice {
857 int minor ;
858 char const *name ;
859 struct file_operations const *fops ;
860 struct list_head list ;
861 struct device *parent ;
862 struct device *this_device ;
863 char const *nodename ;
864 umode_t mode ;
865};
866#line 63 "include/linux/miscdevice.h"
867struct watchdog_info {
868 __u32 options ;
869 __u32 firmware_version ;
870 __u8 identity[32U] ;
871};
872#line 155 "include/linux/watchdog.h"
873struct block_device;
874#line 155
875struct block_device;
876#line 93 "include/linux/bit_spinlock.h"
877struct hlist_bl_node;
878#line 93 "include/linux/bit_spinlock.h"
879struct hlist_bl_head {
880 struct hlist_bl_node *first ;
881};
882#line 36 "include/linux/list_bl.h"
883struct hlist_bl_node {
884 struct hlist_bl_node *next ;
885 struct hlist_bl_node **pprev ;
886};
887#line 114 "include/linux/rculist_bl.h"
888struct nameidata;
889#line 114
890struct nameidata;
891#line 115
892struct path;
893#line 115
894struct path;
895#line 116
896struct vfsmount;
897#line 116
898struct vfsmount;
899#line 117 "include/linux/rculist_bl.h"
900struct qstr {
901 unsigned int hash ;
902 unsigned int len ;
903 unsigned char const *name ;
904};
905#line 72 "include/linux/dcache.h"
906struct inode;
907#line 72
908struct dentry_operations;
909#line 72
910struct super_block;
911#line 72 "include/linux/dcache.h"
912union __anonunion_d_u_135 {
913 struct list_head d_child ;
914 struct rcu_head d_rcu ;
915};
916#line 72 "include/linux/dcache.h"
917struct dentry {
918 unsigned int d_flags ;
919 seqcount_t d_seq ;
920 struct hlist_bl_node d_hash ;
921 struct dentry *d_parent ;
922 struct qstr d_name ;
923 struct inode *d_inode ;
924 unsigned char d_iname[32U] ;
925 unsigned int d_count ;
926 spinlock_t d_lock ;
927 struct dentry_operations const *d_op ;
928 struct super_block *d_sb ;
929 unsigned long d_time ;
930 void *d_fsdata ;
931 struct list_head d_lru ;
932 union __anonunion_d_u_135 d_u ;
933 struct list_head d_subdirs ;
934 struct list_head d_alias ;
935};
936#line 123 "include/linux/dcache.h"
937struct dentry_operations {
938 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
939 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
940 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
941 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
942 int (*d_delete)(struct dentry const * ) ;
943 void (*d_release)(struct dentry * ) ;
944 void (*d_prune)(struct dentry * ) ;
945 void (*d_iput)(struct dentry * , struct inode * ) ;
946 char *(*d_dname)(struct dentry * , char * , int ) ;
947 struct vfsmount *(*d_automount)(struct path * ) ;
948 int (*d_manage)(struct dentry * , bool ) ;
949};
950#line 402 "include/linux/dcache.h"
951struct path {
952 struct vfsmount *mnt ;
953 struct dentry *dentry ;
954};
955#line 58 "include/linux/radix-tree.h"
956struct radix_tree_node;
957#line 58 "include/linux/radix-tree.h"
958struct radix_tree_root {
959 unsigned int height ;
960 gfp_t gfp_mask ;
961 struct radix_tree_node *rnode ;
962};
963#line 377
964struct prio_tree_node;
965#line 19 "include/linux/prio_tree.h"
966struct prio_tree_node {
967 struct prio_tree_node *left ;
968 struct prio_tree_node *right ;
969 struct prio_tree_node *parent ;
970 unsigned long start ;
971 unsigned long last ;
972};
973#line 27 "include/linux/prio_tree.h"
974struct prio_tree_root {
975 struct prio_tree_node *prio_tree_node ;
976 unsigned short index_bits ;
977 unsigned short raw ;
978};
979#line 111
980enum pid_type {
981 PIDTYPE_PID = 0,
982 PIDTYPE_PGID = 1,
983 PIDTYPE_SID = 2,
984 PIDTYPE_MAX = 3
985} ;
986#line 118
987struct pid_namespace;
988#line 118 "include/linux/prio_tree.h"
989struct upid {
990 int nr ;
991 struct pid_namespace *ns ;
992 struct hlist_node pid_chain ;
993};
994#line 56 "include/linux/pid.h"
995struct pid {
996 atomic_t count ;
997 unsigned int level ;
998 struct hlist_head tasks[3U] ;
999 struct rcu_head rcu ;
1000 struct upid numbers[1U] ;
1001};
1002#line 45 "include/linux/semaphore.h"
1003struct fiemap_extent {
1004 __u64 fe_logical ;
1005 __u64 fe_physical ;
1006 __u64 fe_length ;
1007 __u64 fe_reserved64[2U] ;
1008 __u32 fe_flags ;
1009 __u32 fe_reserved[3U] ;
1010};
1011#line 38 "include/linux/fiemap.h"
1012struct shrink_control {
1013 gfp_t gfp_mask ;
1014 unsigned long nr_to_scan ;
1015};
1016#line 14 "include/linux/shrinker.h"
1017struct shrinker {
1018 int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1019 int seeks ;
1020 long batch ;
1021 struct list_head list ;
1022 atomic_long_t nr_in_batch ;
1023};
1024#line 43
1025enum migrate_mode {
1026 MIGRATE_ASYNC = 0,
1027 MIGRATE_SYNC_LIGHT = 1,
1028 MIGRATE_SYNC = 2
1029} ;
1030#line 49
1031struct export_operations;
1032#line 49
1033struct export_operations;
1034#line 51
1035struct iovec;
1036#line 51
1037struct iovec;
1038#line 52
1039struct kiocb;
1040#line 52
1041struct kiocb;
1042#line 53
1043struct pipe_inode_info;
1044#line 53
1045struct pipe_inode_info;
1046#line 54
1047struct poll_table_struct;
1048#line 54
1049struct poll_table_struct;
1050#line 55
1051struct kstatfs;
1052#line 55
1053struct kstatfs;
1054#line 435 "include/linux/fs.h"
1055struct iattr {
1056 unsigned int ia_valid ;
1057 umode_t ia_mode ;
1058 uid_t ia_uid ;
1059 gid_t ia_gid ;
1060 loff_t ia_size ;
1061 struct timespec ia_atime ;
1062 struct timespec ia_mtime ;
1063 struct timespec ia_ctime ;
1064 struct file *ia_file ;
1065};
1066#line 119 "include/linux/quota.h"
1067struct if_dqinfo {
1068 __u64 dqi_bgrace ;
1069 __u64 dqi_igrace ;
1070 __u32 dqi_flags ;
1071 __u32 dqi_valid ;
1072};
1073#line 176 "include/linux/percpu_counter.h"
1074struct fs_disk_quota {
1075 __s8 d_version ;
1076 __s8 d_flags ;
1077 __u16 d_fieldmask ;
1078 __u32 d_id ;
1079 __u64 d_blk_hardlimit ;
1080 __u64 d_blk_softlimit ;
1081 __u64 d_ino_hardlimit ;
1082 __u64 d_ino_softlimit ;
1083 __u64 d_bcount ;
1084 __u64 d_icount ;
1085 __s32 d_itimer ;
1086 __s32 d_btimer ;
1087 __u16 d_iwarns ;
1088 __u16 d_bwarns ;
1089 __s32 d_padding2 ;
1090 __u64 d_rtb_hardlimit ;
1091 __u64 d_rtb_softlimit ;
1092 __u64 d_rtbcount ;
1093 __s32 d_rtbtimer ;
1094 __u16 d_rtbwarns ;
1095 __s16 d_padding3 ;
1096 char d_padding4[8U] ;
1097};
1098#line 75 "include/linux/dqblk_xfs.h"
1099struct fs_qfilestat {
1100 __u64 qfs_ino ;
1101 __u64 qfs_nblks ;
1102 __u32 qfs_nextents ;
1103};
1104#line 150 "include/linux/dqblk_xfs.h"
1105typedef struct fs_qfilestat fs_qfilestat_t;
1106#line 151 "include/linux/dqblk_xfs.h"
1107struct fs_quota_stat {
1108 __s8 qs_version ;
1109 __u16 qs_flags ;
1110 __s8 qs_pad ;
1111 fs_qfilestat_t qs_uquota ;
1112 fs_qfilestat_t qs_gquota ;
1113 __u32 qs_incoredqs ;
1114 __s32 qs_btimelimit ;
1115 __s32 qs_itimelimit ;
1116 __s32 qs_rtbtimelimit ;
1117 __u16 qs_bwarnlimit ;
1118 __u16 qs_iwarnlimit ;
1119};
1120#line 165
1121struct dquot;
1122#line 165
1123struct dquot;
1124#line 185 "include/linux/quota.h"
1125typedef __kernel_uid32_t qid_t;
1126#line 186 "include/linux/quota.h"
1127typedef long long qsize_t;
1128#line 189 "include/linux/quota.h"
1129struct mem_dqblk {
1130 qsize_t dqb_bhardlimit ;
1131 qsize_t dqb_bsoftlimit ;
1132 qsize_t dqb_curspace ;
1133 qsize_t dqb_rsvspace ;
1134 qsize_t dqb_ihardlimit ;
1135 qsize_t dqb_isoftlimit ;
1136 qsize_t dqb_curinodes ;
1137 time_t dqb_btime ;
1138 time_t dqb_itime ;
1139};
1140#line 211
1141struct quota_format_type;
1142#line 211
1143struct quota_format_type;
1144#line 212 "include/linux/quota.h"
1145struct mem_dqinfo {
1146 struct quota_format_type *dqi_format ;
1147 int dqi_fmt_id ;
1148 struct list_head dqi_dirty_list ;
1149 unsigned long dqi_flags ;
1150 unsigned int dqi_bgrace ;
1151 unsigned int dqi_igrace ;
1152 qsize_t dqi_maxblimit ;
1153 qsize_t dqi_maxilimit ;
1154 void *dqi_priv ;
1155};
1156#line 275 "include/linux/quota.h"
1157struct dquot {
1158 struct hlist_node dq_hash ;
1159 struct list_head dq_inuse ;
1160 struct list_head dq_free ;
1161 struct list_head dq_dirty ;
1162 struct mutex dq_lock ;
1163 atomic_t dq_count ;
1164 wait_queue_head_t dq_wait_unused ;
1165 struct super_block *dq_sb ;
1166 unsigned int dq_id ;
1167 loff_t dq_off ;
1168 unsigned long dq_flags ;
1169 short dq_type ;
1170 struct mem_dqblk dq_dqb ;
1171};
1172#line 303 "include/linux/quota.h"
1173struct quota_format_ops {
1174 int (*check_quota_file)(struct super_block * , int ) ;
1175 int (*read_file_info)(struct super_block * , int ) ;
1176 int (*write_file_info)(struct super_block * , int ) ;
1177 int (*free_file_info)(struct super_block * , int ) ;
1178 int (*read_dqblk)(struct dquot * ) ;
1179 int (*commit_dqblk)(struct dquot * ) ;
1180 int (*release_dqblk)(struct dquot * ) ;
1181};
1182#line 314 "include/linux/quota.h"
1183struct dquot_operations {
1184 int (*write_dquot)(struct dquot * ) ;
1185 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
1186 void (*destroy_dquot)(struct dquot * ) ;
1187 int (*acquire_dquot)(struct dquot * ) ;
1188 int (*release_dquot)(struct dquot * ) ;
1189 int (*mark_dirty)(struct dquot * ) ;
1190 int (*write_info)(struct super_block * , int ) ;
1191 qsize_t *(*get_reserved_space)(struct inode * ) ;
1192};
1193#line 328 "include/linux/quota.h"
1194struct quotactl_ops {
1195 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
1196 int (*quota_on_meta)(struct super_block * , int , int ) ;
1197 int (*quota_off)(struct super_block * , int ) ;
1198 int (*quota_sync)(struct super_block * , int , int ) ;
1199 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
1200 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
1201 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1202 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1203 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1204 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
1205};
1206#line 344 "include/linux/quota.h"
1207struct quota_format_type {
1208 int qf_fmt_id ;
1209 struct quota_format_ops const *qf_ops ;
1210 struct module *qf_owner ;
1211 struct quota_format_type *qf_next ;
1212};
1213#line 390 "include/linux/quota.h"
1214struct quota_info {
1215 unsigned int flags ;
1216 struct mutex dqio_mutex ;
1217 struct mutex dqonoff_mutex ;
1218 struct rw_semaphore dqptr_sem ;
1219 struct inode *files[2U] ;
1220 struct mem_dqinfo info[2U] ;
1221 struct quota_format_ops const *ops[2U] ;
1222};
1223#line 421
1224struct address_space;
1225#line 421
1226struct address_space;
1227#line 422
1228struct writeback_control;
1229#line 422
1230struct writeback_control;
1231#line 585 "include/linux/fs.h"
1232union __anonunion_arg_138 {
1233 char *buf ;
1234 void *data ;
1235};
1236#line 585 "include/linux/fs.h"
1237struct __anonstruct_read_descriptor_t_137 {
1238 size_t written ;
1239 size_t count ;
1240 union __anonunion_arg_138 arg ;
1241 int error ;
1242};
1243#line 585 "include/linux/fs.h"
1244typedef struct __anonstruct_read_descriptor_t_137 read_descriptor_t;
1245#line 588 "include/linux/fs.h"
1246struct address_space_operations {
1247 int (*writepage)(struct page * , struct writeback_control * ) ;
1248 int (*readpage)(struct file * , struct page * ) ;
1249 int (*writepages)(struct address_space * , struct writeback_control * ) ;
1250 int (*set_page_dirty)(struct page * ) ;
1251 int (*readpages)(struct file * , struct address_space * , struct list_head * ,
1252 unsigned int ) ;
1253 int (*write_begin)(struct file * , struct address_space * , loff_t , unsigned int ,
1254 unsigned int , struct page ** , void ** ) ;
1255 int (*write_end)(struct file * , struct address_space * , loff_t , unsigned int ,
1256 unsigned int , struct page * , void * ) ;
1257 sector_t (*bmap)(struct address_space * , sector_t ) ;
1258 void (*invalidatepage)(struct page * , unsigned long ) ;
1259 int (*releasepage)(struct page * , gfp_t ) ;
1260 void (*freepage)(struct page * ) ;
1261 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const * , loff_t ,
1262 unsigned long ) ;
1263 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
1264 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
1265 int (*launder_page)(struct page * ) ;
1266 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
1267 int (*error_remove_page)(struct address_space * , struct page * ) ;
1268};
1269#line 642
1270struct backing_dev_info;
1271#line 642
1272struct backing_dev_info;
1273#line 643 "include/linux/fs.h"
1274struct address_space {
1275 struct inode *host ;
1276 struct radix_tree_root page_tree ;
1277 spinlock_t tree_lock ;
1278 unsigned int i_mmap_writable ;
1279 struct prio_tree_root i_mmap ;
1280 struct list_head i_mmap_nonlinear ;
1281 struct mutex i_mmap_mutex ;
1282 unsigned long nrpages ;
1283 unsigned long writeback_index ;
1284 struct address_space_operations const *a_ops ;
1285 unsigned long flags ;
1286 struct backing_dev_info *backing_dev_info ;
1287 spinlock_t private_lock ;
1288 struct list_head private_list ;
1289 struct address_space *assoc_mapping ;
1290};
1291#line 664
1292struct request_queue;
1293#line 664
1294struct request_queue;
1295#line 665
1296struct hd_struct;
1297#line 665
1298struct gendisk;
1299#line 665 "include/linux/fs.h"
1300struct block_device {
1301 dev_t bd_dev ;
1302 int bd_openers ;
1303 struct inode *bd_inode ;
1304 struct super_block *bd_super ;
1305 struct mutex bd_mutex ;
1306 struct list_head bd_inodes ;
1307 void *bd_claiming ;
1308 void *bd_holder ;
1309 int bd_holders ;
1310 bool bd_write_holder ;
1311 struct list_head bd_holder_disks ;
1312 struct block_device *bd_contains ;
1313 unsigned int bd_block_size ;
1314 struct hd_struct *bd_part ;
1315 unsigned int bd_part_count ;
1316 int bd_invalidated ;
1317 struct gendisk *bd_disk ;
1318 struct request_queue *bd_queue ;
1319 struct list_head bd_list ;
1320 unsigned long bd_private ;
1321 int bd_fsfreeze_count ;
1322 struct mutex bd_fsfreeze_mutex ;
1323};
1324#line 737
1325struct posix_acl;
1326#line 737
1327struct posix_acl;
1328#line 738
1329struct inode_operations;
1330#line 738 "include/linux/fs.h"
1331union __anonunion_ldv_15809_139 {
1332 unsigned int const i_nlink ;
1333 unsigned int __i_nlink ;
1334};
1335#line 738 "include/linux/fs.h"
1336union __anonunion_ldv_15828_140 {
1337 struct list_head i_dentry ;
1338 struct rcu_head i_rcu ;
1339};
1340#line 738
1341struct file_lock;
1342#line 738
1343struct cdev;
1344#line 738 "include/linux/fs.h"
1345union __anonunion_ldv_15845_141 {
1346 struct pipe_inode_info *i_pipe ;
1347 struct block_device *i_bdev ;
1348 struct cdev *i_cdev ;
1349};
1350#line 738 "include/linux/fs.h"
1351struct inode {
1352 umode_t i_mode ;
1353 unsigned short i_opflags ;
1354 uid_t i_uid ;
1355 gid_t i_gid ;
1356 unsigned int i_flags ;
1357 struct posix_acl *i_acl ;
1358 struct posix_acl *i_default_acl ;
1359 struct inode_operations const *i_op ;
1360 struct super_block *i_sb ;
1361 struct address_space *i_mapping ;
1362 void *i_security ;
1363 unsigned long i_ino ;
1364 union __anonunion_ldv_15809_139 ldv_15809 ;
1365 dev_t i_rdev ;
1366 struct timespec i_atime ;
1367 struct timespec i_mtime ;
1368 struct timespec i_ctime ;
1369 spinlock_t i_lock ;
1370 unsigned short i_bytes ;
1371 blkcnt_t i_blocks ;
1372 loff_t i_size ;
1373 unsigned long i_state ;
1374 struct mutex i_mutex ;
1375 unsigned long dirtied_when ;
1376 struct hlist_node i_hash ;
1377 struct list_head i_wb_list ;
1378 struct list_head i_lru ;
1379 struct list_head i_sb_list ;
1380 union __anonunion_ldv_15828_140 ldv_15828 ;
1381 atomic_t i_count ;
1382 unsigned int i_blkbits ;
1383 u64 i_version ;
1384 atomic_t i_dio_count ;
1385 atomic_t i_writecount ;
1386 struct file_operations const *i_fop ;
1387 struct file_lock *i_flock ;
1388 struct address_space i_data ;
1389 struct dquot *i_dquot[2U] ;
1390 struct list_head i_devices ;
1391 union __anonunion_ldv_15845_141 ldv_15845 ;
1392 __u32 i_generation ;
1393 __u32 i_fsnotify_mask ;
1394 struct hlist_head i_fsnotify_marks ;
1395 atomic_t i_readcount ;
1396 void *i_private ;
1397};
1398#line 941 "include/linux/fs.h"
1399struct fown_struct {
1400 rwlock_t lock ;
1401 struct pid *pid ;
1402 enum pid_type pid_type ;
1403 uid_t uid ;
1404 uid_t euid ;
1405 int signum ;
1406};
1407#line 949 "include/linux/fs.h"
1408struct file_ra_state {
1409 unsigned long start ;
1410 unsigned int size ;
1411 unsigned int async_size ;
1412 unsigned int ra_pages ;
1413 unsigned int mmap_miss ;
1414 loff_t prev_pos ;
1415};
1416#line 972 "include/linux/fs.h"
1417union __anonunion_f_u_142 {
1418 struct list_head fu_list ;
1419 struct rcu_head fu_rcuhead ;
1420};
1421#line 972 "include/linux/fs.h"
1422struct file {
1423 union __anonunion_f_u_142 f_u ;
1424 struct path f_path ;
1425 struct file_operations const *f_op ;
1426 spinlock_t f_lock ;
1427 int f_sb_list_cpu ;
1428 atomic_long_t f_count ;
1429 unsigned int f_flags ;
1430 fmode_t f_mode ;
1431 loff_t f_pos ;
1432 struct fown_struct f_owner ;
1433 struct cred const *f_cred ;
1434 struct file_ra_state f_ra ;
1435 u64 f_version ;
1436 void *f_security ;
1437 void *private_data ;
1438 struct list_head f_ep_links ;
1439 struct list_head f_tfile_llink ;
1440 struct address_space *f_mapping ;
1441 unsigned long f_mnt_write_state ;
1442};
1443#line 1111
1444struct files_struct;
1445#line 1111 "include/linux/fs.h"
1446typedef struct files_struct *fl_owner_t;
1447#line 1112 "include/linux/fs.h"
1448struct file_lock_operations {
1449 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1450 void (*fl_release_private)(struct file_lock * ) ;
1451};
1452#line 1117 "include/linux/fs.h"
1453struct lock_manager_operations {
1454 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1455 void (*lm_notify)(struct file_lock * ) ;
1456 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
1457 void (*lm_release_private)(struct file_lock * ) ;
1458 void (*lm_break)(struct file_lock * ) ;
1459 int (*lm_change)(struct file_lock ** , int ) ;
1460};
1461#line 1134
1462struct nlm_lockowner;
1463#line 1134
1464struct nlm_lockowner;
1465#line 1135 "include/linux/fs.h"
1466struct nfs_lock_info {
1467 u32 state ;
1468 struct nlm_lockowner *owner ;
1469 struct list_head list ;
1470};
1471#line 14 "include/linux/nfs_fs_i.h"
1472struct nfs4_lock_state;
1473#line 14
1474struct nfs4_lock_state;
1475#line 15 "include/linux/nfs_fs_i.h"
1476struct nfs4_lock_info {
1477 struct nfs4_lock_state *owner ;
1478};
1479#line 19
1480struct fasync_struct;
1481#line 19 "include/linux/nfs_fs_i.h"
1482struct __anonstruct_afs_144 {
1483 struct list_head link ;
1484 int state ;
1485};
1486#line 19 "include/linux/nfs_fs_i.h"
1487union __anonunion_fl_u_143 {
1488 struct nfs_lock_info nfs_fl ;
1489 struct nfs4_lock_info nfs4_fl ;
1490 struct __anonstruct_afs_144 afs ;
1491};
1492#line 19 "include/linux/nfs_fs_i.h"
1493struct file_lock {
1494 struct file_lock *fl_next ;
1495 struct list_head fl_link ;
1496 struct list_head fl_block ;
1497 fl_owner_t fl_owner ;
1498 unsigned int fl_flags ;
1499 unsigned char fl_type ;
1500 unsigned int fl_pid ;
1501 struct pid *fl_nspid ;
1502 wait_queue_head_t fl_wait ;
1503 struct file *fl_file ;
1504 loff_t fl_start ;
1505 loff_t fl_end ;
1506 struct fasync_struct *fl_fasync ;
1507 unsigned long fl_break_time ;
1508 unsigned long fl_downgrade_time ;
1509 struct file_lock_operations const *fl_ops ;
1510 struct lock_manager_operations const *fl_lmops ;
1511 union __anonunion_fl_u_143 fl_u ;
1512};
1513#line 1221 "include/linux/fs.h"
1514struct fasync_struct {
1515 spinlock_t fa_lock ;
1516 int magic ;
1517 int fa_fd ;
1518 struct fasync_struct *fa_next ;
1519 struct file *fa_file ;
1520 struct rcu_head fa_rcu ;
1521};
1522#line 1417
1523struct file_system_type;
1524#line 1417
1525struct super_operations;
1526#line 1417
1527struct xattr_handler;
1528#line 1417
1529struct mtd_info;
1530#line 1417 "include/linux/fs.h"
1531struct super_block {
1532 struct list_head s_list ;
1533 dev_t s_dev ;
1534 unsigned char s_dirt ;
1535 unsigned char s_blocksize_bits ;
1536 unsigned long s_blocksize ;
1537 loff_t s_maxbytes ;
1538 struct file_system_type *s_type ;
1539 struct super_operations const *s_op ;
1540 struct dquot_operations const *dq_op ;
1541 struct quotactl_ops const *s_qcop ;
1542 struct export_operations const *s_export_op ;
1543 unsigned long s_flags ;
1544 unsigned long s_magic ;
1545 struct dentry *s_root ;
1546 struct rw_semaphore s_umount ;
1547 struct mutex s_lock ;
1548 int s_count ;
1549 atomic_t s_active ;
1550 void *s_security ;
1551 struct xattr_handler const **s_xattr ;
1552 struct list_head s_inodes ;
1553 struct hlist_bl_head s_anon ;
1554 struct list_head *s_files ;
1555 struct list_head s_mounts ;
1556 struct list_head s_dentry_lru ;
1557 int s_nr_dentry_unused ;
1558 spinlock_t s_inode_lru_lock ;
1559 struct list_head s_inode_lru ;
1560 int s_nr_inodes_unused ;
1561 struct block_device *s_bdev ;
1562 struct backing_dev_info *s_bdi ;
1563 struct mtd_info *s_mtd ;
1564 struct hlist_node s_instances ;
1565 struct quota_info s_dquot ;
1566 int s_frozen ;
1567 wait_queue_head_t s_wait_unfrozen ;
1568 char s_id[32U] ;
1569 u8 s_uuid[16U] ;
1570 void *s_fs_info ;
1571 unsigned int s_max_links ;
1572 fmode_t s_mode ;
1573 u32 s_time_gran ;
1574 struct mutex s_vfs_rename_mutex ;
1575 char *s_subtype ;
1576 char *s_options ;
1577 struct dentry_operations const *s_d_op ;
1578 int cleancache_poolid ;
1579 struct shrinker s_shrink ;
1580 atomic_long_t s_remove_count ;
1581 int s_readonly_remount ;
1582};
1583#line 1563 "include/linux/fs.h"
1584struct fiemap_extent_info {
1585 unsigned int fi_flags ;
1586 unsigned int fi_extents_mapped ;
1587 unsigned int fi_extents_max ;
1588 struct fiemap_extent *fi_extents_start ;
1589};
1590#line 1602 "include/linux/fs.h"
1591struct file_operations {
1592 struct module *owner ;
1593 loff_t (*llseek)(struct file * , loff_t , int ) ;
1594 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
1595 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
1596 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
1597 loff_t ) ;
1598 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
1599 loff_t ) ;
1600 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
1601 loff_t , u64 , unsigned int ) ) ;
1602 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1603 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
1604 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
1605 int (*mmap)(struct file * , struct vm_area_struct * ) ;
1606 int (*open)(struct inode * , struct file * ) ;
1607 int (*flush)(struct file * , fl_owner_t ) ;
1608 int (*release)(struct inode * , struct file * ) ;
1609 int (*fsync)(struct file * , loff_t , loff_t , int ) ;
1610 int (*aio_fsync)(struct kiocb * , int ) ;
1611 int (*fasync)(int , struct file * , int ) ;
1612 int (*lock)(struct file * , int , struct file_lock * ) ;
1613 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
1614 int ) ;
1615 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1616 unsigned long , unsigned long ) ;
1617 int (*check_flags)(int ) ;
1618 int (*flock)(struct file * , int , struct file_lock * ) ;
1619 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
1620 unsigned int ) ;
1621 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
1622 unsigned int ) ;
1623 int (*setlease)(struct file * , long , struct file_lock ** ) ;
1624 long (*fallocate)(struct file * , int , loff_t , loff_t ) ;
1625};
1626#line 1637 "include/linux/fs.h"
1627struct inode_operations {
1628 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1629 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1630 int (*permission)(struct inode * , int ) ;
1631 struct posix_acl *(*get_acl)(struct inode * , int ) ;
1632 int (*readlink)(struct dentry * , char * , int ) ;
1633 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1634 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
1635 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1636 int (*unlink)(struct inode * , struct dentry * ) ;
1637 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
1638 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
1639 int (*rmdir)(struct inode * , struct dentry * ) ;
1640 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
1641 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1642 void (*truncate)(struct inode * ) ;
1643 int (*setattr)(struct dentry * , struct iattr * ) ;
1644 int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
1645 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
1646 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
1647 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
1648 int (*removexattr)(struct dentry * , char const * ) ;
1649 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
1650 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 , u64 ) ;
1651};
1652#line 1682 "include/linux/fs.h"
1653struct super_operations {
1654 struct inode *(*alloc_inode)(struct super_block * ) ;
1655 void (*destroy_inode)(struct inode * ) ;
1656 void (*dirty_inode)(struct inode * , int ) ;
1657 int (*write_inode)(struct inode * , struct writeback_control * ) ;
1658 int (*drop_inode)(struct inode * ) ;
1659 void (*evict_inode)(struct inode * ) ;
1660 void (*put_super)(struct super_block * ) ;
1661 void (*write_super)(struct super_block * ) ;
1662 int (*sync_fs)(struct super_block * , int ) ;
1663 int (*freeze_fs)(struct super_block * ) ;
1664 int (*unfreeze_fs)(struct super_block * ) ;
1665 int (*statfs)(struct dentry * , struct kstatfs * ) ;
1666 int (*remount_fs)(struct super_block * , int * , char * ) ;
1667 void (*umount_begin)(struct super_block * ) ;
1668 int (*show_options)(struct seq_file * , struct dentry * ) ;
1669 int (*show_devname)(struct seq_file * , struct dentry * ) ;
1670 int (*show_path)(struct seq_file * , struct dentry * ) ;
1671 int (*show_stats)(struct seq_file * , struct dentry * ) ;
1672 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
1673 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
1674 loff_t ) ;
1675 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
1676 int (*nr_cached_objects)(struct super_block * ) ;
1677 void (*free_cached_objects)(struct super_block * , int ) ;
1678};
1679#line 1834 "include/linux/fs.h"
1680struct file_system_type {
1681 char const *name ;
1682 int fs_flags ;
1683 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
1684 void (*kill_sb)(struct super_block * ) ;
1685 struct module *owner ;
1686 struct file_system_type *next ;
1687 struct hlist_head fs_supers ;
1688 struct lock_class_key s_lock_key ;
1689 struct lock_class_key s_umount_key ;
1690 struct lock_class_key s_vfs_rename_key ;
1691 struct lock_class_key i_lock_key ;
1692 struct lock_class_key i_mutex_key ;
1693 struct lock_class_key i_mutex_dir_key ;
1694};
1695#line 2674
1696struct klist_node;
1697#line 2674
1698struct klist_node;
1699#line 37 "include/linux/klist.h"
1700struct klist_node {
1701 void *n_klist ;
1702 struct list_head n_node ;
1703 struct kref n_ref ;
1704};
1705#line 67
1706struct dma_map_ops;
1707#line 67 "include/linux/klist.h"
1708struct dev_archdata {
1709 void *acpi_handle ;
1710 struct dma_map_ops *dma_ops ;
1711 void *iommu ;
1712};
1713#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1714struct pdev_archdata {
1715
1716};
1717#line 17
1718struct device_private;
1719#line 17
1720struct device_private;
1721#line 18
1722struct device_driver;
1723#line 18
1724struct device_driver;
1725#line 19
1726struct driver_private;
1727#line 19
1728struct driver_private;
1729#line 20
1730struct class;
1731#line 20
1732struct class;
1733#line 21
1734struct subsys_private;
1735#line 21
1736struct subsys_private;
1737#line 22
1738struct bus_type;
1739#line 22
1740struct bus_type;
1741#line 23
1742struct device_node;
1743#line 23
1744struct device_node;
1745#line 24
1746struct iommu_ops;
1747#line 24
1748struct iommu_ops;
1749#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1750struct bus_attribute {
1751 struct attribute attr ;
1752 ssize_t (*show)(struct bus_type * , char * ) ;
1753 ssize_t (*store)(struct bus_type * , char const * , size_t ) ;
1754};
1755#line 51 "include/linux/device.h"
1756struct device_attribute;
1757#line 51
1758struct driver_attribute;
1759#line 51 "include/linux/device.h"
1760struct bus_type {
1761 char const *name ;
1762 char const *dev_name ;
1763 struct device *dev_root ;
1764 struct bus_attribute *bus_attrs ;
1765 struct device_attribute *dev_attrs ;
1766 struct driver_attribute *drv_attrs ;
1767 int (*match)(struct device * , struct device_driver * ) ;
1768 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1769 int (*probe)(struct device * ) ;
1770 int (*remove)(struct device * ) ;
1771 void (*shutdown)(struct device * ) ;
1772 int (*suspend)(struct device * , pm_message_t ) ;
1773 int (*resume)(struct device * ) ;
1774 struct dev_pm_ops const *pm ;
1775 struct iommu_ops *iommu_ops ;
1776 struct subsys_private *p ;
1777};
1778#line 125
1779struct device_type;
1780#line 182
1781struct of_device_id;
1782#line 182 "include/linux/device.h"
1783struct device_driver {
1784 char const *name ;
1785 struct bus_type *bus ;
1786 struct module *owner ;
1787 char const *mod_name ;
1788 bool suppress_bind_attrs ;
1789 struct of_device_id const *of_match_table ;
1790 int (*probe)(struct device * ) ;
1791 int (*remove)(struct device * ) ;
1792 void (*shutdown)(struct device * ) ;
1793 int (*suspend)(struct device * , pm_message_t ) ;
1794 int (*resume)(struct device * ) ;
1795 struct attribute_group const **groups ;
1796 struct dev_pm_ops const *pm ;
1797 struct driver_private *p ;
1798};
1799#line 245 "include/linux/device.h"
1800struct driver_attribute {
1801 struct attribute attr ;
1802 ssize_t (*show)(struct device_driver * , char * ) ;
1803 ssize_t (*store)(struct device_driver * , char const * , size_t ) ;
1804};
1805#line 299
1806struct class_attribute;
1807#line 299 "include/linux/device.h"
1808struct class {
1809 char const *name ;
1810 struct module *owner ;
1811 struct class_attribute *class_attrs ;
1812 struct device_attribute *dev_attrs ;
1813 struct bin_attribute *dev_bin_attrs ;
1814 struct kobject *dev_kobj ;
1815 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1816 char *(*devnode)(struct device * , umode_t * ) ;
1817 void (*class_release)(struct class * ) ;
1818 void (*dev_release)(struct device * ) ;
1819 int (*suspend)(struct device * , pm_message_t ) ;
1820 int (*resume)(struct device * ) ;
1821 struct kobj_ns_type_operations const *ns_type ;
1822 void const *(*namespace)(struct device * ) ;
1823 struct dev_pm_ops const *pm ;
1824 struct subsys_private *p ;
1825};
1826#line 394 "include/linux/device.h"
1827struct class_attribute {
1828 struct attribute attr ;
1829 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1830 ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ;
1831 void const *(*namespace)(struct class * , struct class_attribute const * ) ;
1832};
1833#line 447 "include/linux/device.h"
1834struct device_type {
1835 char const *name ;
1836 struct attribute_group const **groups ;
1837 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1838 char *(*devnode)(struct device * , umode_t * ) ;
1839 void (*release)(struct device * ) ;
1840 struct dev_pm_ops const *pm ;
1841};
1842#line 474 "include/linux/device.h"
1843struct device_attribute {
1844 struct attribute attr ;
1845 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1846 ssize_t (*store)(struct device * , struct device_attribute * , char const * ,
1847 size_t ) ;
1848};
1849#line 557 "include/linux/device.h"
1850struct device_dma_parameters {
1851 unsigned int max_segment_size ;
1852 unsigned long segment_boundary_mask ;
1853};
1854#line 567
1855struct dma_coherent_mem;
1856#line 567 "include/linux/device.h"
1857struct device {
1858 struct device *parent ;
1859 struct device_private *p ;
1860 struct kobject kobj ;
1861 char const *init_name ;
1862 struct device_type const *type ;
1863 struct mutex mutex ;
1864 struct bus_type *bus ;
1865 struct device_driver *driver ;
1866 void *platform_data ;
1867 struct dev_pm_info power ;
1868 struct dev_pm_domain *pm_domain ;
1869 int numa_node ;
1870 u64 *dma_mask ;
1871 u64 coherent_dma_mask ;
1872 struct device_dma_parameters *dma_parms ;
1873 struct list_head dma_pools ;
1874 struct dma_coherent_mem *dma_mem ;
1875 struct dev_archdata archdata ;
1876 struct device_node *of_node ;
1877 dev_t devt ;
1878 u32 id ;
1879 spinlock_t devres_lock ;
1880 struct list_head devres_head ;
1881 struct klist_node knode_class ;
1882 struct class *class ;
1883 struct attribute_group const **groups ;
1884 void (*release)(struct device * ) ;
1885};
1886#line 681 "include/linux/device.h"
1887struct wakeup_source {
1888 char const *name ;
1889 struct list_head entry ;
1890 spinlock_t lock ;
1891 struct timer_list timer ;
1892 unsigned long timer_expires ;
1893 ktime_t total_time ;
1894 ktime_t max_time ;
1895 ktime_t last_time ;
1896 unsigned long event_count ;
1897 unsigned long active_count ;
1898 unsigned long relax_count ;
1899 unsigned long hit_count ;
1900 unsigned char active : 1 ;
1901};
1902#line 12 "include/linux/mod_devicetable.h"
1903typedef unsigned long kernel_ulong_t;
1904#line 215 "include/linux/mod_devicetable.h"
1905struct of_device_id {
1906 char name[32U] ;
1907 char type[32U] ;
1908 char compatible[128U] ;
1909 void *data ;
1910};
1911#line 492 "include/linux/mod_devicetable.h"
1912struct platform_device_id {
1913 char name[20U] ;
1914 kernel_ulong_t driver_data ;
1915};
1916#line 584
1917struct mfd_cell;
1918#line 584
1919struct mfd_cell;
1920#line 585 "include/linux/mod_devicetable.h"
1921struct platform_device {
1922 char const *name ;
1923 int id ;
1924 struct device dev ;
1925 u32 num_resources ;
1926 struct resource *resource ;
1927 struct platform_device_id const *id_entry ;
1928 struct mfd_cell *mfd_cell ;
1929 struct pdev_archdata archdata ;
1930};
1931#line 51 "include/linux/platform_device.h"
1932struct platform_device_info {
1933 struct device *parent ;
1934 char const *name ;
1935 int id ;
1936 struct resource const *res ;
1937 unsigned int num_res ;
1938 void const *data ;
1939 size_t size_data ;
1940 u64 dma_mask ;
1941};
1942#line 163 "include/linux/platform_device.h"
1943struct platform_driver {
1944 int (*probe)(struct platform_device * ) ;
1945 int (*remove)(struct platform_device * ) ;
1946 void (*shutdown)(struct platform_device * ) ;
1947 int (*suspend)(struct platform_device * , pm_message_t ) ;
1948 int (*resume)(struct platform_device * ) ;
1949 struct device_driver driver ;
1950 struct platform_device_id const *id_table ;
1951};
1952#line 272 "include/linux/platform_device.h"
1953struct exception_table_entry {
1954 unsigned long insn ;
1955 unsigned long fixup ;
1956};
1957#line 80 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
1958struct __anonstruct_sch311x_wdt_data_146 {
1959 unsigned short runtime_reg ;
1960 int boot_status ;
1961 spinlock_t io_lock ;
1962};
1963#line 1 "<compiler builtins>"
1964long __builtin_expect(long , long ) ;
1965#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
1966void ldv_spin_lock(void) ;
1967#line 3
1968void ldv_spin_unlock(void) ;
1969#line 4
1970int ldv_spin_trylock(void) ;
1971#line 98 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
1972__inline static void clear_bit(int nr , unsigned long volatile *addr )
1973{ long volatile *__cil_tmp3 ;
1974
1975 {
1976#line 105
1977 __cil_tmp3 = (long volatile *)addr;
1978#line 105
1979 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; btr %1,%0": "+m" (*__cil_tmp3): "Ir" (nr));
1980#line 107
1981 return;
1982}
1983}
1984#line 195 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
1985__inline static int test_and_set_bit(int nr , unsigned long volatile *addr )
1986{ int oldbit ;
1987 long volatile *__cil_tmp4 ;
1988
1989 {
1990#line 199
1991 __cil_tmp4 = (long volatile *)addr;
1992#line 199
1993 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; bts %2,%1\n\tsbb %0,%0": "=r" (oldbit),
1994 "+m" (*__cil_tmp4): "Ir" (nr): "memory");
1995#line 202
1996 return (oldbit);
1997}
1998}
1999#line 101 "include/linux/printk.h"
2000extern int printk(char const * , ...) ;
2001#line 192 "include/linux/kernel.h"
2002extern void might_fault(void) ;
2003#line 27 "include/linux/err.h"
2004__inline static long PTR_ERR(void const *ptr )
2005{
2006
2007 {
2008#line 29
2009 return ((long )ptr);
2010}
2011}
2012#line 32 "include/linux/err.h"
2013__inline static long IS_ERR(void const *ptr )
2014{ long tmp ;
2015 unsigned long __cil_tmp3 ;
2016 int __cil_tmp4 ;
2017 long __cil_tmp5 ;
2018
2019 {
2020 {
2021#line 34
2022 __cil_tmp3 = (unsigned long )ptr;
2023#line 34
2024 __cil_tmp4 = __cil_tmp3 > 0xfffffffffffff000UL;
2025#line 34
2026 __cil_tmp5 = (long )__cil_tmp4;
2027#line 34
2028 tmp = __builtin_expect(__cil_tmp5, 0L);
2029 }
2030#line 34
2031 return (tmp);
2032}
2033}
2034#line 93 "include/linux/spinlock.h"
2035extern void __raw_spin_lock_init(raw_spinlock_t * , char const * , struct lock_class_key * ) ;
2036#line 22 "include/linux/spinlock_api_smp.h"
2037extern void _raw_spin_lock(raw_spinlock_t * ) ;
2038#line 39
2039extern void _raw_spin_unlock(raw_spinlock_t * ) ;
2040#line 272 "include/linux/spinlock.h"
2041__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock )
2042{
2043
2044 {
2045#line 274
2046 return ((struct raw_spinlock *)lock);
2047}
2048}
2049#line 283 "include/linux/spinlock.h"
2050__inline static void ldv_spin_lock_1(spinlock_t *lock )
2051{ struct raw_spinlock *__cil_tmp2 ;
2052
2053 {
2054 {
2055#line 285
2056 __cil_tmp2 = (struct raw_spinlock *)lock;
2057#line 285
2058 _raw_spin_lock(__cil_tmp2);
2059 }
2060#line 286
2061 return;
2062}
2063}
2064#line 283
2065__inline static void spin_lock(spinlock_t *lock ) ;
2066#line 323 "include/linux/spinlock.h"
2067__inline static void ldv_spin_unlock_5(spinlock_t *lock )
2068{ struct raw_spinlock *__cil_tmp2 ;
2069
2070 {
2071 {
2072#line 325
2073 __cil_tmp2 = (struct raw_spinlock *)lock;
2074#line 325
2075 _raw_spin_unlock(__cil_tmp2);
2076 }
2077#line 326
2078 return;
2079}
2080}
2081#line 323
2082__inline static void spin_unlock(spinlock_t *lock ) ;
2083#line 137 "include/linux/ioport.h"
2084extern struct resource ioport_resource ;
2085#line 181
2086extern struct resource *__request_region(struct resource * , resource_size_t , resource_size_t ,
2087 char const * , int ) ;
2088#line 192
2089extern void __release_region(struct resource * , resource_size_t , resource_size_t ) ;
2090#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2091__inline static void outb(unsigned char value , int port )
2092{
2093
2094 {
2095#line 308
2096 __asm__ volatile ("outb %b0, %w1": : "a" (value), "Nd" (port));
2097#line 309
2098 return;
2099}
2100}
2101#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2102__inline static unsigned char inb(int port )
2103{ unsigned char value ;
2104
2105 {
2106#line 308
2107 __asm__ volatile ("inb %w1, %b0": "=a" (value): "Nd" (port));
2108#line 308
2109 return (value);
2110}
2111}
2112#line 26 "include/linux/export.h"
2113extern struct module __this_module ;
2114#line 220 "include/linux/slub_def.h"
2115extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
2116#line 223
2117void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2118#line 11 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2119void ldv_check_alloc_flags(gfp_t flags ) ;
2120#line 12
2121void ldv_check_alloc_nonatomic(void) ;
2122#line 14
2123struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2124#line 61 "include/linux/miscdevice.h"
2125extern int misc_register(struct miscdevice * ) ;
2126#line 62
2127extern int misc_deregister(struct miscdevice * ) ;
2128#line 2402 "include/linux/fs.h"
2129extern loff_t no_llseek(struct file * , loff_t , int ) ;
2130#line 2407
2131extern int nonseekable_open(struct inode * , struct file * ) ;
2132#line 892 "include/linux/device.h"
2133extern int dev_err(struct device const * , char const * , ...) ;
2134#line 898
2135extern int _dev_info(struct device const * , char const * , ...) ;
2136#line 40 "include/linux/platform_device.h"
2137extern void platform_device_unregister(struct platform_device * ) ;
2138#line 65
2139extern struct platform_device *platform_device_register_full(struct platform_device_info const * ) ;
2140#line 82 "include/linux/platform_device.h"
2141__inline static struct platform_device *platform_device_register_resndata(struct device *parent ,
2142 char const *name ,
2143 int id ,
2144 struct resource const *res ,
2145 unsigned int num ,
2146 void const *data ,
2147 size_t size )
2148{ struct platform_device_info pdevinfo ;
2149 struct platform_device *tmp ;
2150 struct platform_device_info *__cil_tmp10 ;
2151 unsigned long __cil_tmp11 ;
2152 unsigned long __cil_tmp12 ;
2153 unsigned long __cil_tmp13 ;
2154 unsigned long __cil_tmp14 ;
2155 unsigned long __cil_tmp15 ;
2156 unsigned long __cil_tmp16 ;
2157 unsigned long __cil_tmp17 ;
2158 struct platform_device_info const *__cil_tmp18 ;
2159
2160 {
2161 {
2162#line 87
2163 __cil_tmp10 = & pdevinfo;
2164#line 87
2165 *((struct device **)__cil_tmp10) = parent;
2166#line 87
2167 __cil_tmp11 = (unsigned long )(& pdevinfo) + 8;
2168#line 87
2169 *((char const **)__cil_tmp11) = name;
2170#line 87
2171 __cil_tmp12 = (unsigned long )(& pdevinfo) + 16;
2172#line 87
2173 *((int *)__cil_tmp12) = id;
2174#line 87
2175 __cil_tmp13 = (unsigned long )(& pdevinfo) + 24;
2176#line 87
2177 *((struct resource const **)__cil_tmp13) = res;
2178#line 87
2179 __cil_tmp14 = (unsigned long )(& pdevinfo) + 32;
2180#line 87
2181 *((unsigned int *)__cil_tmp14) = num;
2182#line 87
2183 __cil_tmp15 = (unsigned long )(& pdevinfo) + 40;
2184#line 87
2185 *((void const **)__cil_tmp15) = data;
2186#line 87
2187 __cil_tmp16 = (unsigned long )(& pdevinfo) + 48;
2188#line 87
2189 *((size_t *)__cil_tmp16) = size;
2190#line 87
2191 __cil_tmp17 = (unsigned long )(& pdevinfo) + 56;
2192#line 87
2193 *((u64 *)__cil_tmp17) = 0ULL;
2194#line 98
2195 __cil_tmp18 = (struct platform_device_info const *)(& pdevinfo);
2196#line 98
2197 tmp = platform_device_register_full(__cil_tmp18);
2198 }
2199#line 98
2200 return (tmp);
2201}
2202}
2203#line 123 "include/linux/platform_device.h"
2204__inline static struct platform_device *platform_device_register_simple(char const *name ,
2205 int id , struct resource const *res ,
2206 unsigned int num )
2207{ struct platform_device *tmp ;
2208 struct device *__cil_tmp6 ;
2209 void const *__cil_tmp7 ;
2210
2211 {
2212 {
2213#line 127
2214 __cil_tmp6 = (struct device *)0;
2215#line 127
2216 __cil_tmp7 = (void const *)0;
2217#line 127
2218 tmp = platform_device_register_resndata(__cil_tmp6, name, id, res, num, __cil_tmp7,
2219 0UL);
2220 }
2221#line 127
2222 return (tmp);
2223}
2224}
2225#line 174
2226extern int platform_driver_register(struct platform_driver * ) ;
2227#line 175
2228extern void platform_driver_unregister(struct platform_driver * ) ;
2229#line 40 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
2230extern unsigned long _copy_to_user(void * , void const * , unsigned int ) ;
2231#line 63 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
2232__inline static int copy_to_user(void *dst , void const *src , unsigned int size )
2233{ unsigned long tmp ;
2234
2235 {
2236 {
2237#line 65
2238 might_fault();
2239#line 67
2240 tmp = _copy_to_user(dst, src, size);
2241 }
2242#line 67
2243 return ((int )tmp);
2244}
2245}
2246#line 67 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2247static unsigned long sch311x_wdt_is_open ;
2248#line 68 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2249static char sch311x_wdt_expect_close ;
2250#line 69 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2251static struct platform_device *sch311x_wdt_pdev ;
2252#line 71 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2253static int sch311x_ioports[5U] = { 46, 78, 5678, 5710,
2254 0};
2255#line 80 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2256static struct __anonstruct_sch311x_wdt_data_146 sch311x_wdt_data ;
2257#line 83 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2258static unsigned short force_id ;
2259#line 87 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2260static unsigned short therm_trip ;
2261#line 92 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2262static int timeout = 60;
2263#line 98 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2264static bool nowayout = (bool )1;
2265#line 108 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2266__inline static void sch311x_sio_enter(int sio_config_port )
2267{
2268
2269 {
2270 {
2271#line 110
2272 outb((unsigned char)85, sio_config_port);
2273 }
2274#line 111
2275 return;
2276}
2277}
2278#line 113 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2279__inline static void sch311x_sio_exit(int sio_config_port )
2280{
2281
2282 {
2283 {
2284#line 115
2285 outb((unsigned char)170, sio_config_port);
2286 }
2287#line 116
2288 return;
2289}
2290}
2291#line 118 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2292__inline static int sch311x_sio_inb(int sio_config_port , int reg )
2293{ unsigned char tmp ;
2294 unsigned char __cil_tmp4 ;
2295 int __cil_tmp5 ;
2296 unsigned char __cil_tmp6 ;
2297 int __cil_tmp7 ;
2298
2299 {
2300 {
2301#line 120
2302 __cil_tmp4 = (unsigned char )reg;
2303#line 120
2304 __cil_tmp5 = (int )__cil_tmp4;
2305#line 120
2306 __cil_tmp6 = (unsigned char )__cil_tmp5;
2307#line 120
2308 outb(__cil_tmp6, sio_config_port);
2309#line 121
2310 __cil_tmp7 = sio_config_port + 1;
2311#line 121
2312 tmp = inb(__cil_tmp7);
2313 }
2314#line 121
2315 return ((int )tmp);
2316}
2317}
2318#line 124 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2319__inline static void sch311x_sio_outb(int sio_config_port , int reg , int val )
2320{ unsigned char __cil_tmp4 ;
2321 int __cil_tmp5 ;
2322 unsigned char __cil_tmp6 ;
2323 unsigned char __cil_tmp7 ;
2324 int __cil_tmp8 ;
2325 unsigned char __cil_tmp9 ;
2326 int __cil_tmp10 ;
2327
2328 {
2329 {
2330#line 126
2331 __cil_tmp4 = (unsigned char )reg;
2332#line 126
2333 __cil_tmp5 = (int )__cil_tmp4;
2334#line 126
2335 __cil_tmp6 = (unsigned char )__cil_tmp5;
2336#line 126
2337 outb(__cil_tmp6, sio_config_port);
2338#line 127
2339 __cil_tmp7 = (unsigned char )val;
2340#line 127
2341 __cil_tmp8 = (int )__cil_tmp7;
2342#line 127
2343 __cil_tmp9 = (unsigned char )__cil_tmp8;
2344#line 127
2345 __cil_tmp10 = sio_config_port + 1;
2346#line 127
2347 outb(__cil_tmp9, __cil_tmp10);
2348 }
2349#line 128
2350 return;
2351}
2352}
2353#line 134 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2354static void sch311x_wdt_set_timeout(int t )
2355{ unsigned char timeout_unit ;
2356 int __cil_tmp3 ;
2357 unsigned char __cil_tmp4 ;
2358 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp5 ;
2359 unsigned short __cil_tmp6 ;
2360 int __cil_tmp7 ;
2361 int __cil_tmp8 ;
2362 unsigned char __cil_tmp9 ;
2363 int __cil_tmp10 ;
2364 unsigned char __cil_tmp11 ;
2365 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp12 ;
2366 unsigned short __cil_tmp13 ;
2367 int __cil_tmp14 ;
2368 int __cil_tmp15 ;
2369
2370 {
2371#line 136
2372 timeout_unit = (unsigned char)128;
2373#line 139
2374 if (t > 255) {
2375#line 140
2376 timeout_unit = (unsigned char)0;
2377#line 141
2378 t = t / 60;
2379 } else {
2380
2381 }
2382 {
2383#line 149
2384 __cil_tmp3 = (int )timeout_unit;
2385#line 149
2386 __cil_tmp4 = (unsigned char )__cil_tmp3;
2387#line 149
2388 __cil_tmp5 = & sch311x_wdt_data;
2389#line 149
2390 __cil_tmp6 = *((unsigned short *)__cil_tmp5);
2391#line 149
2392 __cil_tmp7 = (int )__cil_tmp6;
2393#line 149
2394 __cil_tmp8 = __cil_tmp7 + 101;
2395#line 149
2396 outb(__cil_tmp4, __cil_tmp8);
2397#line 154
2398 __cil_tmp9 = (unsigned char )t;
2399#line 154
2400 __cil_tmp10 = (int )__cil_tmp9;
2401#line 154
2402 __cil_tmp11 = (unsigned char )__cil_tmp10;
2403#line 154
2404 __cil_tmp12 = & sch311x_wdt_data;
2405#line 154
2406 __cil_tmp13 = *((unsigned short *)__cil_tmp12);
2407#line 154
2408 __cil_tmp14 = (int )__cil_tmp13;
2409#line 154
2410 __cil_tmp15 = __cil_tmp14 + 102;
2411#line 154
2412 outb(__cil_tmp11, __cil_tmp15);
2413 }
2414#line 155
2415 return;
2416}
2417}
2418#line 157 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2419static void sch311x_wdt_start(void)
2420{ unsigned long __cil_tmp1 ;
2421 spinlock_t *__cil_tmp2 ;
2422 int *__cil_tmp3 ;
2423 int __cil_tmp4 ;
2424 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp5 ;
2425 unsigned short __cil_tmp6 ;
2426 int __cil_tmp7 ;
2427 int __cil_tmp8 ;
2428 unsigned long __cil_tmp9 ;
2429 spinlock_t *__cil_tmp10 ;
2430
2431 {
2432 {
2433#line 159
2434 __cil_tmp1 = (unsigned long )(& sch311x_wdt_data) + 8;
2435#line 159
2436 __cil_tmp2 = (spinlock_t *)__cil_tmp1;
2437#line 159
2438 spin_lock(__cil_tmp2);
2439#line 162
2440 __cil_tmp3 = & timeout;
2441#line 162
2442 __cil_tmp4 = *__cil_tmp3;
2443#line 162
2444 sch311x_wdt_set_timeout(__cil_tmp4);
2445#line 172
2446 __cil_tmp5 = & sch311x_wdt_data;
2447#line 172
2448 __cil_tmp6 = *((unsigned short *)__cil_tmp5);
2449#line 172
2450 __cil_tmp7 = (int )__cil_tmp6;
2451#line 172
2452 __cil_tmp8 = __cil_tmp7 + 71;
2453#line 172
2454 outb((unsigned char)14, __cil_tmp8);
2455#line 174
2456 __cil_tmp9 = (unsigned long )(& sch311x_wdt_data) + 8;
2457#line 174
2458 __cil_tmp10 = (spinlock_t *)__cil_tmp9;
2459#line 174
2460 spin_unlock(__cil_tmp10);
2461 }
2462#line 175
2463 return;
2464}
2465}
2466#line 178 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2467static void sch311x_wdt_stop(void)
2468{ unsigned long __cil_tmp1 ;
2469 spinlock_t *__cil_tmp2 ;
2470 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp3 ;
2471 unsigned short __cil_tmp4 ;
2472 int __cil_tmp5 ;
2473 int __cil_tmp6 ;
2474 unsigned long __cil_tmp7 ;
2475 spinlock_t *__cil_tmp8 ;
2476
2477 {
2478 {
2479#line 180
2480 __cil_tmp1 = (unsigned long )(& sch311x_wdt_data) + 8;
2481#line 180
2482 __cil_tmp2 = (spinlock_t *)__cil_tmp1;
2483#line 180
2484 spin_lock(__cil_tmp2);
2485#line 183
2486 __cil_tmp3 = & sch311x_wdt_data;
2487#line 183
2488 __cil_tmp4 = *((unsigned short *)__cil_tmp3);
2489#line 183
2490 __cil_tmp5 = (int )__cil_tmp4;
2491#line 183
2492 __cil_tmp6 = __cil_tmp5 + 71;
2493#line 183
2494 outb((unsigned char)1, __cil_tmp6);
2495#line 185
2496 sch311x_wdt_set_timeout(0);
2497#line 187
2498 __cil_tmp7 = (unsigned long )(& sch311x_wdt_data) + 8;
2499#line 187
2500 __cil_tmp8 = (spinlock_t *)__cil_tmp7;
2501#line 187
2502 spin_unlock(__cil_tmp8);
2503 }
2504#line 188
2505 return;
2506}
2507}
2508#line 190 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2509static void sch311x_wdt_keepalive(void)
2510{ unsigned long __cil_tmp1 ;
2511 spinlock_t *__cil_tmp2 ;
2512 int *__cil_tmp3 ;
2513 int __cil_tmp4 ;
2514 unsigned long __cil_tmp5 ;
2515 spinlock_t *__cil_tmp6 ;
2516
2517 {
2518 {
2519#line 192
2520 __cil_tmp1 = (unsigned long )(& sch311x_wdt_data) + 8;
2521#line 192
2522 __cil_tmp2 = (spinlock_t *)__cil_tmp1;
2523#line 192
2524 spin_lock(__cil_tmp2);
2525#line 193
2526 __cil_tmp3 = & timeout;
2527#line 193
2528 __cil_tmp4 = *__cil_tmp3;
2529#line 193
2530 sch311x_wdt_set_timeout(__cil_tmp4);
2531#line 194
2532 __cil_tmp5 = (unsigned long )(& sch311x_wdt_data) + 8;
2533#line 194
2534 __cil_tmp6 = (spinlock_t *)__cil_tmp5;
2535#line 194
2536 spin_unlock(__cil_tmp6);
2537 }
2538#line 195
2539 return;
2540}
2541}
2542#line 197 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2543static int sch311x_wdt_set_heartbeat(int t )
2544{ int __cil_tmp2 ;
2545 int __cil_tmp3 ;
2546 int __cil_tmp4 ;
2547 int *__cil_tmp5 ;
2548
2549 {
2550#line 199
2551 if (t <= 0) {
2552#line 200
2553 return (-22);
2554 } else
2555#line 199
2556 if (t > 15300) {
2557#line 200
2558 return (-22);
2559 } else {
2560
2561 }
2562#line 204
2563 if (t > 255) {
2564#line 205
2565 __cil_tmp2 = t + -1;
2566#line 205
2567 __cil_tmp3 = __cil_tmp2 / 60;
2568#line 205
2569 __cil_tmp4 = __cil_tmp3 + 1;
2570#line 205
2571 t = __cil_tmp4 * 60;
2572 } else {
2573
2574 }
2575#line 207
2576 __cil_tmp5 = & timeout;
2577#line 207
2578 *__cil_tmp5 = t;
2579#line 208
2580 return (0);
2581}
2582}
2583#line 211 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2584static void sch311x_wdt_get_status(int *status )
2585{ unsigned char new_status ;
2586 unsigned long __cil_tmp3 ;
2587 spinlock_t *__cil_tmp4 ;
2588 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp5 ;
2589 unsigned short __cil_tmp6 ;
2590 int __cil_tmp7 ;
2591 int __cil_tmp8 ;
2592 int __cil_tmp9 ;
2593 int __cil_tmp10 ;
2594 unsigned long __cil_tmp11 ;
2595 spinlock_t *__cil_tmp12 ;
2596
2597 {
2598 {
2599#line 215
2600 *status = 0;
2601#line 217
2602 __cil_tmp3 = (unsigned long )(& sch311x_wdt_data) + 8;
2603#line 217
2604 __cil_tmp4 = (spinlock_t *)__cil_tmp3;
2605#line 217
2606 spin_lock(__cil_tmp4);
2607#line 229
2608 __cil_tmp5 = & sch311x_wdt_data;
2609#line 229
2610 __cil_tmp6 = *((unsigned short *)__cil_tmp5);
2611#line 229
2612 __cil_tmp7 = (int )__cil_tmp6;
2613#line 229
2614 __cil_tmp8 = __cil_tmp7 + 104;
2615#line 229
2616 new_status = inb(__cil_tmp8);
2617 }
2618 {
2619#line 230
2620 __cil_tmp9 = (int )new_status;
2621#line 230
2622 if (__cil_tmp9 & 1) {
2623#line 231
2624 __cil_tmp10 = *status;
2625#line 231
2626 *status = __cil_tmp10 | 32;
2627 } else {
2628
2629 }
2630 }
2631 {
2632#line 233
2633 __cil_tmp11 = (unsigned long )(& sch311x_wdt_data) + 8;
2634#line 233
2635 __cil_tmp12 = (spinlock_t *)__cil_tmp11;
2636#line 233
2637 spin_unlock(__cil_tmp12);
2638 }
2639#line 234
2640 return;
2641}
2642}
2643#line 240 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2644static ssize_t sch311x_wdt_write(struct file *file , char const *buf , size_t count ,
2645 loff_t *ppos )
2646{ size_t i ;
2647 char c ;
2648 int __ret_gu ;
2649 unsigned long __val_gu ;
2650 bool *__cil_tmp9 ;
2651 bool __cil_tmp10 ;
2652 signed char __cil_tmp11 ;
2653 int __cil_tmp12 ;
2654
2655 {
2656#line 243
2657 if (count != 0UL) {
2658 {
2659#line 244
2660 __cil_tmp9 = & nowayout;
2661#line 244
2662 __cil_tmp10 = *__cil_tmp9;
2663#line 244
2664 if (! __cil_tmp10) {
2665#line 247
2666 sch311x_wdt_expect_close = (char)0;
2667#line 249
2668 i = 0UL;
2669#line 249
2670 goto ldv_19178;
2671 ldv_19177:
2672 {
2673#line 251
2674 might_fault();
2675 }
2676#line 251
2677 if (1 == 1) {
2678#line 251
2679 goto case_1;
2680 } else
2681#line 251
2682 if (1 == 2) {
2683#line 251
2684 goto case_2;
2685 } else
2686#line 251
2687 if (1 == 4) {
2688#line 251
2689 goto case_4;
2690 } else
2691#line 251
2692 if (1 == 8) {
2693#line 251
2694 goto case_8;
2695 } else {
2696 {
2697#line 251
2698 goto switch_default;
2699#line 251
2700 if (0) {
2701 case_1:
2702#line 251
2703 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2704#line 251
2705 goto ldv_19171;
2706 case_2:
2707#line 251
2708 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2709#line 251
2710 goto ldv_19171;
2711 case_4:
2712#line 251
2713 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2714#line 251
2715 goto ldv_19171;
2716 case_8:
2717#line 251
2718 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2719#line 251
2720 goto ldv_19171;
2721 switch_default:
2722#line 251
2723 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2724#line 251
2725 goto ldv_19171;
2726 } else {
2727 switch_break: ;
2728 }
2729 }
2730 }
2731 ldv_19171:
2732#line 251
2733 c = (char )__val_gu;
2734#line 251
2735 if (__ret_gu != 0) {
2736#line 252
2737 return (-14L);
2738 } else {
2739
2740 }
2741 {
2742#line 253
2743 __cil_tmp11 = (signed char )c;
2744#line 253
2745 __cil_tmp12 = (int )__cil_tmp11;
2746#line 253
2747 if (__cil_tmp12 == 86) {
2748#line 254
2749 sch311x_wdt_expect_close = (char)42;
2750 } else {
2751
2752 }
2753 }
2754#line 249
2755 i = i + 1UL;
2756 ldv_19178: ;
2757#line 249
2758 if (i != count) {
2759#line 250
2760 goto ldv_19177;
2761 } else {
2762#line 252
2763 goto ldv_19179;
2764 }
2765 ldv_19179: ;
2766 } else {
2767
2768 }
2769 }
2770 {
2771#line 257
2772 sch311x_wdt_keepalive();
2773 }
2774 } else {
2775
2776 }
2777#line 259
2778 return ((ssize_t )count);
2779}
2780}
2781#line 262 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
2782static long sch311x_wdt_ioctl(struct file *file , unsigned int cmd , unsigned long arg )
2783{ int status ;
2784 int new_timeout ;
2785 void *argp ;
2786 int *p ;
2787 struct watchdog_info ident ;
2788 int tmp ;
2789 int __ret_pu ;
2790 int __pu_val ;
2791 int __ret_pu___0 ;
2792 int __pu_val___0 ;
2793 int options ;
2794 int retval ;
2795 int __ret_gu ;
2796 unsigned long __val_gu ;
2797 int __ret_gu___0 ;
2798 unsigned long __val_gu___0 ;
2799 int tmp___0 ;
2800 int __ret_pu___1 ;
2801 int __pu_val___1 ;
2802 struct watchdog_info *__cil_tmp23 ;
2803 unsigned long __cil_tmp24 ;
2804 unsigned long __cil_tmp25 ;
2805 unsigned long __cil_tmp26 ;
2806 unsigned long __cil_tmp27 ;
2807 unsigned long __cil_tmp28 ;
2808 unsigned long __cil_tmp29 ;
2809 unsigned long __cil_tmp30 ;
2810 unsigned long __cil_tmp31 ;
2811 unsigned long __cil_tmp32 ;
2812 unsigned long __cil_tmp33 ;
2813 unsigned long __cil_tmp34 ;
2814 unsigned long __cil_tmp35 ;
2815 unsigned long __cil_tmp36 ;
2816 unsigned long __cil_tmp37 ;
2817 unsigned long __cil_tmp38 ;
2818 unsigned long __cil_tmp39 ;
2819 unsigned long __cil_tmp40 ;
2820 unsigned long __cil_tmp41 ;
2821 unsigned long __cil_tmp42 ;
2822 unsigned long __cil_tmp43 ;
2823 unsigned long __cil_tmp44 ;
2824 unsigned long __cil_tmp45 ;
2825 unsigned long __cil_tmp46 ;
2826 unsigned long __cil_tmp47 ;
2827 unsigned long __cil_tmp48 ;
2828 unsigned long __cil_tmp49 ;
2829 unsigned long __cil_tmp50 ;
2830 unsigned long __cil_tmp51 ;
2831 unsigned long __cil_tmp52 ;
2832 unsigned long __cil_tmp53 ;
2833 unsigned long __cil_tmp54 ;
2834 unsigned long __cil_tmp55 ;
2835 unsigned long __cil_tmp56 ;
2836 unsigned long __cil_tmp57 ;
2837 unsigned long __cil_tmp58 ;
2838 unsigned long __cil_tmp59 ;
2839 unsigned long __cil_tmp60 ;
2840 void const *__cil_tmp61 ;
2841 int *__cil_tmp62 ;
2842 unsigned long __cil_tmp63 ;
2843 int __cil_tmp64 ;
2844 int *__cil_tmp65 ;
2845
2846 {
2847#line 267
2848 argp = (void *)arg;
2849#line 268
2850 p = (int *)argp;
2851#line 269
2852 __cil_tmp23 = & ident;
2853#line 269
2854 *((__u32 *)__cil_tmp23) = 33152U;
2855#line 269
2856 __cil_tmp24 = (unsigned long )(& ident) + 4;
2857#line 269
2858 *((__u32 *)__cil_tmp24) = 1U;
2859#line 269
2860 __cil_tmp25 = 0 * 1UL;
2861#line 269
2862 __cil_tmp26 = 8 + __cil_tmp25;
2863#line 269
2864 __cil_tmp27 = (unsigned long )(& ident) + __cil_tmp26;
2865#line 269
2866 *((__u8 *)__cil_tmp27) = (__u8 )'s';
2867#line 269
2868 __cil_tmp28 = 1 * 1UL;
2869#line 269
2870 __cil_tmp29 = 8 + __cil_tmp28;
2871#line 269
2872 __cil_tmp30 = (unsigned long )(& ident) + __cil_tmp29;
2873#line 269
2874 *((__u8 *)__cil_tmp30) = (__u8 )'c';
2875#line 269
2876 __cil_tmp31 = 2 * 1UL;
2877#line 269
2878 __cil_tmp32 = 8 + __cil_tmp31;
2879#line 269
2880 __cil_tmp33 = (unsigned long )(& ident) + __cil_tmp32;
2881#line 269
2882 *((__u8 *)__cil_tmp33) = (__u8 )'h';
2883#line 269
2884 __cil_tmp34 = 3 * 1UL;
2885#line 269
2886 __cil_tmp35 = 8 + __cil_tmp34;
2887#line 269
2888 __cil_tmp36 = (unsigned long )(& ident) + __cil_tmp35;
2889#line 269
2890 *((__u8 *)__cil_tmp36) = (__u8 )'3';
2891#line 269
2892 __cil_tmp37 = 4 * 1UL;
2893#line 269
2894 __cil_tmp38 = 8 + __cil_tmp37;
2895#line 269
2896 __cil_tmp39 = (unsigned long )(& ident) + __cil_tmp38;
2897#line 269
2898 *((__u8 *)__cil_tmp39) = (__u8 )'1';
2899#line 269
2900 __cil_tmp40 = 5 * 1UL;
2901#line 269
2902 __cil_tmp41 = 8 + __cil_tmp40;
2903#line 269
2904 __cil_tmp42 = (unsigned long )(& ident) + __cil_tmp41;
2905#line 269
2906 *((__u8 *)__cil_tmp42) = (__u8 )'1';
2907#line 269
2908 __cil_tmp43 = 6 * 1UL;
2909#line 269
2910 __cil_tmp44 = 8 + __cil_tmp43;
2911#line 269
2912 __cil_tmp45 = (unsigned long )(& ident) + __cil_tmp44;
2913#line 269
2914 *((__u8 *)__cil_tmp45) = (__u8 )'x';
2915#line 269
2916 __cil_tmp46 = 7 * 1UL;
2917#line 269
2918 __cil_tmp47 = 8 + __cil_tmp46;
2919#line 269
2920 __cil_tmp48 = (unsigned long )(& ident) + __cil_tmp47;
2921#line 269
2922 *((__u8 *)__cil_tmp48) = (__u8 )'_';
2923#line 269
2924 __cil_tmp49 = 8 * 1UL;
2925#line 269
2926 __cil_tmp50 = 8 + __cil_tmp49;
2927#line 269
2928 __cil_tmp51 = (unsigned long )(& ident) + __cil_tmp50;
2929#line 269
2930 *((__u8 *)__cil_tmp51) = (__u8 )'w';
2931#line 269
2932 __cil_tmp52 = 9 * 1UL;
2933#line 269
2934 __cil_tmp53 = 8 + __cil_tmp52;
2935#line 269
2936 __cil_tmp54 = (unsigned long )(& ident) + __cil_tmp53;
2937#line 269
2938 *((__u8 *)__cil_tmp54) = (__u8 )'d';
2939#line 269
2940 __cil_tmp55 = 10 * 1UL;
2941#line 269
2942 __cil_tmp56 = 8 + __cil_tmp55;
2943#line 269
2944 __cil_tmp57 = (unsigned long )(& ident) + __cil_tmp56;
2945#line 269
2946 *((__u8 *)__cil_tmp57) = (__u8 )'t';
2947#line 269
2948 __cil_tmp58 = 11 * 1UL;
2949#line 269
2950 __cil_tmp59 = 8 + __cil_tmp58;
2951#line 269
2952 __cil_tmp60 = (unsigned long )(& ident) + __cil_tmp59;
2953#line 269
2954 *((__u8 *)__cil_tmp60) = (__u8 )'\000';
2955#line 278
2956 if ((int )cmd == -2144839936) {
2957#line 278
2958 goto case_neg_2144839936;
2959 } else
2960#line 283
2961 if ((int )cmd == -2147199231) {
2962#line 283
2963 goto case_neg_2147199231;
2964 } else
2965#line 288
2966 if ((int )cmd == -2147199230) {
2967#line 288
2968 goto case_neg_2147199230;
2969 } else
2970#line 291
2971 if ((int )cmd == -2147199228) {
2972#line 291
2973 goto case_neg_2147199228;
2974 } else
2975#line 307
2976 if ((int )cmd == -2147199227) {
2977#line 307
2978 goto case_neg_2147199227;
2979 } else
2980#line 311
2981 if ((int )cmd == -1073457402) {
2982#line 311
2983 goto case_neg_1073457402;
2984 } else
2985#line 318
2986 if ((int )cmd == -2147199225) {
2987#line 318
2988 goto case_neg_2147199225;
2989 } else {
2990 {
2991#line 320
2992 goto switch_default___4;
2993#line 277
2994 if (0) {
2995 case_neg_2144839936:
2996 {
2997#line 279
2998 __cil_tmp61 = (void const *)(& ident);
2999#line 279
3000 tmp = copy_to_user(argp, __cil_tmp61, 40U);
3001 }
3002#line 279
3003 if (tmp != 0) {
3004#line 280
3005 return (-14L);
3006 } else {
3007
3008 }
3009#line 281
3010 goto ldv_19191;
3011 case_neg_2147199231:
3012 {
3013#line 285
3014 sch311x_wdt_get_status(& status);
3015#line 286
3016 might_fault();
3017#line 286
3018 __cil_tmp62 = & status;
3019#line 286
3020 __pu_val = *__cil_tmp62;
3021 }
3022#line 286
3023 if (4 == 1) {
3024#line 286
3025 goto case_1;
3026 } else
3027#line 286
3028 if (4 == 2) {
3029#line 286
3030 goto case_2;
3031 } else
3032#line 286
3033 if (4 == 4) {
3034#line 286
3035 goto case_4;
3036 } else
3037#line 286
3038 if (4 == 8) {
3039#line 286
3040 goto case_8;
3041 } else {
3042 {
3043#line 286
3044 goto switch_default;
3045#line 286
3046 if (0) {
3047 case_1:
3048#line 286
3049 __asm__ volatile ("call __put_user_1": "=a" (__ret_pu): "0" (__pu_val),
3050 "c" (p): "ebx");
3051#line 286
3052 goto ldv_19196;
3053 case_2:
3054#line 286
3055 __asm__ volatile ("call __put_user_2": "=a" (__ret_pu): "0" (__pu_val),
3056 "c" (p): "ebx");
3057#line 286
3058 goto ldv_19196;
3059 case_4:
3060#line 286
3061 __asm__ volatile ("call __put_user_4": "=a" (__ret_pu): "0" (__pu_val),
3062 "c" (p): "ebx");
3063#line 286
3064 goto ldv_19196;
3065 case_8:
3066#line 286
3067 __asm__ volatile ("call __put_user_8": "=a" (__ret_pu): "0" (__pu_val),
3068 "c" (p): "ebx");
3069#line 286
3070 goto ldv_19196;
3071 switch_default:
3072#line 286
3073 __asm__ volatile ("call __put_user_X": "=a" (__ret_pu): "0" (__pu_val),
3074 "c" (p): "ebx");
3075#line 286
3076 goto ldv_19196;
3077 } else {
3078 switch_break___0: ;
3079 }
3080 }
3081 }
3082 ldv_19196: ;
3083#line 286
3084 return ((long )__ret_pu);
3085 case_neg_2147199230:
3086 {
3087#line 289
3088 might_fault();
3089#line 289
3090 __cil_tmp63 = (unsigned long )(& sch311x_wdt_data) + 4;
3091#line 289
3092 __pu_val___0 = *((int *)__cil_tmp63);
3093 }
3094#line 289
3095 if (4 == 1) {
3096#line 289
3097 goto case_1___0;
3098 } else
3099#line 289
3100 if (4 == 2) {
3101#line 289
3102 goto case_2___0;
3103 } else
3104#line 289
3105 if (4 == 4) {
3106#line 289
3107 goto case_4___0;
3108 } else
3109#line 289
3110 if (4 == 8) {
3111#line 289
3112 goto case_8___0;
3113 } else {
3114 {
3115#line 289
3116 goto switch_default___0;
3117#line 289
3118 if (0) {
3119 case_1___0:
3120#line 289
3121 __asm__ volatile ("call __put_user_1": "=a" (__ret_pu___0): "0" (__pu_val___0),
3122 "c" (p): "ebx");
3123#line 289
3124 goto ldv_19206;
3125 case_2___0:
3126#line 289
3127 __asm__ volatile ("call __put_user_2": "=a" (__ret_pu___0): "0" (__pu_val___0),
3128 "c" (p): "ebx");
3129#line 289
3130 goto ldv_19206;
3131 case_4___0:
3132#line 289
3133 __asm__ volatile ("call __put_user_4": "=a" (__ret_pu___0): "0" (__pu_val___0),
3134 "c" (p): "ebx");
3135#line 289
3136 goto ldv_19206;
3137 case_8___0:
3138#line 289
3139 __asm__ volatile ("call __put_user_8": "=a" (__ret_pu___0): "0" (__pu_val___0),
3140 "c" (p): "ebx");
3141#line 289
3142 goto ldv_19206;
3143 switch_default___0:
3144#line 289
3145 __asm__ volatile ("call __put_user_X": "=a" (__ret_pu___0): "0" (__pu_val___0),
3146 "c" (p): "ebx");
3147#line 289
3148 goto ldv_19206;
3149 } else {
3150 switch_break___1: ;
3151 }
3152 }
3153 }
3154 ldv_19206: ;
3155#line 289
3156 return ((long )__ret_pu___0);
3157 case_neg_2147199228:
3158 {
3159#line 293
3160 retval = -22;
3161#line 295
3162 might_fault();
3163 }
3164#line 295
3165 if (4 == 1) {
3166#line 295
3167 goto case_1___1;
3168 } else
3169#line 295
3170 if (4 == 2) {
3171#line 295
3172 goto case_2___1;
3173 } else
3174#line 295
3175 if (4 == 4) {
3176#line 295
3177 goto case_4___1;
3178 } else
3179#line 295
3180 if (4 == 8) {
3181#line 295
3182 goto case_8___1;
3183 } else {
3184 {
3185#line 295
3186 goto switch_default___1;
3187#line 295
3188 if (0) {
3189 case_1___1:
3190#line 295
3191 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
3192#line 295
3193 goto ldv_19218;
3194 case_2___1:
3195#line 295
3196 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
3197#line 295
3198 goto ldv_19218;
3199 case_4___1:
3200#line 295
3201 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
3202#line 295
3203 goto ldv_19218;
3204 case_8___1:
3205#line 295
3206 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
3207#line 295
3208 goto ldv_19218;
3209 switch_default___1:
3210#line 295
3211 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
3212#line 295
3213 goto ldv_19218;
3214 } else {
3215 switch_break___2: ;
3216 }
3217 }
3218 }
3219 ldv_19218:
3220#line 295
3221 options = (int )__val_gu;
3222#line 295
3223 if (__ret_gu != 0) {
3224#line 296
3225 return (-14L);
3226 } else {
3227
3228 }
3229#line 297
3230 if (options & 1) {
3231 {
3232#line 298
3233 sch311x_wdt_stop();
3234#line 299
3235 retval = 0;
3236 }
3237 } else {
3238
3239 }
3240 {
3241#line 301
3242 __cil_tmp64 = options & 2;
3243#line 301
3244 if (__cil_tmp64 != 0) {
3245 {
3246#line 302
3247 sch311x_wdt_start();
3248#line 303
3249 retval = 0;
3250 }
3251 } else {
3252
3253 }
3254 }
3255#line 305
3256 return ((long )retval);
3257 case_neg_2147199227:
3258 {
3259#line 308
3260 sch311x_wdt_keepalive();
3261 }
3262#line 309
3263 goto ldv_19191;
3264 case_neg_1073457402:
3265 {
3266#line 312
3267 might_fault();
3268 }
3269#line 312
3270 if (4 == 1) {
3271#line 312
3272 goto case_1___2;
3273 } else
3274#line 312
3275 if (4 == 2) {
3276#line 312
3277 goto case_2___2;
3278 } else
3279#line 312
3280 if (4 == 4) {
3281#line 312
3282 goto case_4___2;
3283 } else
3284#line 312
3285 if (4 == 8) {
3286#line 312
3287 goto case_8___2;
3288 } else {
3289 {
3290#line 312
3291 goto switch_default___2;
3292#line 312
3293 if (0) {
3294 case_1___2:
3295#line 312
3296 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
3297#line 312
3298 goto ldv_19229;
3299 case_2___2:
3300#line 312
3301 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
3302#line 312
3303 goto ldv_19229;
3304 case_4___2:
3305#line 312
3306 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
3307#line 312
3308 goto ldv_19229;
3309 case_8___2:
3310#line 312
3311 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
3312#line 312
3313 goto ldv_19229;
3314 switch_default___2:
3315#line 312
3316 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
3317#line 312
3318 goto ldv_19229;
3319 } else {
3320 switch_break___3: ;
3321 }
3322 }
3323 }
3324 ldv_19229:
3325#line 312
3326 new_timeout = (int )__val_gu___0;
3327#line 312
3328 if (__ret_gu___0 != 0) {
3329#line 313
3330 return (-14L);
3331 } else {
3332
3333 }
3334 {
3335#line 314
3336 tmp___0 = sch311x_wdt_set_heartbeat(new_timeout);
3337 }
3338#line 314
3339 if (tmp___0 != 0) {
3340#line 315
3341 return (-22L);
3342 } else {
3343
3344 }
3345 {
3346#line 316
3347 sch311x_wdt_keepalive();
3348 }
3349 case_neg_2147199225:
3350 {
3351#line 319
3352 might_fault();
3353#line 319
3354 __cil_tmp65 = & timeout;
3355#line 319
3356 __pu_val___1 = *__cil_tmp65;
3357 }
3358#line 319
3359 if (4 == 1) {
3360#line 319
3361 goto case_1___3;
3362 } else
3363#line 319
3364 if (4 == 2) {
3365#line 319
3366 goto case_2___3;
3367 } else
3368#line 319
3369 if (4 == 4) {
3370#line 319
3371 goto case_4___3;
3372 } else
3373#line 319
3374 if (4 == 8) {
3375#line 319
3376 goto case_8___3;
3377 } else {
3378 {
3379#line 319
3380 goto switch_default___3;
3381#line 319
3382 if (0) {
3383 case_1___3:
3384#line 319
3385 __asm__ volatile ("call __put_user_1": "=a" (__ret_pu___1): "0" (__pu_val___1),
3386 "c" (p): "ebx");
3387#line 319
3388 goto ldv_19239;
3389 case_2___3:
3390#line 319
3391 __asm__ volatile ("call __put_user_2": "=a" (__ret_pu___1): "0" (__pu_val___1),
3392 "c" (p): "ebx");
3393#line 319
3394 goto ldv_19239;
3395 case_4___3:
3396#line 319
3397 __asm__ volatile ("call __put_user_4": "=a" (__ret_pu___1): "0" (__pu_val___1),
3398 "c" (p): "ebx");
3399#line 319
3400 goto ldv_19239;
3401 case_8___3:
3402#line 319
3403 __asm__ volatile ("call __put_user_8": "=a" (__ret_pu___1): "0" (__pu_val___1),
3404 "c" (p): "ebx");
3405#line 319
3406 goto ldv_19239;
3407 switch_default___3:
3408#line 319
3409 __asm__ volatile ("call __put_user_X": "=a" (__ret_pu___1): "0" (__pu_val___1),
3410 "c" (p): "ebx");
3411#line 319
3412 goto ldv_19239;
3413 } else {
3414 switch_break___4: ;
3415 }
3416 }
3417 }
3418 ldv_19239: ;
3419#line 319
3420 return ((long )__ret_pu___1);
3421 switch_default___4: ;
3422#line 321
3423 return (-25L);
3424 } else {
3425 switch_break: ;
3426 }
3427 }
3428 }
3429 ldv_19191: ;
3430#line 323
3431 return (0L);
3432}
3433}
3434#line 326 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
3435static int sch311x_wdt_open(struct inode *inode , struct file *file )
3436{ int tmp ;
3437 int tmp___0 ;
3438 unsigned long volatile *__cil_tmp5 ;
3439
3440 {
3441 {
3442#line 328
3443 __cil_tmp5 = (unsigned long volatile *)(& sch311x_wdt_is_open);
3444#line 328
3445 tmp = test_and_set_bit(0, __cil_tmp5);
3446 }
3447#line 328
3448 if (tmp != 0) {
3449#line 329
3450 return (-16);
3451 } else {
3452
3453 }
3454 {
3455#line 333
3456 sch311x_wdt_start();
3457#line 334
3458 tmp___0 = nonseekable_open(inode, file);
3459 }
3460#line 334
3461 return (tmp___0);
3462}
3463}
3464#line 337 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
3465static int sch311x_wdt_close(struct inode *inode , struct file *file )
3466{ signed char __cil_tmp3 ;
3467 int __cil_tmp4 ;
3468 unsigned long volatile *__cil_tmp5 ;
3469
3470 {
3471 {
3472#line 339
3473 __cil_tmp3 = (signed char )sch311x_wdt_expect_close;
3474#line 339
3475 __cil_tmp4 = (int )__cil_tmp3;
3476#line 339
3477 if (__cil_tmp4 == 42) {
3478 {
3479#line 340
3480 sch311x_wdt_stop();
3481 }
3482 } else {
3483 {
3484#line 342
3485 printk("<2>sch311x_wdt: Unexpected close, not stopping watchdog!\n");
3486#line 343
3487 sch311x_wdt_keepalive();
3488 }
3489 }
3490 }
3491 {
3492#line 345
3493 __cil_tmp5 = (unsigned long volatile *)(& sch311x_wdt_is_open);
3494#line 345
3495 clear_bit(0, __cil_tmp5);
3496#line 346
3497 sch311x_wdt_expect_close = (char)0;
3498 }
3499#line 347
3500 return (0);
3501}
3502}
3503#line 354 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
3504static struct file_operations const sch311x_wdt_fops =
3505#line 354
3506 {& __this_module, & no_llseek, (ssize_t (*)(struct file * , char * , size_t ,
3507 loff_t * ))0, & sch311x_wdt_write,
3508 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
3509 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
3510 (int (*)(struct file * , void * , int (*)(void * , char const * , int , loff_t ,
3511 u64 , unsigned int ) ))0, (unsigned int (*)(struct file * ,
3512 struct poll_table_struct * ))0,
3513 & sch311x_wdt_ioctl, (long (*)(struct file * , unsigned int , unsigned long ))0,
3514 (int (*)(struct file * , struct vm_area_struct * ))0, & sch311x_wdt_open, (int (*)(struct file * ,
3515 fl_owner_t ))0,
3516 & sch311x_wdt_close, (int (*)(struct file * , loff_t , loff_t , int ))0, (int (*)(struct kiocb * ,
3517 int ))0,
3518 (int (*)(int , struct file * , int ))0, (int (*)(struct file * , int , struct file_lock * ))0,
3519 (ssize_t (*)(struct file * , struct page * , int , size_t , loff_t * , int ))0,
3520 (unsigned long (*)(struct file * , unsigned long , unsigned long , unsigned long ,
3521 unsigned long ))0, (int (*)(int ))0, (int (*)(struct file * ,
3522 int , struct file_lock * ))0,
3523 (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t , unsigned int ))0,
3524 (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ))0,
3525 (int (*)(struct file * , long , struct file_lock ** ))0, (long (*)(struct file * ,
3526 int , loff_t ,
3527 loff_t ))0};
3528#line 363 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
3529static struct miscdevice sch311x_wdt_miscdev =
3530#line 363
3531 {130, "watchdog", & sch311x_wdt_fops, {(struct list_head *)0, (struct list_head *)0},
3532 (struct device *)0, (struct device *)0, (char const *)0, (unsigned short)0};
3533#line 373 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
3534static int sch311x_wdt_probe(struct platform_device *pdev )
3535{ struct device *dev ;
3536 unsigned char val ;
3537 int err ;
3538 struct lock_class_key __key ;
3539 struct resource *tmp ;
3540 struct resource *tmp___0 ;
3541 struct resource *tmp___1 ;
3542 int tmp___2 ;
3543 unsigned long __cil_tmp10 ;
3544 unsigned long __cil_tmp11 ;
3545 unsigned long __cil_tmp12 ;
3546 spinlock_t *__cil_tmp13 ;
3547 unsigned long __cil_tmp14 ;
3548 struct raw_spinlock *__cil_tmp15 ;
3549 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp16 ;
3550 unsigned short __cil_tmp17 ;
3551 int __cil_tmp18 ;
3552 int __cil_tmp19 ;
3553 resource_size_t __cil_tmp20 ;
3554 struct resource *__cil_tmp21 ;
3555 unsigned long __cil_tmp22 ;
3556 unsigned long __cil_tmp23 ;
3557 struct device const *__cil_tmp24 ;
3558 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp25 ;
3559 unsigned short __cil_tmp26 ;
3560 int __cil_tmp27 ;
3561 int __cil_tmp28 ;
3562 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp29 ;
3563 unsigned short __cil_tmp30 ;
3564 int __cil_tmp31 ;
3565 int __cil_tmp32 ;
3566 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp33 ;
3567 unsigned short __cil_tmp34 ;
3568 int __cil_tmp35 ;
3569 int __cil_tmp36 ;
3570 resource_size_t __cil_tmp37 ;
3571 struct resource *__cil_tmp38 ;
3572 unsigned long __cil_tmp39 ;
3573 unsigned long __cil_tmp40 ;
3574 struct device const *__cil_tmp41 ;
3575 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp42 ;
3576 unsigned short __cil_tmp43 ;
3577 int __cil_tmp44 ;
3578 int __cil_tmp45 ;
3579 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp46 ;
3580 unsigned short __cil_tmp47 ;
3581 int __cil_tmp48 ;
3582 int __cil_tmp49 ;
3583 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp50 ;
3584 unsigned short __cil_tmp51 ;
3585 int __cil_tmp52 ;
3586 int __cil_tmp53 ;
3587 resource_size_t __cil_tmp54 ;
3588 struct resource *__cil_tmp55 ;
3589 unsigned long __cil_tmp56 ;
3590 unsigned long __cil_tmp57 ;
3591 struct device const *__cil_tmp58 ;
3592 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp59 ;
3593 unsigned short __cil_tmp60 ;
3594 int __cil_tmp61 ;
3595 int __cil_tmp62 ;
3596 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp63 ;
3597 unsigned short __cil_tmp64 ;
3598 int __cil_tmp65 ;
3599 int __cil_tmp66 ;
3600 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp67 ;
3601 unsigned short __cil_tmp68 ;
3602 int __cil_tmp69 ;
3603 int __cil_tmp70 ;
3604 int *__cil_tmp71 ;
3605 int __cil_tmp72 ;
3606 struct device const *__cil_tmp73 ;
3607 int *__cil_tmp74 ;
3608 int __cil_tmp75 ;
3609 unsigned long __cil_tmp76 ;
3610 int *__cil_tmp77 ;
3611 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp78 ;
3612 unsigned short __cil_tmp79 ;
3613 int __cil_tmp80 ;
3614 int __cil_tmp81 ;
3615 unsigned short *__cil_tmp82 ;
3616 unsigned short __cil_tmp83 ;
3617 unsigned int __cil_tmp84 ;
3618 int __cil_tmp85 ;
3619 unsigned char __cil_tmp86 ;
3620 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp87 ;
3621 unsigned short __cil_tmp88 ;
3622 int __cil_tmp89 ;
3623 int __cil_tmp90 ;
3624 unsigned long __cil_tmp91 ;
3625 struct device const *__cil_tmp92 ;
3626 struct device const *__cil_tmp93 ;
3627 int *__cil_tmp94 ;
3628 int __cil_tmp95 ;
3629 bool *__cil_tmp96 ;
3630 bool __cil_tmp97 ;
3631 int __cil_tmp98 ;
3632 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp99 ;
3633 unsigned short __cil_tmp100 ;
3634 int __cil_tmp101 ;
3635 int __cil_tmp102 ;
3636 resource_size_t __cil_tmp103 ;
3637 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp104 ;
3638 unsigned short __cil_tmp105 ;
3639 int __cil_tmp106 ;
3640 int __cil_tmp107 ;
3641 resource_size_t __cil_tmp108 ;
3642 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp109 ;
3643 unsigned short __cil_tmp110 ;
3644 int __cil_tmp111 ;
3645 int __cil_tmp112 ;
3646 resource_size_t __cil_tmp113 ;
3647 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp114 ;
3648
3649 {
3650 {
3651#line 375
3652 __cil_tmp10 = (unsigned long )pdev;
3653#line 375
3654 __cil_tmp11 = __cil_tmp10 + 16;
3655#line 375
3656 dev = (struct device *)__cil_tmp11;
3657#line 379
3658 __cil_tmp12 = (unsigned long )(& sch311x_wdt_data) + 8;
3659#line 379
3660 __cil_tmp13 = (spinlock_t *)__cil_tmp12;
3661#line 379
3662 spinlock_check(__cil_tmp13);
3663#line 379
3664 __cil_tmp14 = (unsigned long )(& sch311x_wdt_data) + 8;
3665#line 379
3666 __cil_tmp15 = (struct raw_spinlock *)__cil_tmp14;
3667#line 379
3668 __raw_spin_lock_init(__cil_tmp15, "&(&sch311x_wdt_data.io_lock)->rlock", & __key);
3669#line 381
3670 __cil_tmp16 = & sch311x_wdt_data;
3671#line 381
3672 __cil_tmp17 = *((unsigned short *)__cil_tmp16);
3673#line 381
3674 __cil_tmp18 = (int )__cil_tmp17;
3675#line 381
3676 __cil_tmp19 = __cil_tmp18 + 29;
3677#line 381
3678 __cil_tmp20 = (resource_size_t )__cil_tmp19;
3679#line 381
3680 tmp = __request_region(& ioport_resource, __cil_tmp20, 1ULL, "sch311x_wdt", 0);
3681 }
3682 {
3683#line 381
3684 __cil_tmp21 = (struct resource *)0;
3685#line 381
3686 __cil_tmp22 = (unsigned long )__cil_tmp21;
3687#line 381
3688 __cil_tmp23 = (unsigned long )tmp;
3689#line 381
3690 if (__cil_tmp23 == __cil_tmp22) {
3691 {
3692#line 383
3693 __cil_tmp24 = (struct device const *)dev;
3694#line 383
3695 __cil_tmp25 = & sch311x_wdt_data;
3696#line 383
3697 __cil_tmp26 = *((unsigned short *)__cil_tmp25);
3698#line 383
3699 __cil_tmp27 = (int )__cil_tmp26;
3700#line 383
3701 __cil_tmp28 = __cil_tmp27 + 29;
3702#line 383
3703 __cil_tmp29 = & sch311x_wdt_data;
3704#line 383
3705 __cil_tmp30 = *((unsigned short *)__cil_tmp29);
3706#line 383
3707 __cil_tmp31 = (int )__cil_tmp30;
3708#line 383
3709 __cil_tmp32 = __cil_tmp31 + 29;
3710#line 383
3711 dev_err(__cil_tmp24, "Failed to request region 0x%04x-0x%04x.\n", __cil_tmp28,
3712 __cil_tmp32);
3713#line 386
3714 err = -16;
3715 }
3716#line 387
3717 goto exit;
3718 } else {
3719
3720 }
3721 }
3722 {
3723#line 390
3724 __cil_tmp33 = & sch311x_wdt_data;
3725#line 390
3726 __cil_tmp34 = *((unsigned short *)__cil_tmp33);
3727#line 390
3728 __cil_tmp35 = (int )__cil_tmp34;
3729#line 390
3730 __cil_tmp36 = __cil_tmp35 + 71;
3731#line 390
3732 __cil_tmp37 = (resource_size_t )__cil_tmp36;
3733#line 390
3734 tmp___0 = __request_region(& ioport_resource, __cil_tmp37, 1ULL, "sch311x_wdt",
3735 0);
3736 }
3737 {
3738#line 390
3739 __cil_tmp38 = (struct resource *)0;
3740#line 390
3741 __cil_tmp39 = (unsigned long )__cil_tmp38;
3742#line 390
3743 __cil_tmp40 = (unsigned long )tmp___0;
3744#line 390
3745 if (__cil_tmp40 == __cil_tmp39) {
3746 {
3747#line 391
3748 __cil_tmp41 = (struct device const *)dev;
3749#line 391
3750 __cil_tmp42 = & sch311x_wdt_data;
3751#line 391
3752 __cil_tmp43 = *((unsigned short *)__cil_tmp42);
3753#line 391
3754 __cil_tmp44 = (int )__cil_tmp43;
3755#line 391
3756 __cil_tmp45 = __cil_tmp44 + 71;
3757#line 391
3758 __cil_tmp46 = & sch311x_wdt_data;
3759#line 391
3760 __cil_tmp47 = *((unsigned short *)__cil_tmp46);
3761#line 391
3762 __cil_tmp48 = (int )__cil_tmp47;
3763#line 391
3764 __cil_tmp49 = __cil_tmp48 + 71;
3765#line 391
3766 dev_err(__cil_tmp41, "Failed to request region 0x%04x-0x%04x.\n", __cil_tmp45,
3767 __cil_tmp49);
3768#line 394
3769 err = -16;
3770 }
3771#line 395
3772 goto exit_release_region;
3773 } else {
3774
3775 }
3776 }
3777 {
3778#line 398
3779 __cil_tmp50 = & sch311x_wdt_data;
3780#line 398
3781 __cil_tmp51 = *((unsigned short *)__cil_tmp50);
3782#line 398
3783 __cil_tmp52 = (int )__cil_tmp51;
3784#line 398
3785 __cil_tmp53 = __cil_tmp52 + 101;
3786#line 398
3787 __cil_tmp54 = (resource_size_t )__cil_tmp53;
3788#line 398
3789 tmp___1 = __request_region(& ioport_resource, __cil_tmp54, 4ULL, "sch311x_wdt",
3790 0);
3791 }
3792 {
3793#line 398
3794 __cil_tmp55 = (struct resource *)0;
3795#line 398
3796 __cil_tmp56 = (unsigned long )__cil_tmp55;
3797#line 398
3798 __cil_tmp57 = (unsigned long )tmp___1;
3799#line 398
3800 if (__cil_tmp57 == __cil_tmp56) {
3801 {
3802#line 400
3803 __cil_tmp58 = (struct device const *)dev;
3804#line 400
3805 __cil_tmp59 = & sch311x_wdt_data;
3806#line 400
3807 __cil_tmp60 = *((unsigned short *)__cil_tmp59);
3808#line 400
3809 __cil_tmp61 = (int )__cil_tmp60;
3810#line 400
3811 __cil_tmp62 = __cil_tmp61 + 101;
3812#line 400
3813 __cil_tmp63 = & sch311x_wdt_data;
3814#line 400
3815 __cil_tmp64 = *((unsigned short *)__cil_tmp63);
3816#line 400
3817 __cil_tmp65 = (int )__cil_tmp64;
3818#line 400
3819 __cil_tmp66 = __cil_tmp65 + 104;
3820#line 400
3821 dev_err(__cil_tmp58, "Failed to request region 0x%04x-0x%04x.\n", __cil_tmp62,
3822 __cil_tmp66);
3823#line 403
3824 err = -16;
3825 }
3826#line 404
3827 goto exit_release_region2;
3828 } else {
3829
3830 }
3831 }
3832 {
3833#line 408
3834 sch311x_wdt_stop();
3835#line 419
3836 __cil_tmp67 = & sch311x_wdt_data;
3837#line 419
3838 __cil_tmp68 = *((unsigned short *)__cil_tmp67);
3839#line 419
3840 __cil_tmp69 = (int )__cil_tmp68;
3841#line 419
3842 __cil_tmp70 = __cil_tmp69 + 103;
3843#line 419
3844 outb((unsigned char)0, __cil_tmp70);
3845#line 423
3846 __cil_tmp71 = & timeout;
3847#line 423
3848 __cil_tmp72 = *__cil_tmp71;
3849#line 423
3850 tmp___2 = sch311x_wdt_set_heartbeat(__cil_tmp72);
3851 }
3852#line 423
3853 if (tmp___2 != 0) {
3854 {
3855#line 424
3856 sch311x_wdt_set_heartbeat(60);
3857#line 425
3858 __cil_tmp73 = (struct device const *)dev;
3859#line 425
3860 __cil_tmp74 = & timeout;
3861#line 425
3862 __cil_tmp75 = *__cil_tmp74;
3863#line 425
3864 _dev_info(__cil_tmp73, "timeout value must be 1<=x<=15300, using %d\n", __cil_tmp75);
3865 }
3866 } else {
3867
3868 }
3869 {
3870#line 430
3871 __cil_tmp76 = (unsigned long )(& sch311x_wdt_data) + 4;
3872#line 430
3873 __cil_tmp77 = (int *)__cil_tmp76;
3874#line 430
3875 sch311x_wdt_get_status(__cil_tmp77);
3876#line 439
3877 __cil_tmp78 = & sch311x_wdt_data;
3878#line 439
3879 __cil_tmp79 = *((unsigned short *)__cil_tmp78);
3880#line 439
3881 __cil_tmp80 = (int )__cil_tmp79;
3882#line 439
3883 __cil_tmp81 = __cil_tmp80 + 29;
3884#line 439
3885 outb((unsigned char)0, __cil_tmp81);
3886 }
3887 {
3888#line 440
3889 __cil_tmp82 = & therm_trip;
3890#line 440
3891 __cil_tmp83 = *__cil_tmp82;
3892#line 440
3893 __cil_tmp84 = (unsigned int )__cil_tmp83;
3894#line 440
3895 if (__cil_tmp84 != 0U) {
3896#line 440
3897 val = (unsigned char)6;
3898 } else {
3899#line 440
3900 val = (unsigned char)4;
3901 }
3902 }
3903 {
3904#line 441
3905 __cil_tmp85 = (int )val;
3906#line 441
3907 __cil_tmp86 = (unsigned char )__cil_tmp85;
3908#line 441
3909 __cil_tmp87 = & sch311x_wdt_data;
3910#line 441
3911 __cil_tmp88 = *((unsigned short *)__cil_tmp87);
3912#line 441
3913 __cil_tmp89 = (int )__cil_tmp88;
3914#line 441
3915 __cil_tmp90 = __cil_tmp89 + 29;
3916#line 441
3917 outb(__cil_tmp86, __cil_tmp90);
3918#line 443
3919 __cil_tmp91 = (unsigned long )(& sch311x_wdt_miscdev) + 40;
3920#line 443
3921 *((struct device **)__cil_tmp91) = dev;
3922#line 445
3923 err = misc_register(& sch311x_wdt_miscdev);
3924 }
3925#line 446
3926 if (err != 0) {
3927 {
3928#line 447
3929 __cil_tmp92 = (struct device const *)dev;
3930#line 447
3931 dev_err(__cil_tmp92, "cannot register miscdev on minor=%d (err=%d)\n", 130, err);
3932 }
3933#line 449
3934 goto exit_release_region3;
3935 } else {
3936
3937 }
3938 {
3939#line 452
3940 __cil_tmp93 = (struct device const *)dev;
3941#line 452
3942 __cil_tmp94 = & timeout;
3943#line 452
3944 __cil_tmp95 = *__cil_tmp94;
3945#line 452
3946 __cil_tmp96 = & nowayout;
3947#line 452
3948 __cil_tmp97 = *__cil_tmp96;
3949#line 452
3950 __cil_tmp98 = (int )__cil_tmp97;
3951#line 452
3952 _dev_info(__cil_tmp93, "SMSC SCH311x WDT initialized. timeout=%d sec (nowayout=%d)\n",
3953 __cil_tmp95, __cil_tmp98);
3954 }
3955#line 456
3956 return (0);
3957 exit_release_region3:
3958 {
3959#line 459
3960 __cil_tmp99 = & sch311x_wdt_data;
3961#line 459
3962 __cil_tmp100 = *((unsigned short *)__cil_tmp99);
3963#line 459
3964 __cil_tmp101 = (int )__cil_tmp100;
3965#line 459
3966 __cil_tmp102 = __cil_tmp101 + 101;
3967#line 459
3968 __cil_tmp103 = (resource_size_t )__cil_tmp102;
3969#line 459
3970 __release_region(& ioport_resource, __cil_tmp103, 4ULL);
3971 }
3972 exit_release_region2:
3973 {
3974#line 461
3975 __cil_tmp104 = & sch311x_wdt_data;
3976#line 461
3977 __cil_tmp105 = *((unsigned short *)__cil_tmp104);
3978#line 461
3979 __cil_tmp106 = (int )__cil_tmp105;
3980#line 461
3981 __cil_tmp107 = __cil_tmp106 + 71;
3982#line 461
3983 __cil_tmp108 = (resource_size_t )__cil_tmp107;
3984#line 461
3985 __release_region(& ioport_resource, __cil_tmp108, 1ULL);
3986 }
3987 exit_release_region:
3988 {
3989#line 463
3990 __cil_tmp109 = & sch311x_wdt_data;
3991#line 463
3992 __cil_tmp110 = *((unsigned short *)__cil_tmp109);
3993#line 463
3994 __cil_tmp111 = (int )__cil_tmp110;
3995#line 463
3996 __cil_tmp112 = __cil_tmp111 + 29;
3997#line 463
3998 __cil_tmp113 = (resource_size_t )__cil_tmp112;
3999#line 463
4000 __release_region(& ioport_resource, __cil_tmp113, 1ULL);
4001#line 464
4002 __cil_tmp114 = & sch311x_wdt_data;
4003#line 464
4004 *((unsigned short *)__cil_tmp114) = (unsigned short)0;
4005 }
4006 exit: ;
4007#line 466
4008 return (err);
4009}
4010}
4011#line 469 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
4012static int sch311x_wdt_remove(struct platform_device *pdev )
4013{ bool *__cil_tmp2 ;
4014 bool __cil_tmp3 ;
4015 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp4 ;
4016 unsigned short __cil_tmp5 ;
4017 int __cil_tmp6 ;
4018 int __cil_tmp7 ;
4019 resource_size_t __cil_tmp8 ;
4020 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp9 ;
4021 unsigned short __cil_tmp10 ;
4022 int __cil_tmp11 ;
4023 int __cil_tmp12 ;
4024 resource_size_t __cil_tmp13 ;
4025 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp14 ;
4026 unsigned short __cil_tmp15 ;
4027 int __cil_tmp16 ;
4028 int __cil_tmp17 ;
4029 resource_size_t __cil_tmp18 ;
4030 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp19 ;
4031
4032 {
4033 {
4034#line 472
4035 __cil_tmp2 = & nowayout;
4036#line 472
4037 __cil_tmp3 = *__cil_tmp2;
4038#line 472
4039 if (! __cil_tmp3) {
4040 {
4041#line 473
4042 sch311x_wdt_stop();
4043 }
4044 } else {
4045
4046 }
4047 }
4048 {
4049#line 476
4050 misc_deregister(& sch311x_wdt_miscdev);
4051#line 477
4052 __cil_tmp4 = & sch311x_wdt_data;
4053#line 477
4054 __cil_tmp5 = *((unsigned short *)__cil_tmp4);
4055#line 477
4056 __cil_tmp6 = (int )__cil_tmp5;
4057#line 477
4058 __cil_tmp7 = __cil_tmp6 + 101;
4059#line 477
4060 __cil_tmp8 = (resource_size_t )__cil_tmp7;
4061#line 477
4062 __release_region(& ioport_resource, __cil_tmp8, 4ULL);
4063#line 478
4064 __cil_tmp9 = & sch311x_wdt_data;
4065#line 478
4066 __cil_tmp10 = *((unsigned short *)__cil_tmp9);
4067#line 478
4068 __cil_tmp11 = (int )__cil_tmp10;
4069#line 478
4070 __cil_tmp12 = __cil_tmp11 + 71;
4071#line 478
4072 __cil_tmp13 = (resource_size_t )__cil_tmp12;
4073#line 478
4074 __release_region(& ioport_resource, __cil_tmp13, 1ULL);
4075#line 479
4076 __cil_tmp14 = & sch311x_wdt_data;
4077#line 479
4078 __cil_tmp15 = *((unsigned short *)__cil_tmp14);
4079#line 479
4080 __cil_tmp16 = (int )__cil_tmp15;
4081#line 479
4082 __cil_tmp17 = __cil_tmp16 + 29;
4083#line 479
4084 __cil_tmp18 = (resource_size_t )__cil_tmp17;
4085#line 479
4086 __release_region(& ioport_resource, __cil_tmp18, 1ULL);
4087#line 480
4088 __cil_tmp19 = & sch311x_wdt_data;
4089#line 480
4090 *((unsigned short *)__cil_tmp19) = (unsigned short)0;
4091 }
4092#line 481
4093 return (0);
4094}
4095}
4096#line 484 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
4097static void sch311x_wdt_shutdown(struct platform_device *dev )
4098{
4099
4100 {
4101 {
4102#line 487
4103 sch311x_wdt_stop();
4104 }
4105#line 488
4106 return;
4107}
4108}
4109#line 490 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
4110static struct platform_driver sch311x_wdt_driver = {& sch311x_wdt_probe, & sch311x_wdt_remove, & sch311x_wdt_shutdown, (int (*)(struct platform_device * ,
4111 pm_message_t ))0,
4112 (int (*)(struct platform_device * ))0, {"sch311x_wdt", (struct bus_type *)0, & __this_module,
4113 (char const *)0, (_Bool)0, (struct of_device_id const *)0,
4114 (int (*)(struct device * ))0, (int (*)(struct device * ))0,
4115 (void (*)(struct device * ))0, (int (*)(struct device * ,
4116 pm_message_t ))0,
4117 (int (*)(struct device * ))0, (struct attribute_group const **)0,
4118 (struct dev_pm_ops const *)0, (struct driver_private *)0},
4119 (struct platform_device_id const *)0};
4120#line 500 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
4121static int sch311x_detect(int sio_config_port , unsigned short *addr )
4122{ int err ;
4123 int reg ;
4124 unsigned short base_addr ;
4125 unsigned char dev_id ;
4126 int tmp ;
4127 unsigned int tmp___0 ;
4128 int tmp___1 ;
4129 int tmp___2 ;
4130 int tmp___3 ;
4131 unsigned short *__cil_tmp12 ;
4132 unsigned short __cil_tmp13 ;
4133 unsigned int __cil_tmp14 ;
4134 unsigned short *__cil_tmp15 ;
4135 unsigned short __cil_tmp16 ;
4136 int __cil_tmp17 ;
4137 short __cil_tmp18 ;
4138 int __cil_tmp19 ;
4139 int __cil_tmp20 ;
4140 short __cil_tmp21 ;
4141 int __cil_tmp22 ;
4142 int __cil_tmp23 ;
4143 unsigned int __cil_tmp24 ;
4144 int __cil_tmp25 ;
4145 int __cil_tmp26 ;
4146
4147 {
4148 {
4149#line 502
4150 err = 0;
4151#line 506
4152 sch311x_sio_enter(sio_config_port);
4153 }
4154 {
4155#line 510
4156 __cil_tmp12 = & force_id;
4157#line 510
4158 __cil_tmp13 = *__cil_tmp12;
4159#line 510
4160 __cil_tmp14 = (unsigned int )__cil_tmp13;
4161#line 510
4162 if (__cil_tmp14 != 0U) {
4163#line 510
4164 __cil_tmp15 = & force_id;
4165#line 510
4166 __cil_tmp16 = *__cil_tmp15;
4167#line 510
4168 reg = (int )__cil_tmp16;
4169 } else {
4170 {
4171#line 510
4172 tmp = sch311x_sio_inb(sio_config_port, 32);
4173#line 510
4174 reg = tmp;
4175 }
4176 }
4177 }
4178#line 511
4179 if (reg != 124) {
4180#line 511
4181 if (reg != 125) {
4182#line 511
4183 if (reg != 127) {
4184#line 512
4185 err = -19;
4186#line 513
4187 goto exit;
4188 } else {
4189
4190 }
4191 } else {
4192
4193 }
4194 } else {
4195
4196 }
4197#line 515
4198 if (reg != 124) {
4199#line 515
4200 if (reg == 125) {
4201#line 515
4202 tmp___0 = 4U;
4203 } else {
4204#line 515
4205 tmp___0 = 6U;
4206 }
4207#line 515
4208 dev_id = (unsigned char )tmp___0;
4209 } else {
4210#line 515
4211 dev_id = (unsigned char)2;
4212 }
4213 {
4214#line 518
4215 sch311x_sio_outb(sio_config_port, 7, 10);
4216#line 521
4217 tmp___1 = sch311x_sio_inb(sio_config_port, 48);
4218 }
4219 {
4220#line 521
4221 __cil_tmp17 = tmp___1 & 1;
4222#line 521
4223 if (__cil_tmp17 == 0) {
4224 {
4225#line 522
4226 printk("<6>sch311x_wdt: Seems that LDN 0x0a is not active...\n");
4227 }
4228 } else {
4229
4230 }
4231 }
4232 {
4233#line 525
4234 tmp___2 = sch311x_sio_inb(sio_config_port, 96);
4235#line 525
4236 tmp___3 = sch311x_sio_inb(sio_config_port, 97);
4237#line 525
4238 __cil_tmp18 = (short )tmp___3;
4239#line 525
4240 __cil_tmp19 = (int )__cil_tmp18;
4241#line 525
4242 __cil_tmp20 = tmp___2 << 8;
4243#line 525
4244 __cil_tmp21 = (short )__cil_tmp20;
4245#line 525
4246 __cil_tmp22 = (int )__cil_tmp21;
4247#line 525
4248 __cil_tmp23 = __cil_tmp22 | __cil_tmp19;
4249#line 525
4250 base_addr = (unsigned short )__cil_tmp23;
4251 }
4252 {
4253#line 527
4254 __cil_tmp24 = (unsigned int )base_addr;
4255#line 527
4256 if (__cil_tmp24 == 0U) {
4257 {
4258#line 528
4259 printk("<3>sch311x_wdt: Base address not set\n");
4260#line 529
4261 err = -19;
4262 }
4263#line 530
4264 goto exit;
4265 } else {
4266
4267 }
4268 }
4269 {
4270#line 532
4271 *addr = base_addr;
4272#line 534
4273 __cil_tmp25 = (int )dev_id;
4274#line 534
4275 __cil_tmp26 = (int )base_addr;
4276#line 534
4277 printk("<6>sch311x_wdt: Found an SMSC SCH311%d chip at 0x%04x\n", __cil_tmp25, __cil_tmp26);
4278 }
4279 exit:
4280 {
4281#line 537
4282 sch311x_sio_exit(sio_config_port);
4283 }
4284#line 538
4285 return (err);
4286}
4287}
4288#line 541 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
4289static int sch311x_wdt_init(void)
4290{ int err ;
4291 int i ;
4292 int found ;
4293 unsigned short addr ;
4294 int tmp ;
4295 long tmp___0 ;
4296 long tmp___1 ;
4297 unsigned short *__cil_tmp8 ;
4298 unsigned long __cil_tmp9 ;
4299 unsigned long __cil_tmp10 ;
4300 int __cil_tmp11 ;
4301 unsigned long __cil_tmp12 ;
4302 unsigned long __cil_tmp13 ;
4303 int __cil_tmp14 ;
4304 struct __anonstruct_sch311x_wdt_data_146 *__cil_tmp15 ;
4305 unsigned short *__cil_tmp16 ;
4306 unsigned short *__cil_tmp17 ;
4307 unsigned short __cil_tmp18 ;
4308 int __cil_tmp19 ;
4309 struct resource const *__cil_tmp20 ;
4310 void const *__cil_tmp21 ;
4311 void const *__cil_tmp22 ;
4312
4313 {
4314#line 543
4315 found = 0;
4316#line 544
4317 __cil_tmp8 = & addr;
4318#line 544
4319 *__cil_tmp8 = (unsigned short)0;
4320#line 546
4321 i = 0;
4322#line 546
4323 goto ldv_19291;
4324 ldv_19290:
4325 {
4326#line 547
4327 __cil_tmp9 = i * 4UL;
4328#line 547
4329 __cil_tmp10 = (unsigned long )(sch311x_ioports) + __cil_tmp9;
4330#line 547
4331 __cil_tmp11 = *((int *)__cil_tmp10);
4332#line 547
4333 tmp = sch311x_detect(__cil_tmp11, & addr);
4334 }
4335#line 547
4336 if (tmp == 0) {
4337#line 548
4338 found = found + 1;
4339 } else {
4340
4341 }
4342#line 546
4343 i = i + 1;
4344 ldv_19291: ;
4345#line 546
4346 if (found == 0) {
4347 {
4348#line 546
4349 __cil_tmp12 = i * 4UL;
4350#line 546
4351 __cil_tmp13 = (unsigned long )(sch311x_ioports) + __cil_tmp12;
4352#line 546
4353 __cil_tmp14 = *((int *)__cil_tmp13);
4354#line 546
4355 if (__cil_tmp14 != 0) {
4356#line 547
4357 goto ldv_19290;
4358 } else {
4359#line 549
4360 goto ldv_19292;
4361 }
4362 }
4363 } else {
4364#line 549
4365 goto ldv_19292;
4366 }
4367 ldv_19292: ;
4368#line 550
4369 if (found == 0) {
4370#line 551
4371 return (-19);
4372 } else {
4373
4374 }
4375 {
4376#line 553
4377 __cil_tmp15 = & sch311x_wdt_data;
4378#line 553
4379 __cil_tmp16 = & addr;
4380#line 553
4381 *((unsigned short *)__cil_tmp15) = *__cil_tmp16;
4382#line 555
4383 err = platform_driver_register(& sch311x_wdt_driver);
4384 }
4385#line 556
4386 if (err != 0) {
4387#line 557
4388 return (err);
4389 } else {
4390
4391 }
4392 {
4393#line 559
4394 __cil_tmp17 = & addr;
4395#line 559
4396 __cil_tmp18 = *__cil_tmp17;
4397#line 559
4398 __cil_tmp19 = (int )__cil_tmp18;
4399#line 559
4400 __cil_tmp20 = (struct resource const *)0;
4401#line 559
4402 sch311x_wdt_pdev = platform_device_register_simple("sch311x_wdt", __cil_tmp19, __cil_tmp20,
4403 0U);
4404#line 562
4405 __cil_tmp21 = (void const *)sch311x_wdt_pdev;
4406#line 562
4407 tmp___1 = IS_ERR(__cil_tmp21);
4408 }
4409#line 562
4410 if (tmp___1 != 0L) {
4411 {
4412#line 563
4413 __cil_tmp22 = (void const *)sch311x_wdt_pdev;
4414#line 563
4415 tmp___0 = PTR_ERR(__cil_tmp22);
4416#line 563
4417 err = (int )tmp___0;
4418 }
4419#line 564
4420 goto unreg_platform_driver;
4421 } else {
4422
4423 }
4424#line 567
4425 return (0);
4426 unreg_platform_driver:
4427 {
4428#line 570
4429 platform_driver_unregister(& sch311x_wdt_driver);
4430 }
4431#line 571
4432 return (err);
4433}
4434}
4435#line 574 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
4436static void sch311x_wdt_exit(void)
4437{
4438
4439 {
4440 {
4441#line 576
4442 platform_device_unregister(sch311x_wdt_pdev);
4443#line 577
4444 platform_driver_unregister(& sch311x_wdt_driver);
4445 }
4446#line 578
4447 return;
4448}
4449}
4450#line 605
4451extern void ldv_check_final_state(void) ;
4452#line 608
4453extern void ldv_check_return_value(int ) ;
4454#line 611
4455extern void ldv_initialize(void) ;
4456#line 614
4457extern int __VERIFIER_nondet_int(void) ;
4458#line 617 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
4459int LDV_IN_INTERRUPT ;
4460#line 620 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
4461void main(void)
4462{ struct file *var_group1 ;
4463 char const *var_sch311x_wdt_write_10_p1 ;
4464 size_t var_sch311x_wdt_write_10_p2 ;
4465 loff_t *var_sch311x_wdt_write_10_p3 ;
4466 ssize_t res_sch311x_wdt_write_10 ;
4467 unsigned int var_sch311x_wdt_ioctl_11_p1 ;
4468 unsigned long var_sch311x_wdt_ioctl_11_p2 ;
4469 struct inode *var_group2 ;
4470 int res_sch311x_wdt_open_12 ;
4471 struct platform_device *var_group3 ;
4472 int res_sch311x_wdt_probe_14 ;
4473 int ldv_s_sch311x_wdt_fops_file_operations ;
4474 int ldv_s_sch311x_wdt_driver_platform_driver ;
4475 int tmp ;
4476 int tmp___0 ;
4477 int tmp___1 ;
4478 int __cil_tmp17 ;
4479
4480 {
4481 {
4482#line 757
4483 ldv_s_sch311x_wdt_fops_file_operations = 0;
4484#line 760
4485 ldv_s_sch311x_wdt_driver_platform_driver = 0;
4486#line 730
4487 LDV_IN_INTERRUPT = 1;
4488#line 739
4489 ldv_initialize();
4490#line 755
4491 tmp = sch311x_wdt_init();
4492 }
4493#line 755
4494 if (tmp != 0) {
4495#line 756
4496 goto ldv_final;
4497 } else {
4498
4499 }
4500#line 763
4501 goto ldv_19347;
4502 ldv_19346:
4503 {
4504#line 768
4505 tmp___0 = __VERIFIER_nondet_int();
4506 }
4507#line 770
4508 if (tmp___0 == 0) {
4509#line 770
4510 goto case_0;
4511 } else
4512#line 799
4513 if (tmp___0 == 1) {
4514#line 799
4515 goto case_1;
4516 } else
4517#line 828
4518 if (tmp___0 == 2) {
4519#line 828
4520 goto case_2;
4521 } else
4522#line 854
4523 if (tmp___0 == 3) {
4524#line 854
4525 goto case_3;
4526 } else
4527#line 880
4528 if (tmp___0 == 4) {
4529#line 880
4530 goto case_4;
4531 } else
4532#line 909
4533 if (tmp___0 == 5) {
4534#line 909
4535 goto case_5;
4536 } else {
4537 {
4538#line 935
4539 goto switch_default;
4540#line 768
4541 if (0) {
4542 case_0: ;
4543#line 773
4544 if (ldv_s_sch311x_wdt_fops_file_operations == 0) {
4545 {
4546#line 788
4547 res_sch311x_wdt_open_12 = sch311x_wdt_open(var_group2, var_group1);
4548#line 789
4549 ldv_check_return_value(res_sch311x_wdt_open_12);
4550 }
4551#line 790
4552 if (res_sch311x_wdt_open_12 != 0) {
4553#line 791
4554 goto ldv_module_exit;
4555 } else {
4556
4557 }
4558#line 792
4559 ldv_s_sch311x_wdt_fops_file_operations = ldv_s_sch311x_wdt_fops_file_operations + 1;
4560 } else {
4561
4562 }
4563#line 798
4564 goto ldv_19339;
4565 case_1: ;
4566#line 802
4567 if (ldv_s_sch311x_wdt_fops_file_operations == 1) {
4568 {
4569#line 817
4570 res_sch311x_wdt_write_10 = sch311x_wdt_write(var_group1, var_sch311x_wdt_write_10_p1,
4571 var_sch311x_wdt_write_10_p2,
4572 var_sch311x_wdt_write_10_p3);
4573#line 818
4574 __cil_tmp17 = (int )res_sch311x_wdt_write_10;
4575#line 818
4576 ldv_check_return_value(__cil_tmp17);
4577 }
4578#line 819
4579 if (res_sch311x_wdt_write_10 < 0L) {
4580#line 820
4581 goto ldv_module_exit;
4582 } else {
4583
4584 }
4585#line 821
4586 ldv_s_sch311x_wdt_fops_file_operations = ldv_s_sch311x_wdt_fops_file_operations + 1;
4587 } else {
4588
4589 }
4590#line 827
4591 goto ldv_19339;
4592 case_2: ;
4593#line 831
4594 if (ldv_s_sch311x_wdt_fops_file_operations == 2) {
4595 {
4596#line 846
4597 sch311x_wdt_close(var_group2, var_group1);
4598#line 847
4599 ldv_s_sch311x_wdt_fops_file_operations = 0;
4600 }
4601 } else {
4602
4603 }
4604#line 853
4605 goto ldv_19339;
4606 case_3:
4607 {
4608#line 872
4609 sch311x_wdt_ioctl(var_group1, var_sch311x_wdt_ioctl_11_p1, var_sch311x_wdt_ioctl_11_p2);
4610 }
4611#line 879
4612 goto ldv_19339;
4613 case_4: ;
4614#line 883
4615 if (ldv_s_sch311x_wdt_driver_platform_driver == 0) {
4616 {
4617#line 898
4618 res_sch311x_wdt_probe_14 = sch311x_wdt_probe(var_group3);
4619#line 899
4620 ldv_check_return_value(res_sch311x_wdt_probe_14);
4621 }
4622#line 900
4623 if (res_sch311x_wdt_probe_14 != 0) {
4624#line 901
4625 goto ldv_module_exit;
4626 } else {
4627
4628 }
4629#line 902
4630 ldv_s_sch311x_wdt_driver_platform_driver = ldv_s_sch311x_wdt_driver_platform_driver + 1;
4631 } else {
4632
4633 }
4634#line 908
4635 goto ldv_19339;
4636 case_5: ;
4637#line 912
4638 if (ldv_s_sch311x_wdt_driver_platform_driver == 1) {
4639 {
4640#line 927
4641 sch311x_wdt_shutdown(var_group3);
4642#line 928
4643 ldv_s_sch311x_wdt_driver_platform_driver = 0;
4644 }
4645 } else {
4646
4647 }
4648#line 934
4649 goto ldv_19339;
4650 switch_default: ;
4651#line 935
4652 goto ldv_19339;
4653 } else {
4654 switch_break: ;
4655 }
4656 }
4657 }
4658 ldv_19339: ;
4659 ldv_19347:
4660 {
4661#line 763
4662 tmp___1 = __VERIFIER_nondet_int();
4663 }
4664#line 763
4665 if (tmp___1 != 0) {
4666#line 766
4667 goto ldv_19346;
4668 } else
4669#line 763
4670 if (ldv_s_sch311x_wdt_fops_file_operations != 0) {
4671#line 766
4672 goto ldv_19346;
4673 } else
4674#line 763
4675 if (ldv_s_sch311x_wdt_driver_platform_driver != 0) {
4676#line 766
4677 goto ldv_19346;
4678 } else {
4679#line 768
4680 goto ldv_19348;
4681 }
4682 ldv_19348: ;
4683 ldv_module_exit:
4684 {
4685#line 957
4686 sch311x_wdt_exit();
4687 }
4688 ldv_final:
4689 {
4690#line 960
4691 ldv_check_final_state();
4692 }
4693#line 963
4694 return;
4695}
4696}
4697#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
4698void ldv_blast_assert(void)
4699{
4700
4701 {
4702 ERROR: ;
4703#line 6
4704 goto ERROR;
4705}
4706}
4707#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
4708extern int __VERIFIER_nondet_int(void) ;
4709#line 984 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
4710int ldv_spin = 0;
4711#line 988 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
4712void ldv_check_alloc_flags(gfp_t flags )
4713{
4714
4715 {
4716#line 991
4717 if (ldv_spin != 0) {
4718#line 991
4719 if (flags != 32U) {
4720 {
4721#line 991
4722 ldv_blast_assert();
4723 }
4724 } else {
4725
4726 }
4727 } else {
4728
4729 }
4730#line 994
4731 return;
4732}
4733}
4734#line 994
4735extern struct page *ldv_some_page(void) ;
4736#line 997 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
4737struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
4738{ struct page *tmp ;
4739
4740 {
4741#line 1000
4742 if (ldv_spin != 0) {
4743#line 1000
4744 if (flags != 32U) {
4745 {
4746#line 1000
4747 ldv_blast_assert();
4748 }
4749 } else {
4750
4751 }
4752 } else {
4753
4754 }
4755 {
4756#line 1002
4757 tmp = ldv_some_page();
4758 }
4759#line 1002
4760 return (tmp);
4761}
4762}
4763#line 1006 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
4764void ldv_check_alloc_nonatomic(void)
4765{
4766
4767 {
4768#line 1009
4769 if (ldv_spin != 0) {
4770 {
4771#line 1009
4772 ldv_blast_assert();
4773 }
4774 } else {
4775
4776 }
4777#line 1012
4778 return;
4779}
4780}
4781#line 1013 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
4782void ldv_spin_lock(void)
4783{
4784
4785 {
4786#line 1016
4787 ldv_spin = 1;
4788#line 1017
4789 return;
4790}
4791}
4792#line 1020 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
4793void ldv_spin_unlock(void)
4794{
4795
4796 {
4797#line 1023
4798 ldv_spin = 0;
4799#line 1024
4800 return;
4801}
4802}
4803#line 1027 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
4804int ldv_spin_trylock(void)
4805{ int is_lock ;
4806
4807 {
4808 {
4809#line 1032
4810 is_lock = __VERIFIER_nondet_int();
4811 }
4812#line 1034
4813 if (is_lock != 0) {
4814#line 1037
4815 return (0);
4816 } else {
4817#line 1042
4818 ldv_spin = 1;
4819#line 1044
4820 return (1);
4821 }
4822}
4823}
4824#line 1048 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
4825__inline static void spin_lock(spinlock_t *lock )
4826{
4827
4828 {
4829 {
4830#line 1053
4831 ldv_spin_lock();
4832#line 1055
4833 ldv_spin_lock_1(lock);
4834 }
4835#line 1056
4836 return;
4837}
4838}
4839#line 1090 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
4840__inline static void spin_unlock(spinlock_t *lock )
4841{
4842
4843 {
4844 {
4845#line 1095
4846 ldv_spin_unlock();
4847#line 1097
4848 ldv_spin_unlock_5(lock);
4849 }
4850#line 1098
4851 return;
4852}
4853}
4854#line 1211 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17362/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sch311x_wdt.c.p"
4855void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
4856{
4857
4858 {
4859 {
4860#line 1217
4861 ldv_check_alloc_flags(ldv_func_arg2);
4862#line 1219
4863 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
4864 }
4865#line 1220
4866 return ((void *)0);
4867}
4868}