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