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 46 "include/linux/dynamic_debug.h"
89struct device;
90#line 46
91struct device;
92#line 57
93struct completion;
94#line 57
95struct completion;
96#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
97struct page;
98#line 58
99struct page;
100#line 26 "include/asm-generic/getorder.h"
101struct task_struct;
102#line 26
103struct task_struct;
104#line 28
105struct mm_struct;
106#line 28
107struct mm_struct;
108#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
109typedef unsigned long pgdval_t;
110#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
111typedef unsigned long pgprotval_t;
112#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
113struct pgprot {
114 pgprotval_t pgprot ;
115};
116#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
117typedef struct pgprot pgprot_t;
118#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
119struct __anonstruct_pgd_t_16 {
120 pgdval_t pgd ;
121};
122#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
123typedef struct __anonstruct_pgd_t_16 pgd_t;
124#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
125typedef struct page *pgtable_t;
126#line 290
127struct file;
128#line 290
129struct file;
130#line 339
131struct cpumask;
132#line 339
133struct cpumask;
134#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
135struct arch_spinlock;
136#line 327
137struct arch_spinlock;
138#line 306 "include/linux/bitmap.h"
139struct bug_entry {
140 int bug_addr_disp ;
141 int file_disp ;
142 unsigned short line ;
143 unsigned short flags ;
144};
145#line 89 "include/linux/bug.h"
146struct cpumask {
147 unsigned long bits[64U] ;
148};
149#line 637 "include/linux/cpumask.h"
150typedef struct cpumask *cpumask_var_t;
151#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
152struct static_key;
153#line 234
154struct static_key;
155#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
156struct kmem_cache;
157#line 23 "include/asm-generic/atomic-long.h"
158typedef atomic64_t atomic_long_t;
159#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
160typedef u16 __ticket_t;
161#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
162typedef u32 __ticketpair_t;
163#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
164struct __raw_tickets {
165 __ticket_t head ;
166 __ticket_t tail ;
167};
168#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
169union __anonunion_ldv_5907_29 {
170 __ticketpair_t head_tail ;
171 struct __raw_tickets tickets ;
172};
173#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
174struct arch_spinlock {
175 union __anonunion_ldv_5907_29 ldv_5907 ;
176};
177#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
178typedef struct arch_spinlock arch_spinlock_t;
179#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
180struct lockdep_map;
181#line 34
182struct lockdep_map;
183#line 55 "include/linux/debug_locks.h"
184struct stack_trace {
185 unsigned int nr_entries ;
186 unsigned int max_entries ;
187 unsigned long *entries ;
188 int skip ;
189};
190#line 26 "include/linux/stacktrace.h"
191struct lockdep_subclass_key {
192 char __one_byte ;
193};
194#line 53 "include/linux/lockdep.h"
195struct lock_class_key {
196 struct lockdep_subclass_key subkeys[8U] ;
197};
198#line 59 "include/linux/lockdep.h"
199struct lock_class {
200 struct list_head hash_entry ;
201 struct list_head lock_entry ;
202 struct lockdep_subclass_key *key ;
203 unsigned int subclass ;
204 unsigned int dep_gen_id ;
205 unsigned long usage_mask ;
206 struct stack_trace usage_traces[13U] ;
207 struct list_head locks_after ;
208 struct list_head locks_before ;
209 unsigned int version ;
210 unsigned long ops ;
211 char const *name ;
212 int name_version ;
213 unsigned long contention_point[4U] ;
214 unsigned long contending_point[4U] ;
215};
216#line 144 "include/linux/lockdep.h"
217struct lockdep_map {
218 struct lock_class_key *key ;
219 struct lock_class *class_cache[2U] ;
220 char const *name ;
221 int cpu ;
222 unsigned long ip ;
223};
224#line 556 "include/linux/lockdep.h"
225struct raw_spinlock {
226 arch_spinlock_t raw_lock ;
227 unsigned int magic ;
228 unsigned int owner_cpu ;
229 void *owner ;
230 struct lockdep_map dep_map ;
231};
232#line 32 "include/linux/spinlock_types.h"
233typedef struct raw_spinlock raw_spinlock_t;
234#line 33 "include/linux/spinlock_types.h"
235struct __anonstruct_ldv_6122_33 {
236 u8 __padding[24U] ;
237 struct lockdep_map dep_map ;
238};
239#line 33 "include/linux/spinlock_types.h"
240union __anonunion_ldv_6123_32 {
241 struct raw_spinlock rlock ;
242 struct __anonstruct_ldv_6122_33 ldv_6122 ;
243};
244#line 33 "include/linux/spinlock_types.h"
245struct spinlock {
246 union __anonunion_ldv_6123_32 ldv_6123 ;
247};
248#line 76 "include/linux/spinlock_types.h"
249typedef struct spinlock spinlock_t;
250#line 48 "include/linux/wait.h"
251struct __wait_queue_head {
252 spinlock_t lock ;
253 struct list_head task_list ;
254};
255#line 53 "include/linux/wait.h"
256typedef struct __wait_queue_head wait_queue_head_t;
257#line 98 "include/linux/nodemask.h"
258struct __anonstruct_nodemask_t_36 {
259 unsigned long bits[16U] ;
260};
261#line 98 "include/linux/nodemask.h"
262typedef struct __anonstruct_nodemask_t_36 nodemask_t;
263#line 670 "include/linux/mmzone.h"
264struct mutex {
265 atomic_t count ;
266 spinlock_t wait_lock ;
267 struct list_head wait_list ;
268 struct task_struct *owner ;
269 char const *name ;
270 void *magic ;
271 struct lockdep_map dep_map ;
272};
273#line 171 "include/linux/mutex.h"
274struct rw_semaphore;
275#line 171
276struct rw_semaphore;
277#line 172 "include/linux/mutex.h"
278struct rw_semaphore {
279 long count ;
280 raw_spinlock_t wait_lock ;
281 struct list_head wait_list ;
282 struct lockdep_map dep_map ;
283};
284#line 128 "include/linux/rwsem.h"
285struct completion {
286 unsigned int done ;
287 wait_queue_head_t wait ;
288};
289#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
290struct resource {
291 resource_size_t start ;
292 resource_size_t end ;
293 char const *name ;
294 unsigned long flags ;
295 struct resource *parent ;
296 struct resource *sibling ;
297 struct resource *child ;
298};
299#line 312 "include/linux/jiffies.h"
300union ktime {
301 s64 tv64 ;
302};
303#line 59 "include/linux/ktime.h"
304typedef union ktime ktime_t;
305#line 341
306struct tvec_base;
307#line 341
308struct tvec_base;
309#line 342 "include/linux/ktime.h"
310struct timer_list {
311 struct list_head entry ;
312 unsigned long expires ;
313 struct tvec_base *base ;
314 void (*function)(unsigned long ) ;
315 unsigned long data ;
316 int slack ;
317 int start_pid ;
318 void *start_site ;
319 char start_comm[16U] ;
320 struct lockdep_map lockdep_map ;
321};
322#line 302 "include/linux/timer.h"
323struct work_struct;
324#line 302
325struct work_struct;
326#line 45 "include/linux/workqueue.h"
327struct work_struct {
328 atomic_long_t data ;
329 struct list_head entry ;
330 void (*func)(struct work_struct * ) ;
331 struct lockdep_map lockdep_map ;
332};
333#line 46 "include/linux/pm.h"
334struct pm_message {
335 int event ;
336};
337#line 52 "include/linux/pm.h"
338typedef struct pm_message pm_message_t;
339#line 53 "include/linux/pm.h"
340struct dev_pm_ops {
341 int (*prepare)(struct device * ) ;
342 void (*complete)(struct device * ) ;
343 int (*suspend)(struct device * ) ;
344 int (*resume)(struct device * ) ;
345 int (*freeze)(struct device * ) ;
346 int (*thaw)(struct device * ) ;
347 int (*poweroff)(struct device * ) ;
348 int (*restore)(struct device * ) ;
349 int (*suspend_late)(struct device * ) ;
350 int (*resume_early)(struct device * ) ;
351 int (*freeze_late)(struct device * ) ;
352 int (*thaw_early)(struct device * ) ;
353 int (*poweroff_late)(struct device * ) ;
354 int (*restore_early)(struct device * ) ;
355 int (*suspend_noirq)(struct device * ) ;
356 int (*resume_noirq)(struct device * ) ;
357 int (*freeze_noirq)(struct device * ) ;
358 int (*thaw_noirq)(struct device * ) ;
359 int (*poweroff_noirq)(struct device * ) ;
360 int (*restore_noirq)(struct device * ) ;
361 int (*runtime_suspend)(struct device * ) ;
362 int (*runtime_resume)(struct device * ) ;
363 int (*runtime_idle)(struct device * ) ;
364};
365#line 289
366enum rpm_status {
367 RPM_ACTIVE = 0,
368 RPM_RESUMING = 1,
369 RPM_SUSPENDED = 2,
370 RPM_SUSPENDING = 3
371} ;
372#line 296
373enum rpm_request {
374 RPM_REQ_NONE = 0,
375 RPM_REQ_IDLE = 1,
376 RPM_REQ_SUSPEND = 2,
377 RPM_REQ_AUTOSUSPEND = 3,
378 RPM_REQ_RESUME = 4
379} ;
380#line 304
381struct wakeup_source;
382#line 304
383struct wakeup_source;
384#line 494 "include/linux/pm.h"
385struct pm_subsys_data {
386 spinlock_t lock ;
387 unsigned int refcount ;
388};
389#line 499
390struct dev_pm_qos_request;
391#line 499
392struct pm_qos_constraints;
393#line 499 "include/linux/pm.h"
394struct dev_pm_info {
395 pm_message_t power_state ;
396 unsigned char can_wakeup : 1 ;
397 unsigned char async_suspend : 1 ;
398 bool is_prepared ;
399 bool is_suspended ;
400 bool ignore_children ;
401 spinlock_t lock ;
402 struct list_head entry ;
403 struct completion completion ;
404 struct wakeup_source *wakeup ;
405 bool wakeup_path ;
406 struct timer_list suspend_timer ;
407 unsigned long timer_expires ;
408 struct work_struct work ;
409 wait_queue_head_t wait_queue ;
410 atomic_t usage_count ;
411 atomic_t child_count ;
412 unsigned char disable_depth : 3 ;
413 unsigned char idle_notification : 1 ;
414 unsigned char request_pending : 1 ;
415 unsigned char deferred_resume : 1 ;
416 unsigned char run_wake : 1 ;
417 unsigned char runtime_auto : 1 ;
418 unsigned char no_callbacks : 1 ;
419 unsigned char irq_safe : 1 ;
420 unsigned char use_autosuspend : 1 ;
421 unsigned char timer_autosuspends : 1 ;
422 enum rpm_request request ;
423 enum rpm_status runtime_status ;
424 int runtime_error ;
425 int autosuspend_delay ;
426 unsigned long last_busy ;
427 unsigned long active_jiffies ;
428 unsigned long suspended_jiffies ;
429 unsigned long accounting_timestamp ;
430 ktime_t suspend_time ;
431 s64 max_time_suspended_ns ;
432 struct dev_pm_qos_request *pq_req ;
433 struct pm_subsys_data *subsys_data ;
434 struct pm_qos_constraints *constraints ;
435};
436#line 558 "include/linux/pm.h"
437struct dev_pm_domain {
438 struct dev_pm_ops ops ;
439};
440#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
441struct __anonstruct_mm_context_t_101 {
442 void *ldt ;
443 int size ;
444 unsigned short ia32_compat ;
445 struct mutex lock ;
446 void *vdso ;
447};
448#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
449typedef struct __anonstruct_mm_context_t_101 mm_context_t;
450#line 18 "include/asm-generic/pci_iomap.h"
451struct vm_area_struct;
452#line 18
453struct vm_area_struct;
454#line 835 "include/linux/sysctl.h"
455struct rb_node {
456 unsigned long rb_parent_color ;
457 struct rb_node *rb_right ;
458 struct rb_node *rb_left ;
459};
460#line 108 "include/linux/rbtree.h"
461struct rb_root {
462 struct rb_node *rb_node ;
463};
464#line 18 "include/linux/elf.h"
465typedef __u64 Elf64_Addr;
466#line 19 "include/linux/elf.h"
467typedef __u16 Elf64_Half;
468#line 23 "include/linux/elf.h"
469typedef __u32 Elf64_Word;
470#line 24 "include/linux/elf.h"
471typedef __u64 Elf64_Xword;
472#line 193 "include/linux/elf.h"
473struct elf64_sym {
474 Elf64_Word st_name ;
475 unsigned char st_info ;
476 unsigned char st_other ;
477 Elf64_Half st_shndx ;
478 Elf64_Addr st_value ;
479 Elf64_Xword st_size ;
480};
481#line 201 "include/linux/elf.h"
482typedef struct elf64_sym Elf64_Sym;
483#line 445
484struct sock;
485#line 445
486struct sock;
487#line 446
488struct kobject;
489#line 446
490struct kobject;
491#line 447
492enum kobj_ns_type {
493 KOBJ_NS_TYPE_NONE = 0,
494 KOBJ_NS_TYPE_NET = 1,
495 KOBJ_NS_TYPES = 2
496} ;
497#line 453 "include/linux/elf.h"
498struct kobj_ns_type_operations {
499 enum kobj_ns_type type ;
500 void *(*grab_current_ns)(void) ;
501 void const *(*netlink_ns)(struct sock * ) ;
502 void const *(*initial_ns)(void) ;
503 void (*drop_ns)(void * ) ;
504};
505#line 57 "include/linux/kobject_ns.h"
506struct attribute {
507 char const *name ;
508 umode_t mode ;
509 struct lock_class_key *key ;
510 struct lock_class_key skey ;
511};
512#line 33 "include/linux/sysfs.h"
513struct attribute_group {
514 char const *name ;
515 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
516 struct attribute **attrs ;
517};
518#line 62 "include/linux/sysfs.h"
519struct bin_attribute {
520 struct attribute attr ;
521 size_t size ;
522 void *private ;
523 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
524 loff_t , size_t ) ;
525 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
526 loff_t , size_t ) ;
527 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
528};
529#line 98 "include/linux/sysfs.h"
530struct sysfs_ops {
531 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
532 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
533 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
534};
535#line 117
536struct sysfs_dirent;
537#line 117
538struct sysfs_dirent;
539#line 182 "include/linux/sysfs.h"
540struct kref {
541 atomic_t refcount ;
542};
543#line 49 "include/linux/kobject.h"
544struct kset;
545#line 49
546struct kobj_type;
547#line 49 "include/linux/kobject.h"
548struct kobject {
549 char const *name ;
550 struct list_head entry ;
551 struct kobject *parent ;
552 struct kset *kset ;
553 struct kobj_type *ktype ;
554 struct sysfs_dirent *sd ;
555 struct kref kref ;
556 unsigned char state_initialized : 1 ;
557 unsigned char state_in_sysfs : 1 ;
558 unsigned char state_add_uevent_sent : 1 ;
559 unsigned char state_remove_uevent_sent : 1 ;
560 unsigned char uevent_suppress : 1 ;
561};
562#line 107 "include/linux/kobject.h"
563struct kobj_type {
564 void (*release)(struct kobject * ) ;
565 struct sysfs_ops const *sysfs_ops ;
566 struct attribute **default_attrs ;
567 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
568 void const *(*namespace)(struct kobject * ) ;
569};
570#line 115 "include/linux/kobject.h"
571struct kobj_uevent_env {
572 char *envp[32U] ;
573 int envp_idx ;
574 char buf[2048U] ;
575 int buflen ;
576};
577#line 122 "include/linux/kobject.h"
578struct kset_uevent_ops {
579 int (* const filter)(struct kset * , struct kobject * ) ;
580 char const *(* const name)(struct kset * , struct kobject * ) ;
581 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
582};
583#line 139 "include/linux/kobject.h"
584struct kset {
585 struct list_head list ;
586 spinlock_t list_lock ;
587 struct kobject kobj ;
588 struct kset_uevent_ops const *uevent_ops ;
589};
590#line 215
591struct kernel_param;
592#line 215
593struct kernel_param;
594#line 216 "include/linux/kobject.h"
595struct kernel_param_ops {
596 int (*set)(char const * , struct kernel_param const * ) ;
597 int (*get)(char * , struct kernel_param const * ) ;
598 void (*free)(void * ) ;
599};
600#line 49 "include/linux/moduleparam.h"
601struct kparam_string;
602#line 49
603struct kparam_array;
604#line 49 "include/linux/moduleparam.h"
605union __anonunion_ldv_13363_134 {
606 void *arg ;
607 struct kparam_string const *str ;
608 struct kparam_array const *arr ;
609};
610#line 49 "include/linux/moduleparam.h"
611struct kernel_param {
612 char const *name ;
613 struct kernel_param_ops const *ops ;
614 u16 perm ;
615 s16 level ;
616 union __anonunion_ldv_13363_134 ldv_13363 ;
617};
618#line 61 "include/linux/moduleparam.h"
619struct kparam_string {
620 unsigned int maxlen ;
621 char *string ;
622};
623#line 67 "include/linux/moduleparam.h"
624struct kparam_array {
625 unsigned int max ;
626 unsigned int elemsize ;
627 unsigned int *num ;
628 struct kernel_param_ops const *ops ;
629 void *elem ;
630};
631#line 458 "include/linux/moduleparam.h"
632struct static_key {
633 atomic_t enabled ;
634};
635#line 225 "include/linux/jump_label.h"
636struct tracepoint;
637#line 225
638struct tracepoint;
639#line 226 "include/linux/jump_label.h"
640struct tracepoint_func {
641 void *func ;
642 void *data ;
643};
644#line 29 "include/linux/tracepoint.h"
645struct tracepoint {
646 char const *name ;
647 struct static_key key ;
648 void (*regfunc)(void) ;
649 void (*unregfunc)(void) ;
650 struct tracepoint_func *funcs ;
651};
652#line 86 "include/linux/tracepoint.h"
653struct kernel_symbol {
654 unsigned long value ;
655 char const *name ;
656};
657#line 27 "include/linux/export.h"
658struct mod_arch_specific {
659
660};
661#line 34 "include/linux/module.h"
662struct module_param_attrs;
663#line 34 "include/linux/module.h"
664struct module_kobject {
665 struct kobject kobj ;
666 struct module *mod ;
667 struct kobject *drivers_dir ;
668 struct module_param_attrs *mp ;
669};
670#line 43 "include/linux/module.h"
671struct module_attribute {
672 struct attribute attr ;
673 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
674 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
675 size_t ) ;
676 void (*setup)(struct module * , char const * ) ;
677 int (*test)(struct module * ) ;
678 void (*free)(struct module * ) ;
679};
680#line 69
681struct exception_table_entry;
682#line 69
683struct exception_table_entry;
684#line 198
685enum module_state {
686 MODULE_STATE_LIVE = 0,
687 MODULE_STATE_COMING = 1,
688 MODULE_STATE_GOING = 2
689} ;
690#line 204 "include/linux/module.h"
691struct module_ref {
692 unsigned long incs ;
693 unsigned long decs ;
694};
695#line 219
696struct module_sect_attrs;
697#line 219
698struct module_notes_attrs;
699#line 219
700struct ftrace_event_call;
701#line 219 "include/linux/module.h"
702struct module {
703 enum module_state state ;
704 struct list_head list ;
705 char name[56U] ;
706 struct module_kobject mkobj ;
707 struct module_attribute *modinfo_attrs ;
708 char const *version ;
709 char const *srcversion ;
710 struct kobject *holders_dir ;
711 struct kernel_symbol const *syms ;
712 unsigned long const *crcs ;
713 unsigned int num_syms ;
714 struct kernel_param *kp ;
715 unsigned int num_kp ;
716 unsigned int num_gpl_syms ;
717 struct kernel_symbol const *gpl_syms ;
718 unsigned long const *gpl_crcs ;
719 struct kernel_symbol const *unused_syms ;
720 unsigned long const *unused_crcs ;
721 unsigned int num_unused_syms ;
722 unsigned int num_unused_gpl_syms ;
723 struct kernel_symbol const *unused_gpl_syms ;
724 unsigned long const *unused_gpl_crcs ;
725 struct kernel_symbol const *gpl_future_syms ;
726 unsigned long const *gpl_future_crcs ;
727 unsigned int num_gpl_future_syms ;
728 unsigned int num_exentries ;
729 struct exception_table_entry *extable ;
730 int (*init)(void) ;
731 void *module_init ;
732 void *module_core ;
733 unsigned int init_size ;
734 unsigned int core_size ;
735 unsigned int init_text_size ;
736 unsigned int core_text_size ;
737 unsigned int init_ro_size ;
738 unsigned int core_ro_size ;
739 struct mod_arch_specific arch ;
740 unsigned int taints ;
741 unsigned int num_bugs ;
742 struct list_head bug_list ;
743 struct bug_entry *bug_table ;
744 Elf64_Sym *symtab ;
745 Elf64_Sym *core_symtab ;
746 unsigned int num_symtab ;
747 unsigned int core_num_syms ;
748 char *strtab ;
749 char *core_strtab ;
750 struct module_sect_attrs *sect_attrs ;
751 struct module_notes_attrs *notes_attrs ;
752 char *args ;
753 void *percpu ;
754 unsigned int percpu_size ;
755 unsigned int num_tracepoints ;
756 struct tracepoint * const *tracepoints_ptrs ;
757 unsigned int num_trace_bprintk_fmt ;
758 char const **trace_bprintk_fmt_start ;
759 struct ftrace_event_call **trace_events ;
760 unsigned int num_trace_events ;
761 struct list_head source_list ;
762 struct list_head target_list ;
763 struct task_struct *waiter ;
764 void (*exit)(void) ;
765 struct module_ref *refptr ;
766 ctor_fn_t (**ctors)(void) ;
767 unsigned int num_ctors ;
768};
769#line 88 "include/linux/kmemleak.h"
770struct kmem_cache_cpu {
771 void **freelist ;
772 unsigned long tid ;
773 struct page *page ;
774 struct page *partial ;
775 int node ;
776 unsigned int stat[26U] ;
777};
778#line 55 "include/linux/slub_def.h"
779struct kmem_cache_node {
780 spinlock_t list_lock ;
781 unsigned long nr_partial ;
782 struct list_head partial ;
783 atomic_long_t nr_slabs ;
784 atomic_long_t total_objects ;
785 struct list_head full ;
786};
787#line 66 "include/linux/slub_def.h"
788struct kmem_cache_order_objects {
789 unsigned long x ;
790};
791#line 76 "include/linux/slub_def.h"
792struct kmem_cache {
793 struct kmem_cache_cpu *cpu_slab ;
794 unsigned long flags ;
795 unsigned long min_partial ;
796 int size ;
797 int objsize ;
798 int offset ;
799 int cpu_partial ;
800 struct kmem_cache_order_objects oo ;
801 struct kmem_cache_order_objects max ;
802 struct kmem_cache_order_objects min ;
803 gfp_t allocflags ;
804 int refcount ;
805 void (*ctor)(void * ) ;
806 int inuse ;
807 int align ;
808 int reserved ;
809 char const *name ;
810 struct list_head list ;
811 struct kobject kobj ;
812 int remote_node_defrag_ratio ;
813 struct kmem_cache_node *node[1024U] ;
814};
815#line 54 "include/linux/delay.h"
816struct prio_tree_node;
817#line 54 "include/linux/delay.h"
818struct raw_prio_tree_node {
819 struct prio_tree_node *left ;
820 struct prio_tree_node *right ;
821 struct prio_tree_node *parent ;
822};
823#line 19 "include/linux/prio_tree.h"
824struct prio_tree_node {
825 struct prio_tree_node *left ;
826 struct prio_tree_node *right ;
827 struct prio_tree_node *parent ;
828 unsigned long start ;
829 unsigned long last ;
830};
831#line 116
832struct address_space;
833#line 116
834struct address_space;
835#line 117 "include/linux/prio_tree.h"
836union __anonunion_ldv_14287_136 {
837 unsigned long index ;
838 void *freelist ;
839};
840#line 117 "include/linux/prio_tree.h"
841struct __anonstruct_ldv_14297_140 {
842 unsigned short inuse ;
843 unsigned short objects : 15 ;
844 unsigned char frozen : 1 ;
845};
846#line 117 "include/linux/prio_tree.h"
847union __anonunion_ldv_14298_139 {
848 atomic_t _mapcount ;
849 struct __anonstruct_ldv_14297_140 ldv_14297 ;
850};
851#line 117 "include/linux/prio_tree.h"
852struct __anonstruct_ldv_14300_138 {
853 union __anonunion_ldv_14298_139 ldv_14298 ;
854 atomic_t _count ;
855};
856#line 117 "include/linux/prio_tree.h"
857union __anonunion_ldv_14301_137 {
858 unsigned long counters ;
859 struct __anonstruct_ldv_14300_138 ldv_14300 ;
860};
861#line 117 "include/linux/prio_tree.h"
862struct __anonstruct_ldv_14302_135 {
863 union __anonunion_ldv_14287_136 ldv_14287 ;
864 union __anonunion_ldv_14301_137 ldv_14301 ;
865};
866#line 117 "include/linux/prio_tree.h"
867struct __anonstruct_ldv_14309_142 {
868 struct page *next ;
869 int pages ;
870 int pobjects ;
871};
872#line 117 "include/linux/prio_tree.h"
873union __anonunion_ldv_14310_141 {
874 struct list_head lru ;
875 struct __anonstruct_ldv_14309_142 ldv_14309 ;
876};
877#line 117 "include/linux/prio_tree.h"
878union __anonunion_ldv_14315_143 {
879 unsigned long private ;
880 struct kmem_cache *slab ;
881 struct page *first_page ;
882};
883#line 117 "include/linux/prio_tree.h"
884struct page {
885 unsigned long flags ;
886 struct address_space *mapping ;
887 struct __anonstruct_ldv_14302_135 ldv_14302 ;
888 union __anonunion_ldv_14310_141 ldv_14310 ;
889 union __anonunion_ldv_14315_143 ldv_14315 ;
890 unsigned long debug_flags ;
891};
892#line 192 "include/linux/mm_types.h"
893struct __anonstruct_vm_set_145 {
894 struct list_head list ;
895 void *parent ;
896 struct vm_area_struct *head ;
897};
898#line 192 "include/linux/mm_types.h"
899union __anonunion_shared_144 {
900 struct __anonstruct_vm_set_145 vm_set ;
901 struct raw_prio_tree_node prio_tree_node ;
902};
903#line 192
904struct anon_vma;
905#line 192
906struct vm_operations_struct;
907#line 192
908struct mempolicy;
909#line 192 "include/linux/mm_types.h"
910struct vm_area_struct {
911 struct mm_struct *vm_mm ;
912 unsigned long vm_start ;
913 unsigned long vm_end ;
914 struct vm_area_struct *vm_next ;
915 struct vm_area_struct *vm_prev ;
916 pgprot_t vm_page_prot ;
917 unsigned long vm_flags ;
918 struct rb_node vm_rb ;
919 union __anonunion_shared_144 shared ;
920 struct list_head anon_vma_chain ;
921 struct anon_vma *anon_vma ;
922 struct vm_operations_struct const *vm_ops ;
923 unsigned long vm_pgoff ;
924 struct file *vm_file ;
925 void *vm_private_data ;
926 struct mempolicy *vm_policy ;
927};
928#line 255 "include/linux/mm_types.h"
929struct core_thread {
930 struct task_struct *task ;
931 struct core_thread *next ;
932};
933#line 261 "include/linux/mm_types.h"
934struct core_state {
935 atomic_t nr_threads ;
936 struct core_thread dumper ;
937 struct completion startup ;
938};
939#line 274 "include/linux/mm_types.h"
940struct mm_rss_stat {
941 atomic_long_t count[3U] ;
942};
943#line 287
944struct linux_binfmt;
945#line 287
946struct mmu_notifier_mm;
947#line 287 "include/linux/mm_types.h"
948struct mm_struct {
949 struct vm_area_struct *mmap ;
950 struct rb_root mm_rb ;
951 struct vm_area_struct *mmap_cache ;
952 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
953 unsigned long , unsigned long ) ;
954 void (*unmap_area)(struct mm_struct * , unsigned long ) ;
955 unsigned long mmap_base ;
956 unsigned long task_size ;
957 unsigned long cached_hole_size ;
958 unsigned long free_area_cache ;
959 pgd_t *pgd ;
960 atomic_t mm_users ;
961 atomic_t mm_count ;
962 int map_count ;
963 spinlock_t page_table_lock ;
964 struct rw_semaphore mmap_sem ;
965 struct list_head mmlist ;
966 unsigned long hiwater_rss ;
967 unsigned long hiwater_vm ;
968 unsigned long total_vm ;
969 unsigned long locked_vm ;
970 unsigned long pinned_vm ;
971 unsigned long shared_vm ;
972 unsigned long exec_vm ;
973 unsigned long stack_vm ;
974 unsigned long reserved_vm ;
975 unsigned long def_flags ;
976 unsigned long nr_ptes ;
977 unsigned long start_code ;
978 unsigned long end_code ;
979 unsigned long start_data ;
980 unsigned long end_data ;
981 unsigned long start_brk ;
982 unsigned long brk ;
983 unsigned long start_stack ;
984 unsigned long arg_start ;
985 unsigned long arg_end ;
986 unsigned long env_start ;
987 unsigned long env_end ;
988 unsigned long saved_auxv[44U] ;
989 struct mm_rss_stat rss_stat ;
990 struct linux_binfmt *binfmt ;
991 cpumask_var_t cpu_vm_mask_var ;
992 mm_context_t context ;
993 unsigned int faultstamp ;
994 unsigned int token_priority ;
995 unsigned int last_interval ;
996 unsigned long flags ;
997 struct core_state *core_state ;
998 spinlock_t ioctx_lock ;
999 struct hlist_head ioctx_list ;
1000 struct task_struct *owner ;
1001 struct file *exe_file ;
1002 unsigned long num_exe_file_vmas ;
1003 struct mmu_notifier_mm *mmu_notifier_mm ;
1004 pgtable_t pmd_huge_pte ;
1005 struct cpumask cpumask_allocation ;
1006};
1007#line 178 "include/linux/mm.h"
1008struct vm_fault {
1009 unsigned int flags ;
1010 unsigned long pgoff ;
1011 void *virtual_address ;
1012 struct page *page ;
1013};
1014#line 195 "include/linux/mm.h"
1015struct vm_operations_struct {
1016 void (*open)(struct vm_area_struct * ) ;
1017 void (*close)(struct vm_area_struct * ) ;
1018 int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
1019 int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
1020 int (*access)(struct vm_area_struct * , unsigned long , void * , int , int ) ;
1021 int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
1022 struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long ) ;
1023 int (*migrate)(struct vm_area_struct * , nodemask_t const * , nodemask_t const * ,
1024 unsigned long ) ;
1025};
1026#line 1631
1027struct klist_node;
1028#line 1631
1029struct klist_node;
1030#line 37 "include/linux/klist.h"
1031struct klist_node {
1032 void *n_klist ;
1033 struct list_head n_node ;
1034 struct kref n_ref ;
1035};
1036#line 67
1037struct dma_map_ops;
1038#line 67 "include/linux/klist.h"
1039struct dev_archdata {
1040 void *acpi_handle ;
1041 struct dma_map_ops *dma_ops ;
1042 void *iommu ;
1043};
1044#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1045struct device_private;
1046#line 17
1047struct device_private;
1048#line 18
1049struct device_driver;
1050#line 18
1051struct device_driver;
1052#line 19
1053struct driver_private;
1054#line 19
1055struct driver_private;
1056#line 20
1057struct class;
1058#line 20
1059struct class;
1060#line 21
1061struct subsys_private;
1062#line 21
1063struct subsys_private;
1064#line 22
1065struct bus_type;
1066#line 22
1067struct bus_type;
1068#line 23
1069struct device_node;
1070#line 23
1071struct device_node;
1072#line 24
1073struct iommu_ops;
1074#line 24
1075struct iommu_ops;
1076#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1077struct bus_attribute {
1078 struct attribute attr ;
1079 ssize_t (*show)(struct bus_type * , char * ) ;
1080 ssize_t (*store)(struct bus_type * , char const * , size_t ) ;
1081};
1082#line 51 "include/linux/device.h"
1083struct device_attribute;
1084#line 51
1085struct driver_attribute;
1086#line 51 "include/linux/device.h"
1087struct bus_type {
1088 char const *name ;
1089 char const *dev_name ;
1090 struct device *dev_root ;
1091 struct bus_attribute *bus_attrs ;
1092 struct device_attribute *dev_attrs ;
1093 struct driver_attribute *drv_attrs ;
1094 int (*match)(struct device * , struct device_driver * ) ;
1095 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1096 int (*probe)(struct device * ) ;
1097 int (*remove)(struct device * ) ;
1098 void (*shutdown)(struct device * ) ;
1099 int (*suspend)(struct device * , pm_message_t ) ;
1100 int (*resume)(struct device * ) ;
1101 struct dev_pm_ops const *pm ;
1102 struct iommu_ops *iommu_ops ;
1103 struct subsys_private *p ;
1104};
1105#line 125
1106struct device_type;
1107#line 182
1108struct of_device_id;
1109#line 182 "include/linux/device.h"
1110struct device_driver {
1111 char const *name ;
1112 struct bus_type *bus ;
1113 struct module *owner ;
1114 char const *mod_name ;
1115 bool suppress_bind_attrs ;
1116 struct of_device_id const *of_match_table ;
1117 int (*probe)(struct device * ) ;
1118 int (*remove)(struct device * ) ;
1119 void (*shutdown)(struct device * ) ;
1120 int (*suspend)(struct device * , pm_message_t ) ;
1121 int (*resume)(struct device * ) ;
1122 struct attribute_group const **groups ;
1123 struct dev_pm_ops const *pm ;
1124 struct driver_private *p ;
1125};
1126#line 245 "include/linux/device.h"
1127struct driver_attribute {
1128 struct attribute attr ;
1129 ssize_t (*show)(struct device_driver * , char * ) ;
1130 ssize_t (*store)(struct device_driver * , char const * , size_t ) ;
1131};
1132#line 299
1133struct class_attribute;
1134#line 299 "include/linux/device.h"
1135struct class {
1136 char const *name ;
1137 struct module *owner ;
1138 struct class_attribute *class_attrs ;
1139 struct device_attribute *dev_attrs ;
1140 struct bin_attribute *dev_bin_attrs ;
1141 struct kobject *dev_kobj ;
1142 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1143 char *(*devnode)(struct device * , umode_t * ) ;
1144 void (*class_release)(struct class * ) ;
1145 void (*dev_release)(struct device * ) ;
1146 int (*suspend)(struct device * , pm_message_t ) ;
1147 int (*resume)(struct device * ) ;
1148 struct kobj_ns_type_operations const *ns_type ;
1149 void const *(*namespace)(struct device * ) ;
1150 struct dev_pm_ops const *pm ;
1151 struct subsys_private *p ;
1152};
1153#line 394 "include/linux/device.h"
1154struct class_attribute {
1155 struct attribute attr ;
1156 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1157 ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ;
1158 void const *(*namespace)(struct class * , struct class_attribute const * ) ;
1159};
1160#line 447 "include/linux/device.h"
1161struct device_type {
1162 char const *name ;
1163 struct attribute_group const **groups ;
1164 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1165 char *(*devnode)(struct device * , umode_t * ) ;
1166 void (*release)(struct device * ) ;
1167 struct dev_pm_ops const *pm ;
1168};
1169#line 474 "include/linux/device.h"
1170struct device_attribute {
1171 struct attribute attr ;
1172 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1173 ssize_t (*store)(struct device * , struct device_attribute * , char const * ,
1174 size_t ) ;
1175};
1176#line 557 "include/linux/device.h"
1177struct device_dma_parameters {
1178 unsigned int max_segment_size ;
1179 unsigned long segment_boundary_mask ;
1180};
1181#line 567
1182struct dma_coherent_mem;
1183#line 567 "include/linux/device.h"
1184struct device {
1185 struct device *parent ;
1186 struct device_private *p ;
1187 struct kobject kobj ;
1188 char const *init_name ;
1189 struct device_type const *type ;
1190 struct mutex mutex ;
1191 struct bus_type *bus ;
1192 struct device_driver *driver ;
1193 void *platform_data ;
1194 struct dev_pm_info power ;
1195 struct dev_pm_domain *pm_domain ;
1196 int numa_node ;
1197 u64 *dma_mask ;
1198 u64 coherent_dma_mask ;
1199 struct device_dma_parameters *dma_parms ;
1200 struct list_head dma_pools ;
1201 struct dma_coherent_mem *dma_mem ;
1202 struct dev_archdata archdata ;
1203 struct device_node *of_node ;
1204 dev_t devt ;
1205 u32 id ;
1206 spinlock_t devres_lock ;
1207 struct list_head devres_head ;
1208 struct klist_node knode_class ;
1209 struct class *class ;
1210 struct attribute_group const **groups ;
1211 void (*release)(struct device * ) ;
1212};
1213#line 681 "include/linux/device.h"
1214struct wakeup_source {
1215 char const *name ;
1216 struct list_head entry ;
1217 spinlock_t lock ;
1218 struct timer_list timer ;
1219 unsigned long timer_expires ;
1220 ktime_t total_time ;
1221 ktime_t max_time ;
1222 ktime_t last_time ;
1223 unsigned long event_count ;
1224 unsigned long active_count ;
1225 unsigned long relax_count ;
1226 unsigned long hit_count ;
1227 unsigned char active : 1 ;
1228};
1229#line 999 "include/linux/device.h"
1230struct dma_attrs {
1231 unsigned long flags[1U] ;
1232};
1233#line 67 "include/linux/dma-attrs.h"
1234enum dma_data_direction {
1235 DMA_BIDIRECTIONAL = 0,
1236 DMA_TO_DEVICE = 1,
1237 DMA_FROM_DEVICE = 2,
1238 DMA_NONE = 3
1239} ;
1240#line 74 "include/linux/dma-attrs.h"
1241struct scatterlist {
1242 unsigned long sg_magic ;
1243 unsigned long page_link ;
1244 unsigned int offset ;
1245 unsigned int length ;
1246 dma_addr_t dma_address ;
1247 unsigned int dma_length ;
1248};
1249#line 268 "include/linux/scatterlist.h"
1250struct dma_map_ops {
1251 void *(*alloc)(struct device * , size_t , dma_addr_t * , gfp_t , struct dma_attrs * ) ;
1252 void (*free)(struct device * , size_t , void * , dma_addr_t , struct dma_attrs * ) ;
1253 int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t ,
1254 size_t , struct dma_attrs * ) ;
1255 dma_addr_t (*map_page)(struct device * , struct page * , unsigned long , size_t ,
1256 enum dma_data_direction , struct dma_attrs * ) ;
1257 void (*unmap_page)(struct device * , dma_addr_t , size_t , enum dma_data_direction ,
1258 struct dma_attrs * ) ;
1259 int (*map_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction ,
1260 struct dma_attrs * ) ;
1261 void (*unmap_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction ,
1262 struct dma_attrs * ) ;
1263 void (*sync_single_for_cpu)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
1264 void (*sync_single_for_device)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
1265 void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ;
1266 void (*sync_sg_for_device)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ;
1267 int (*mapping_error)(struct device * , dma_addr_t ) ;
1268 int (*dma_supported)(struct device * , u64 ) ;
1269 int (*set_dma_mask)(struct device * , u64 ) ;
1270 int is_phys ;
1271};
1272#line 202 "include/linux/dma-mapping.h"
1273struct exception_table_entry {
1274 unsigned long insn ;
1275 unsigned long fixup ;
1276};
1277#line 334 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedi.h"
1278struct comedi_insn {
1279 unsigned int insn ;
1280 unsigned int n ;
1281 unsigned int *data ;
1282 unsigned int subdev ;
1283 unsigned int chanspec ;
1284 unsigned int unused[3U] ;
1285};
1286#line 348 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedi.h"
1287struct comedi_cmd {
1288 unsigned int subdev ;
1289 unsigned int flags ;
1290 unsigned int start_src ;
1291 unsigned int start_arg ;
1292 unsigned int scan_begin_src ;
1293 unsigned int scan_begin_arg ;
1294 unsigned int convert_src ;
1295 unsigned int convert_arg ;
1296 unsigned int scan_end_src ;
1297 unsigned int scan_end_arg ;
1298 unsigned int stop_src ;
1299 unsigned int stop_arg ;
1300 unsigned int *chanlist ;
1301 unsigned int chanlist_len ;
1302 short *data ;
1303 unsigned int data_len ;
1304};
1305#line 387 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedi.h"
1306struct comedi_krange {
1307 int min ;
1308 int max ;
1309 unsigned int flags ;
1310};
1311#line 418 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedi.h"
1312struct comedi_devconfig {
1313 char board_name[20U] ;
1314 int options[32U] ;
1315};
1316#line 892
1317struct comedi_device;
1318#line 892
1319struct comedi_async;
1320#line 892
1321struct comedi_lrange;
1322#line 892 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedi.h"
1323struct comedi_subdevice {
1324 struct comedi_device *device ;
1325 int type ;
1326 int n_chan ;
1327 int subdev_flags ;
1328 int len_chanlist ;
1329 void *private ;
1330 struct comedi_async *async ;
1331 void *lock ;
1332 void *busy ;
1333 unsigned int runflags ;
1334 spinlock_t spin_lock ;
1335 int io_bits ;
1336 unsigned int maxdata ;
1337 unsigned int const *maxdata_list ;
1338 unsigned int flags ;
1339 unsigned int const *flaglist ;
1340 unsigned int settling_time_0 ;
1341 struct comedi_lrange const *range_table ;
1342 struct comedi_lrange const * const *range_table_list ;
1343 unsigned int *chanlist ;
1344 int (*insn_read)(struct comedi_device * , struct comedi_subdevice * , struct comedi_insn * ,
1345 unsigned int * ) ;
1346 int (*insn_write)(struct comedi_device * , struct comedi_subdevice * , struct comedi_insn * ,
1347 unsigned int * ) ;
1348 int (*insn_bits)(struct comedi_device * , struct comedi_subdevice * , struct comedi_insn * ,
1349 unsigned int * ) ;
1350 int (*insn_config)(struct comedi_device * , struct comedi_subdevice * , struct comedi_insn * ,
1351 unsigned int * ) ;
1352 int (*do_cmd)(struct comedi_device * , struct comedi_subdevice * ) ;
1353 int (*do_cmdtest)(struct comedi_device * , struct comedi_subdevice * , struct comedi_cmd * ) ;
1354 int (*poll)(struct comedi_device * , struct comedi_subdevice * ) ;
1355 int (*cancel)(struct comedi_device * , struct comedi_subdevice * ) ;
1356 int (*buf_change)(struct comedi_device * , struct comedi_subdevice * , unsigned long ) ;
1357 void (*munge)(struct comedi_device * , struct comedi_subdevice * , void * , unsigned int ,
1358 unsigned int ) ;
1359 enum dma_data_direction async_dma_dir ;
1360 unsigned int state ;
1361 struct device *class_dev ;
1362 int minor ;
1363};
1364#line 127 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedidev.h"
1365struct comedi_buf_page {
1366 void *virt_addr ;
1367 dma_addr_t dma_addr ;
1368};
1369#line 132 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedidev.h"
1370struct comedi_async {
1371 struct comedi_subdevice *subdevice ;
1372 void *prealloc_buf ;
1373 unsigned int prealloc_bufsz ;
1374 struct comedi_buf_page *buf_page_list ;
1375 unsigned int n_buf_pages ;
1376 unsigned int max_bufsize ;
1377 unsigned int mmap_count ;
1378 unsigned int buf_write_count ;
1379 unsigned int buf_write_alloc_count ;
1380 unsigned int buf_read_count ;
1381 unsigned int buf_read_alloc_count ;
1382 unsigned int buf_write_ptr ;
1383 unsigned int buf_read_ptr ;
1384 unsigned int cur_chan ;
1385 unsigned int scan_progress ;
1386 unsigned int munge_chan ;
1387 unsigned int munge_count ;
1388 unsigned int munge_ptr ;
1389 unsigned int events ;
1390 struct comedi_cmd cmd ;
1391 wait_queue_head_t wait_head ;
1392 unsigned int cb_mask ;
1393 int (*cb_func)(unsigned int , void * ) ;
1394 void *cb_arg ;
1395 int (*inttrig)(struct comedi_device * , struct comedi_subdevice * , unsigned int ) ;
1396};
1397#line 181 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedidev.h"
1398struct comedi_driver {
1399 struct comedi_driver *next ;
1400 char const *driver_name ;
1401 struct module *module ;
1402 int (*attach)(struct comedi_device * , struct comedi_devconfig * ) ;
1403 int (*detach)(struct comedi_device * ) ;
1404 unsigned int num_names ;
1405 char const * const *board_name ;
1406 int offset ;
1407};
1408#line 197
1409struct fasync_struct;
1410#line 197 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedidev.h"
1411struct comedi_device {
1412 int use_count ;
1413 struct comedi_driver *driver ;
1414 void *private ;
1415 struct device *class_dev ;
1416 int minor ;
1417 struct device *hw_dev ;
1418 char const *board_name ;
1419 void const *board_ptr ;
1420 int attached ;
1421 spinlock_t spinlock ;
1422 struct mutex mutex ;
1423 int in_request_module ;
1424 int n_subdevices ;
1425 struct comedi_subdevice *subdevices ;
1426 unsigned long iobase ;
1427 unsigned int irq ;
1428 struct comedi_subdevice *read_subdev ;
1429 struct comedi_subdevice *write_subdev ;
1430 struct fasync_struct *async_queue ;
1431 int (*open)(struct comedi_device * ) ;
1432 void (*close)(struct comedi_device * ) ;
1433};
1434#line 338 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedidev.h"
1435struct comedi_lrange {
1436 int length ;
1437 struct comedi_krange range[0U] ;
1438};
1439#line 464 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedidev.h"
1440struct unioxx5_subd_priv {
1441 int usp_iobase ;
1442 unsigned char usp_module_type[12U] ;
1443 unsigned char usp_extra_data[12U][4U] ;
1444 unsigned char usp_prev_wr_val[3U] ;
1445 unsigned char usp_prev_cn_val[3U] ;
1446};
1447#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
1448void ldv_spin_lock(void) ;
1449#line 3
1450void ldv_spin_unlock(void) ;
1451#line 4
1452int ldv_spin_trylock(void) ;
1453#line 101 "include/linux/printk.h"
1454extern int printk(char const * , ...) ;
1455#line 93 "include/linux/spinlock.h"
1456extern void __raw_spin_lock_init(raw_spinlock_t * , char const * , struct lock_class_key * ) ;
1457#line 272 "include/linux/spinlock.h"
1458__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock )
1459{
1460
1461 {
1462#line 274
1463 return ((struct raw_spinlock *)lock);
1464}
1465}
1466#line 137 "include/linux/ioport.h"
1467extern struct resource ioport_resource ;
1468#line 181
1469extern struct resource *__request_region(struct resource * , resource_size_t , resource_size_t ,
1470 char const * , int ) ;
1471#line 192
1472extern void __release_region(struct resource * , resource_size_t , resource_size_t ) ;
1473#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1474__inline static void outb(unsigned char value , int port )
1475{
1476
1477 {
1478#line 308
1479 __asm__ volatile ("outb %b0, %w1": : "a" (value), "Nd" (port));
1480#line 309
1481 return;
1482}
1483}
1484#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1485__inline static unsigned char inb(int port )
1486{ unsigned char value ;
1487
1488 {
1489#line 308
1490 __asm__ volatile ("inb %w1, %b0": "=a" (value): "Nd" (port));
1491#line 308
1492 return (value);
1493}
1494}
1495#line 309 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1496__inline static unsigned short inw(int port )
1497{ unsigned short value ;
1498
1499 {
1500#line 309
1501 __asm__ volatile ("inw %w1, %w0": "=a" (value): "Nd" (port));
1502#line 309
1503 return (value);
1504}
1505}
1506#line 26 "include/linux/export.h"
1507extern struct module __this_module ;
1508#line 161 "include/linux/slab.h"
1509extern void kfree(void const * ) ;
1510#line 220 "include/linux/slub_def.h"
1511extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
1512#line 223
1513void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
1514#line 225
1515extern void *__kmalloc(size_t , gfp_t ) ;
1516#line 243 "include/linux/slab.h"
1517__inline static void *kmalloc_array(size_t n , size_t size , gfp_t flags )
1518{ void *tmp ;
1519 unsigned long __cil_tmp5 ;
1520 size_t __cil_tmp6 ;
1521
1522 {
1523#line 245
1524 if (size != 0UL) {
1525 {
1526#line 245
1527 __cil_tmp5 = 0xffffffffffffffffUL / size;
1528#line 245
1529 if (__cil_tmp5 < n) {
1530#line 246
1531 return ((void *)0);
1532 } else {
1533
1534 }
1535 }
1536 } else {
1537
1538 }
1539 {
1540#line 247
1541 __cil_tmp6 = n * size;
1542#line 247
1543 tmp = __kmalloc(__cil_tmp6, flags);
1544 }
1545#line 247
1546 return (tmp);
1547}
1548}
1549#line 256 "include/linux/slab.h"
1550__inline static void *ldv_kcalloc_14(size_t n , size_t size , gfp_t flags )
1551{ void *tmp ;
1552 unsigned int __cil_tmp5 ;
1553
1554 {
1555 {
1556#line 258
1557 __cil_tmp5 = flags | 32768U;
1558#line 258
1559 tmp = kmalloc_array(n, size, __cil_tmp5);
1560 }
1561#line 258
1562 return (tmp);
1563}
1564}
1565#line 256
1566__inline static void *kcalloc(size_t n , size_t size , gfp_t flags ) ;
1567#line 353
1568__inline static void *kzalloc(size_t size , gfp_t flags ) ;
1569#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
1570extern void *__VERIFIER_nondet_pointer(void) ;
1571#line 11
1572void ldv_check_alloc_flags(gfp_t flags ) ;
1573#line 12
1574void ldv_check_alloc_nonatomic(void) ;
1575#line 14
1576struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
1577#line 10 "include/asm-generic/delay.h"
1578extern void __const_udelay(unsigned long ) ;
1579#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedidev.h"
1580extern int comedi_driver_register(struct comedi_driver * ) ;
1581#line 288
1582extern int comedi_driver_unregister(struct comedi_driver * ) ;
1583#line 336
1584extern struct comedi_lrange const range_unipolar5 ;
1585#line 354 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedidev.h"
1586__inline static int alloc_subdevices(struct comedi_device *dev , unsigned int num_subdevices )
1587{ unsigned int i ;
1588 void *tmp ;
1589 struct lock_class_key __key ;
1590 unsigned long __cil_tmp6 ;
1591 unsigned long __cil_tmp7 ;
1592 size_t __cil_tmp8 ;
1593 unsigned long __cil_tmp9 ;
1594 unsigned long __cil_tmp10 ;
1595 struct comedi_subdevice *__cil_tmp11 ;
1596 unsigned long __cil_tmp12 ;
1597 unsigned long __cil_tmp13 ;
1598 unsigned long __cil_tmp14 ;
1599 struct comedi_subdevice *__cil_tmp15 ;
1600 unsigned long __cil_tmp16 ;
1601 unsigned long __cil_tmp17 ;
1602 unsigned long __cil_tmp18 ;
1603 unsigned long __cil_tmp19 ;
1604 struct comedi_subdevice *__cil_tmp20 ;
1605 struct comedi_subdevice *__cil_tmp21 ;
1606 unsigned long __cil_tmp22 ;
1607 unsigned long __cil_tmp23 ;
1608 unsigned long __cil_tmp24 ;
1609 struct comedi_subdevice *__cil_tmp25 ;
1610 struct comedi_subdevice *__cil_tmp26 ;
1611 unsigned long __cil_tmp27 ;
1612 unsigned long __cil_tmp28 ;
1613 unsigned long __cil_tmp29 ;
1614 unsigned long __cil_tmp30 ;
1615 unsigned long __cil_tmp31 ;
1616 struct comedi_subdevice *__cil_tmp32 ;
1617 struct comedi_subdevice *__cil_tmp33 ;
1618 unsigned long __cil_tmp34 ;
1619 unsigned long __cil_tmp35 ;
1620 spinlock_t *__cil_tmp36 ;
1621 unsigned long __cil_tmp37 ;
1622 unsigned long __cil_tmp38 ;
1623 unsigned long __cil_tmp39 ;
1624 struct comedi_subdevice *__cil_tmp40 ;
1625 struct comedi_subdevice *__cil_tmp41 ;
1626 unsigned long __cil_tmp42 ;
1627 unsigned long __cil_tmp43 ;
1628 struct raw_spinlock *__cil_tmp44 ;
1629 unsigned long __cil_tmp45 ;
1630 unsigned long __cil_tmp46 ;
1631 unsigned long __cil_tmp47 ;
1632 struct comedi_subdevice *__cil_tmp48 ;
1633 struct comedi_subdevice *__cil_tmp49 ;
1634 unsigned long __cil_tmp50 ;
1635 unsigned long __cil_tmp51 ;
1636
1637 {
1638 {
1639#line 359
1640 __cil_tmp6 = (unsigned long )dev;
1641#line 359
1642 __cil_tmp7 = __cil_tmp6 + 316;
1643#line 359
1644 *((int *)__cil_tmp7) = (int )num_subdevices;
1645#line 360
1646 __cil_tmp8 = (size_t )num_subdevices;
1647#line 360
1648 tmp = kcalloc(__cil_tmp8, 304UL, 208U);
1649#line 360
1650 __cil_tmp9 = (unsigned long )dev;
1651#line 360
1652 __cil_tmp10 = __cil_tmp9 + 320;
1653#line 360
1654 *((struct comedi_subdevice **)__cil_tmp10) = (struct comedi_subdevice *)tmp;
1655 }
1656 {
1657#line 363
1658 __cil_tmp11 = (struct comedi_subdevice *)0;
1659#line 363
1660 __cil_tmp12 = (unsigned long )__cil_tmp11;
1661#line 363
1662 __cil_tmp13 = (unsigned long )dev;
1663#line 363
1664 __cil_tmp14 = __cil_tmp13 + 320;
1665#line 363
1666 __cil_tmp15 = *((struct comedi_subdevice **)__cil_tmp14);
1667#line 363
1668 __cil_tmp16 = (unsigned long )__cil_tmp15;
1669#line 363
1670 if (__cil_tmp16 == __cil_tmp12) {
1671#line 364
1672 return (-12);
1673 } else {
1674
1675 }
1676 }
1677#line 365
1678 i = 0U;
1679#line 365
1680 goto ldv_19184;
1681 ldv_19183:
1682 {
1683#line 366
1684 __cil_tmp17 = (unsigned long )i;
1685#line 366
1686 __cil_tmp18 = (unsigned long )dev;
1687#line 366
1688 __cil_tmp19 = __cil_tmp18 + 320;
1689#line 366
1690 __cil_tmp20 = *((struct comedi_subdevice **)__cil_tmp19);
1691#line 366
1692 __cil_tmp21 = __cil_tmp20 + __cil_tmp17;
1693#line 366
1694 *((struct comedi_device **)__cil_tmp21) = dev;
1695#line 367
1696 __cil_tmp22 = (unsigned long )i;
1697#line 367
1698 __cil_tmp23 = (unsigned long )dev;
1699#line 367
1700 __cil_tmp24 = __cil_tmp23 + 320;
1701#line 367
1702 __cil_tmp25 = *((struct comedi_subdevice **)__cil_tmp24);
1703#line 367
1704 __cil_tmp26 = __cil_tmp25 + __cil_tmp22;
1705#line 367
1706 __cil_tmp27 = (unsigned long )__cil_tmp26;
1707#line 367
1708 __cil_tmp28 = __cil_tmp27 + 280;
1709#line 367
1710 *((enum dma_data_direction *)__cil_tmp28) = (enum dma_data_direction )3;
1711#line 368
1712 __cil_tmp29 = (unsigned long )i;
1713#line 368
1714 __cil_tmp30 = (unsigned long )dev;
1715#line 368
1716 __cil_tmp31 = __cil_tmp30 + 320;
1717#line 368
1718 __cil_tmp32 = *((struct comedi_subdevice **)__cil_tmp31);
1719#line 368
1720 __cil_tmp33 = __cil_tmp32 + __cil_tmp29;
1721#line 368
1722 __cil_tmp34 = (unsigned long )__cil_tmp33;
1723#line 368
1724 __cil_tmp35 = __cil_tmp34 + 64;
1725#line 368
1726 __cil_tmp36 = (spinlock_t *)__cil_tmp35;
1727#line 368
1728 spinlock_check(__cil_tmp36);
1729#line 368
1730 __cil_tmp37 = (unsigned long )i;
1731#line 368
1732 __cil_tmp38 = (unsigned long )dev;
1733#line 368
1734 __cil_tmp39 = __cil_tmp38 + 320;
1735#line 368
1736 __cil_tmp40 = *((struct comedi_subdevice **)__cil_tmp39);
1737#line 368
1738 __cil_tmp41 = __cil_tmp40 + __cil_tmp37;
1739#line 368
1740 __cil_tmp42 = (unsigned long )__cil_tmp41;
1741#line 368
1742 __cil_tmp43 = __cil_tmp42 + 64;
1743#line 368
1744 __cil_tmp44 = (struct raw_spinlock *)__cil_tmp43;
1745#line 368
1746 __raw_spin_lock_init(__cil_tmp44, "&(&dev->subdevices[i].spin_lock)->rlock", & __key);
1747#line 369
1748 __cil_tmp45 = (unsigned long )i;
1749#line 369
1750 __cil_tmp46 = (unsigned long )dev;
1751#line 369
1752 __cil_tmp47 = __cil_tmp46 + 320;
1753#line 369
1754 __cil_tmp48 = *((struct comedi_subdevice **)__cil_tmp47);
1755#line 369
1756 __cil_tmp49 = __cil_tmp48 + __cil_tmp45;
1757#line 369
1758 __cil_tmp50 = (unsigned long )__cil_tmp49;
1759#line 369
1760 __cil_tmp51 = __cil_tmp50 + 296;
1761#line 369
1762 *((int *)__cil_tmp51) = -1;
1763#line 365
1764 i = i + 1U;
1765 }
1766 ldv_19184: ;
1767#line 365
1768 if (i < num_subdevices) {
1769#line 366
1770 goto ldv_19183;
1771 } else {
1772#line 368
1773 goto ldv_19185;
1774 }
1775 ldv_19185: ;
1776#line 371
1777 return (0);
1778}
1779}
1780#line 101 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
1781static int unioxx5_attach(struct comedi_device *dev , struct comedi_devconfig *it ) ;
1782#line 103
1783static int unioxx5_subdev_write(struct comedi_device *dev , struct comedi_subdevice *subdev ,
1784 struct comedi_insn *insn , unsigned int *data ) ;
1785#line 106
1786static int unioxx5_subdev_read(struct comedi_device *dev , struct comedi_subdevice *subdev ,
1787 struct comedi_insn *insn , unsigned int *data ) ;
1788#line 109
1789static int unioxx5_insn_config(struct comedi_device *dev , struct comedi_subdevice *subdev ,
1790 struct comedi_insn *insn , unsigned int *data ) ;
1791#line 112
1792static int unioxx5_detach(struct comedi_device *dev ) ;
1793#line 113
1794static int __unioxx5_subdev_init(struct comedi_subdevice *subdev , int subdev_iobase ,
1795 int minor ) ;
1796#line 115
1797static int __unioxx5_digital_write(struct unioxx5_subd_priv *usp , unsigned int *data ,
1798 int channel , int minor ) ;
1799#line 117
1800static int __unioxx5_digital_read(struct unioxx5_subd_priv *usp , unsigned int *data ,
1801 int channel , int minor ) ;
1802#line 120
1803static int __unioxx5_analog_write(struct unioxx5_subd_priv *usp , unsigned int *data ,
1804 int channel , int minor ) ;
1805#line 122
1806static int __unioxx5_analog_read(struct unioxx5_subd_priv *usp , unsigned int *data ,
1807 int channel , int minor ) ;
1808#line 124
1809static int __unioxx5_define_chan_offset(int chan_num ) ;
1810#line 125
1811static void __unioxx5_analog_config(struct unioxx5_subd_priv *usp , int channel ) ;
1812#line 127 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
1813static struct comedi_driver unioxx5_driver =
1814#line 127
1815 {(struct comedi_driver *)0, "unioxx5", & __this_module, & unioxx5_attach, & unioxx5_detach,
1816 0U, (char const * const *)0, 0};
1817#line 134 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
1818static int unioxx5_driver_init_module(void)
1819{ int tmp ;
1820
1821 {
1822 {
1823#line 136
1824 tmp = comedi_driver_register(& unioxx5_driver);
1825 }
1826#line 136
1827 return (tmp);
1828}
1829}
1830#line 139 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
1831static void unioxx5_driver_cleanup_module(void)
1832{
1833
1834 {
1835 {
1836#line 141
1837 comedi_driver_unregister(& unioxx5_driver);
1838 }
1839#line 142
1840 return;
1841}
1842}
1843#line 147 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
1844static int unioxx5_attach(struct comedi_device *dev , struct comedi_devconfig *it )
1845{ int iobase ;
1846 int i ;
1847 int n_subd ;
1848 int id ;
1849 int num ;
1850 int ba ;
1851 unsigned char tmp ;
1852 unsigned char tmp___0 ;
1853 int tmp___1 ;
1854 int tmp___2 ;
1855 unsigned long __cil_tmp13 ;
1856 unsigned long __cil_tmp14 ;
1857 unsigned long __cil_tmp15 ;
1858 unsigned long __cil_tmp16 ;
1859 unsigned long __cil_tmp17 ;
1860 unsigned long __cil_tmp18 ;
1861 unsigned long __cil_tmp19 ;
1862 unsigned long __cil_tmp20 ;
1863 int __cil_tmp21 ;
1864 int __cil_tmp22 ;
1865 unsigned int __cil_tmp23 ;
1866 unsigned long __cil_tmp24 ;
1867 unsigned long __cil_tmp25 ;
1868 unsigned long __cil_tmp26 ;
1869 struct comedi_subdevice *__cil_tmp27 ;
1870 struct comedi_subdevice *__cil_tmp28 ;
1871 unsigned long __cil_tmp29 ;
1872 unsigned long __cil_tmp30 ;
1873 int __cil_tmp31 ;
1874
1875 {
1876#line 153
1877 __cil_tmp13 = 0 * 4UL;
1878#line 153
1879 __cil_tmp14 = 20 + __cil_tmp13;
1880#line 153
1881 __cil_tmp15 = (unsigned long )it;
1882#line 153
1883 __cil_tmp16 = __cil_tmp15 + __cil_tmp14;
1884#line 153
1885 iobase = *((int *)__cil_tmp16);
1886#line 155
1887 __cil_tmp17 = (unsigned long )dev;
1888#line 155
1889 __cil_tmp18 = __cil_tmp17 + 48;
1890#line 155
1891 *((char const **)__cil_tmp18) = "unioxx5";
1892#line 156
1893 __cil_tmp19 = (unsigned long )dev;
1894#line 156
1895 __cil_tmp20 = __cil_tmp19 + 328;
1896#line 156
1897 *((unsigned long *)__cil_tmp20) = (unsigned long )iobase;
1898#line 157
1899 iobase = iobase + 40960;
1900#line 160
1901 n_subd = 0;
1902#line 160
1903 i = n_subd;
1904#line 160
1905 ba = iobase;
1906#line 160
1907 goto ldv_19347;
1908 ldv_19346:
1909 {
1910#line 161
1911 __cil_tmp21 = ba + 14;
1912#line 161
1913 tmp = inb(__cil_tmp21);
1914#line 161
1915 id = (int )tmp;
1916#line 162
1917 __cil_tmp22 = ba + 15;
1918#line 162
1919 tmp___0 = inb(__cil_tmp22);
1920#line 162
1921 num = (int )tmp___0;
1922 }
1923#line 164
1924 if (id != 103) {
1925#line 165
1926 goto ldv_19345;
1927 } else
1928#line 164
1929 if (num != 1) {
1930#line 165
1931 goto ldv_19345;
1932 } else {
1933
1934 }
1935#line 167
1936 n_subd = n_subd + 1;
1937 ldv_19345:
1938#line 160
1939 i = i + 1;
1940#line 160
1941 ba = ba + 1024;
1942 ldv_19347: ;
1943#line 160
1944 if (i <= 3) {
1945#line 161
1946 goto ldv_19346;
1947 } else {
1948#line 163
1949 goto ldv_19348;
1950 }
1951 ldv_19348: ;
1952#line 171
1953 if (n_subd <= 1) {
1954 {
1955#line 172
1956 printk("<3>your card must has at least 2 \'g01\' subdevices\n");
1957 }
1958#line 174
1959 return (-1);
1960 } else {
1961
1962 }
1963 {
1964#line 177
1965 __cil_tmp23 = (unsigned int )n_subd;
1966#line 177
1967 tmp___1 = alloc_subdevices(dev, __cil_tmp23);
1968 }
1969#line 177
1970 if (tmp___1 < 0) {
1971 {
1972#line 178
1973 printk("<3>out of memory\n");
1974 }
1975#line 179
1976 return (-12);
1977 } else {
1978
1979 }
1980#line 183
1981 i = 0;
1982#line 183
1983 goto ldv_19350;
1984 ldv_19349:
1985 {
1986#line 184
1987 __cil_tmp24 = (unsigned long )i;
1988#line 184
1989 __cil_tmp25 = (unsigned long )dev;
1990#line 184
1991 __cil_tmp26 = __cil_tmp25 + 320;
1992#line 184
1993 __cil_tmp27 = *((struct comedi_subdevice **)__cil_tmp26);
1994#line 184
1995 __cil_tmp28 = __cil_tmp27 + __cil_tmp24;
1996#line 184
1997 __cil_tmp29 = (unsigned long )dev;
1998#line 184
1999 __cil_tmp30 = __cil_tmp29 + 32;
2000#line 184
2001 __cil_tmp31 = *((int *)__cil_tmp30);
2002#line 184
2003 tmp___2 = __unioxx5_subdev_init(__cil_tmp28, iobase, __cil_tmp31);
2004 }
2005#line 184
2006 if (tmp___2 < 0) {
2007#line 186
2008 return (-1);
2009 } else {
2010
2011 }
2012#line 183
2013 i = i + 1;
2014#line 183
2015 iobase = iobase + 1024;
2016 ldv_19350: ;
2017#line 183
2018 if (i < n_subd) {
2019#line 184
2020 goto ldv_19349;
2021 } else {
2022#line 186
2023 goto ldv_19351;
2024 }
2025 ldv_19351:
2026 {
2027#line 189
2028 printk("<6>attached\n");
2029 }
2030#line 190
2031 return (0);
2032}
2033}
2034#line 193 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
2035static int unioxx5_subdev_read(struct comedi_device *dev , struct comedi_subdevice *subdev ,
2036 struct comedi_insn *insn , unsigned int *data )
2037{ struct unioxx5_subd_priv *usp ;
2038 int channel ;
2039 int type ;
2040 int tmp ;
2041 int tmp___0 ;
2042 unsigned long __cil_tmp10 ;
2043 unsigned long __cil_tmp11 ;
2044 void *__cil_tmp12 ;
2045 unsigned long __cil_tmp13 ;
2046 unsigned long __cil_tmp14 ;
2047 unsigned int __cil_tmp15 ;
2048 int __cil_tmp16 ;
2049 int __cil_tmp17 ;
2050 unsigned long __cil_tmp18 ;
2051 unsigned long __cil_tmp19 ;
2052 unsigned long __cil_tmp20 ;
2053 unsigned long __cil_tmp21 ;
2054 unsigned char __cil_tmp22 ;
2055 unsigned long __cil_tmp23 ;
2056 unsigned long __cil_tmp24 ;
2057 int __cil_tmp25 ;
2058 unsigned long __cil_tmp26 ;
2059 unsigned long __cil_tmp27 ;
2060 int __cil_tmp28 ;
2061
2062 {
2063#line 197
2064 __cil_tmp10 = (unsigned long )subdev;
2065#line 197
2066 __cil_tmp11 = __cil_tmp10 + 24;
2067#line 197
2068 __cil_tmp12 = *((void **)__cil_tmp11);
2069#line 197
2070 usp = (struct unioxx5_subd_priv *)__cil_tmp12;
2071#line 200
2072 __cil_tmp13 = (unsigned long )insn;
2073#line 200
2074 __cil_tmp14 = __cil_tmp13 + 20;
2075#line 200
2076 __cil_tmp15 = *((unsigned int *)__cil_tmp14);
2077#line 200
2078 __cil_tmp16 = (int )__cil_tmp15;
2079#line 200
2080 channel = __cil_tmp16 & 65535;
2081#line 202
2082 __cil_tmp17 = channel / 2;
2083#line 202
2084 __cil_tmp18 = __cil_tmp17 * 1UL;
2085#line 202
2086 __cil_tmp19 = 4 + __cil_tmp18;
2087#line 202
2088 __cil_tmp20 = (unsigned long )usp;
2089#line 202
2090 __cil_tmp21 = __cil_tmp20 + __cil_tmp19;
2091#line 202
2092 __cil_tmp22 = *((unsigned char *)__cil_tmp21);
2093#line 202
2094 type = (int )__cil_tmp22;
2095#line 204
2096 if (type == 0) {
2097 {
2098#line 205
2099 __cil_tmp23 = (unsigned long )dev;
2100#line 205
2101 __cil_tmp24 = __cil_tmp23 + 32;
2102#line 205
2103 __cil_tmp25 = *((int *)__cil_tmp24);
2104#line 205
2105 tmp___0 = __unioxx5_digital_read(usp, data, channel, __cil_tmp25);
2106 }
2107#line 205
2108 if (tmp___0 == 0) {
2109#line 206
2110 return (-1);
2111 } else {
2112 {
2113#line 208
2114 __cil_tmp26 = (unsigned long )dev;
2115#line 208
2116 __cil_tmp27 = __cil_tmp26 + 32;
2117#line 208
2118 __cil_tmp28 = *((int *)__cil_tmp27);
2119#line 208
2120 tmp = __unioxx5_analog_read(usp, data, channel, __cil_tmp28);
2121 }
2122#line 208
2123 if (tmp == 0) {
2124#line 209
2125 return (-1);
2126 } else {
2127
2128 }
2129 }
2130 } else {
2131
2132 }
2133#line 212
2134 return (1);
2135}
2136}
2137#line 215 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
2138static int unioxx5_subdev_write(struct comedi_device *dev , struct comedi_subdevice *subdev ,
2139 struct comedi_insn *insn , unsigned int *data )
2140{ struct unioxx5_subd_priv *usp ;
2141 int channel ;
2142 int type ;
2143 int tmp ;
2144 int tmp___0 ;
2145 unsigned long __cil_tmp10 ;
2146 unsigned long __cil_tmp11 ;
2147 void *__cil_tmp12 ;
2148 unsigned long __cil_tmp13 ;
2149 unsigned long __cil_tmp14 ;
2150 unsigned int __cil_tmp15 ;
2151 int __cil_tmp16 ;
2152 int __cil_tmp17 ;
2153 unsigned long __cil_tmp18 ;
2154 unsigned long __cil_tmp19 ;
2155 unsigned long __cil_tmp20 ;
2156 unsigned long __cil_tmp21 ;
2157 unsigned char __cil_tmp22 ;
2158 unsigned long __cil_tmp23 ;
2159 unsigned long __cil_tmp24 ;
2160 int __cil_tmp25 ;
2161 unsigned long __cil_tmp26 ;
2162 unsigned long __cil_tmp27 ;
2163 int __cil_tmp28 ;
2164
2165 {
2166#line 219
2167 __cil_tmp10 = (unsigned long )subdev;
2168#line 219
2169 __cil_tmp11 = __cil_tmp10 + 24;
2170#line 219
2171 __cil_tmp12 = *((void **)__cil_tmp11);
2172#line 219
2173 usp = (struct unioxx5_subd_priv *)__cil_tmp12;
2174#line 222
2175 __cil_tmp13 = (unsigned long )insn;
2176#line 222
2177 __cil_tmp14 = __cil_tmp13 + 20;
2178#line 222
2179 __cil_tmp15 = *((unsigned int *)__cil_tmp14);
2180#line 222
2181 __cil_tmp16 = (int )__cil_tmp15;
2182#line 222
2183 channel = __cil_tmp16 & 65535;
2184#line 224
2185 __cil_tmp17 = channel / 2;
2186#line 224
2187 __cil_tmp18 = __cil_tmp17 * 1UL;
2188#line 224
2189 __cil_tmp19 = 4 + __cil_tmp18;
2190#line 224
2191 __cil_tmp20 = (unsigned long )usp;
2192#line 224
2193 __cil_tmp21 = __cil_tmp20 + __cil_tmp19;
2194#line 224
2195 __cil_tmp22 = *((unsigned char *)__cil_tmp21);
2196#line 224
2197 type = (int )__cil_tmp22;
2198#line 226
2199 if (type == 0) {
2200 {
2201#line 227
2202 __cil_tmp23 = (unsigned long )dev;
2203#line 227
2204 __cil_tmp24 = __cil_tmp23 + 32;
2205#line 227
2206 __cil_tmp25 = *((int *)__cil_tmp24);
2207#line 227
2208 tmp___0 = __unioxx5_digital_write(usp, data, channel, __cil_tmp25);
2209 }
2210#line 227
2211 if (tmp___0 == 0) {
2212#line 228
2213 return (-1);
2214 } else {
2215 {
2216#line 230
2217 __cil_tmp26 = (unsigned long )dev;
2218#line 230
2219 __cil_tmp27 = __cil_tmp26 + 32;
2220#line 230
2221 __cil_tmp28 = *((int *)__cil_tmp27);
2222#line 230
2223 tmp = __unioxx5_analog_write(usp, data, channel, __cil_tmp28);
2224 }
2225#line 230
2226 if (tmp == 0) {
2227#line 231
2228 return (-1);
2229 } else {
2230
2231 }
2232 }
2233 } else {
2234
2235 }
2236#line 234
2237 return (1);
2238}
2239}
2240#line 238 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
2241static int unioxx5_insn_config(struct comedi_device *dev , struct comedi_subdevice *subdev ,
2242 struct comedi_insn *insn , unsigned int *data )
2243{ int channel_offset ;
2244 int flags ;
2245 int channel ;
2246 int type ;
2247 struct unioxx5_subd_priv *usp ;
2248 int mask ;
2249 unsigned long __cil_tmp11 ;
2250 unsigned long __cil_tmp12 ;
2251 unsigned int __cil_tmp13 ;
2252 int __cil_tmp14 ;
2253 unsigned long __cil_tmp15 ;
2254 unsigned long __cil_tmp16 ;
2255 void *__cil_tmp17 ;
2256 int __cil_tmp18 ;
2257 int __cil_tmp19 ;
2258 unsigned long __cil_tmp20 ;
2259 unsigned long __cil_tmp21 ;
2260 unsigned long __cil_tmp22 ;
2261 unsigned long __cil_tmp23 ;
2262 unsigned char __cil_tmp24 ;
2263 unsigned long __cil_tmp25 ;
2264 unsigned long __cil_tmp26 ;
2265 int __cil_tmp27 ;
2266 unsigned long __cil_tmp28 ;
2267 unsigned long __cil_tmp29 ;
2268 int __cil_tmp30 ;
2269 int __cil_tmp31 ;
2270 unsigned long __cil_tmp32 ;
2271 unsigned long __cil_tmp33 ;
2272 unsigned long __cil_tmp34 ;
2273 unsigned long __cil_tmp35 ;
2274 unsigned char __cil_tmp36 ;
2275 unsigned int __cil_tmp37 ;
2276 int __cil_tmp38 ;
2277 unsigned long __cil_tmp39 ;
2278 unsigned long __cil_tmp40 ;
2279 int __cil_tmp41 ;
2280 int __cil_tmp42 ;
2281 unsigned char __cil_tmp43 ;
2282 int __cil_tmp44 ;
2283 unsigned char __cil_tmp45 ;
2284 int __cil_tmp46 ;
2285 int __cil_tmp47 ;
2286 int __cil_tmp48 ;
2287 int __cil_tmp49 ;
2288 unsigned long __cil_tmp50 ;
2289 unsigned long __cil_tmp51 ;
2290 unsigned long __cil_tmp52 ;
2291 unsigned long __cil_tmp53 ;
2292
2293 {
2294#line 242
2295 __cil_tmp11 = (unsigned long )insn;
2296#line 242
2297 __cil_tmp12 = __cil_tmp11 + 20;
2298#line 242
2299 __cil_tmp13 = *((unsigned int *)__cil_tmp12);
2300#line 242
2301 __cil_tmp14 = (int )__cil_tmp13;
2302#line 242
2303 channel = __cil_tmp14 & 65535;
2304#line 243
2305 __cil_tmp15 = (unsigned long )subdev;
2306#line 243
2307 __cil_tmp16 = __cil_tmp15 + 24;
2308#line 243
2309 __cil_tmp17 = *((void **)__cil_tmp16);
2310#line 243
2311 usp = (struct unioxx5_subd_priv *)__cil_tmp17;
2312#line 244
2313 __cil_tmp18 = channel & 7;
2314#line 244
2315 mask = 1 << __cil_tmp18;
2316#line 246
2317 __cil_tmp19 = channel / 2;
2318#line 246
2319 __cil_tmp20 = __cil_tmp19 * 1UL;
2320#line 246
2321 __cil_tmp21 = 4 + __cil_tmp20;
2322#line 246
2323 __cil_tmp22 = (unsigned long )usp;
2324#line 246
2325 __cil_tmp23 = __cil_tmp22 + __cil_tmp21;
2326#line 246
2327 __cil_tmp24 = *((unsigned char *)__cil_tmp23);
2328#line 246
2329 type = (int )__cil_tmp24;
2330#line 248
2331 if (type != 0) {
2332 {
2333#line 249
2334 __cil_tmp25 = (unsigned long )dev;
2335#line 249
2336 __cil_tmp26 = __cil_tmp25 + 32;
2337#line 249
2338 __cil_tmp27 = *((int *)__cil_tmp26);
2339#line 249
2340 printk("<3>comedi%d: channel configuration accessible only for digital modules\n",
2341 __cil_tmp27);
2342 }
2343#line 252
2344 return (-1);
2345 } else {
2346
2347 }
2348 {
2349#line 255
2350 channel_offset = __unioxx5_define_chan_offset(channel);
2351 }
2352#line 256
2353 if (channel_offset < 0) {
2354 {
2355#line 257
2356 __cil_tmp28 = (unsigned long )dev;
2357#line 257
2358 __cil_tmp29 = __cil_tmp28 + 32;
2359#line 257
2360 __cil_tmp30 = *((int *)__cil_tmp29);
2361#line 257
2362 printk("<3>comedi%d: undefined channel %d. channel range is 0 .. 23\n", __cil_tmp30,
2363 channel);
2364 }
2365#line 260
2366 return (-1);
2367 } else {
2368
2369 }
2370#line 264
2371 __cil_tmp31 = channel_offset + -1;
2372#line 264
2373 __cil_tmp32 = __cil_tmp31 * 1UL;
2374#line 264
2375 __cil_tmp33 = 67 + __cil_tmp32;
2376#line 264
2377 __cil_tmp34 = (unsigned long )usp;
2378#line 264
2379 __cil_tmp35 = __cil_tmp34 + __cil_tmp33;
2380#line 264
2381 __cil_tmp36 = *((unsigned char *)__cil_tmp35);
2382#line 264
2383 flags = (int )__cil_tmp36;
2384 {
2385#line 266
2386 __cil_tmp37 = *data;
2387#line 267
2388 if ((int )__cil_tmp37 == 0) {
2389#line 267
2390 goto case_0;
2391 } else
2392#line 270
2393 if ((int )__cil_tmp37 == 1) {
2394#line 270
2395 goto case_1;
2396 } else {
2397 {
2398#line 273
2399 goto switch_default;
2400#line 266
2401 if (0) {
2402 case_0:
2403#line 268
2404 __cil_tmp38 = ~ mask;
2405#line 268
2406 flags = __cil_tmp38 & flags;
2407#line 269
2408 goto ldv_19383;
2409 case_1:
2410#line 271
2411 flags = flags | mask;
2412#line 272
2413 goto ldv_19383;
2414 switch_default:
2415 {
2416#line 274
2417 __cil_tmp39 = (unsigned long )dev;
2418#line 274
2419 __cil_tmp40 = __cil_tmp39 + 32;
2420#line 274
2421 __cil_tmp41 = *((int *)__cil_tmp40);
2422#line 274
2423 printk("<3>comedi%d: unknown flag\n", __cil_tmp41);
2424 }
2425#line 275
2426 return (-1);
2427 } else {
2428 switch_break: ;
2429 }
2430 }
2431 }
2432 }
2433 ldv_19383:
2434 {
2435#line 282
2436 __cil_tmp42 = *((int *)usp);
2437#line 282
2438 outb((unsigned char)1, __cil_tmp42);
2439#line 284
2440 __cil_tmp43 = (unsigned char )flags;
2441#line 284
2442 __cil_tmp44 = (int )__cil_tmp43;
2443#line 284
2444 __cil_tmp45 = (unsigned char )__cil_tmp44;
2445#line 284
2446 __cil_tmp46 = *((int *)usp);
2447#line 284
2448 __cil_tmp47 = __cil_tmp46 + channel_offset;
2449#line 284
2450 outb(__cil_tmp45, __cil_tmp47);
2451#line 286
2452 __cil_tmp48 = *((int *)usp);
2453#line 286
2454 outb((unsigned char)0, __cil_tmp48);
2455#line 288
2456 __cil_tmp49 = channel_offset + -1;
2457#line 288
2458 __cil_tmp50 = __cil_tmp49 * 1UL;
2459#line 288
2460 __cil_tmp51 = 67 + __cil_tmp50;
2461#line 288
2462 __cil_tmp52 = (unsigned long )usp;
2463#line 288
2464 __cil_tmp53 = __cil_tmp52 + __cil_tmp51;
2465#line 288
2466 *((unsigned char *)__cil_tmp53) = (unsigned char )flags;
2467 }
2468#line 290
2469 return (0);
2470}
2471}
2472#line 293 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
2473static int unioxx5_detach(struct comedi_device *dev )
2474{ int i ;
2475 struct comedi_subdevice *subdev ;
2476 struct unioxx5_subd_priv *usp ;
2477 unsigned long __cil_tmp5 ;
2478 unsigned long __cil_tmp6 ;
2479 unsigned long __cil_tmp7 ;
2480 struct comedi_subdevice *__cil_tmp8 ;
2481 unsigned long __cil_tmp9 ;
2482 unsigned long __cil_tmp10 ;
2483 void *__cil_tmp11 ;
2484 int __cil_tmp12 ;
2485 resource_size_t __cil_tmp13 ;
2486 unsigned long __cil_tmp14 ;
2487 unsigned long __cil_tmp15 ;
2488 void *__cil_tmp16 ;
2489 void const *__cil_tmp17 ;
2490 unsigned long __cil_tmp18 ;
2491 unsigned long __cil_tmp19 ;
2492 int __cil_tmp20 ;
2493
2494 {
2495#line 299
2496 i = 0;
2497#line 299
2498 goto ldv_19393;
2499 ldv_19392:
2500 {
2501#line 300
2502 __cil_tmp5 = (unsigned long )i;
2503#line 300
2504 __cil_tmp6 = (unsigned long )dev;
2505#line 300
2506 __cil_tmp7 = __cil_tmp6 + 320;
2507#line 300
2508 __cil_tmp8 = *((struct comedi_subdevice **)__cil_tmp7);
2509#line 300
2510 subdev = __cil_tmp8 + __cil_tmp5;
2511#line 301
2512 __cil_tmp9 = (unsigned long )subdev;
2513#line 301
2514 __cil_tmp10 = __cil_tmp9 + 24;
2515#line 301
2516 __cil_tmp11 = *((void **)__cil_tmp10);
2517#line 301
2518 usp = (struct unioxx5_subd_priv *)__cil_tmp11;
2519#line 302
2520 __cil_tmp12 = *((int *)usp);
2521#line 302
2522 __cil_tmp13 = (resource_size_t )__cil_tmp12;
2523#line 302
2524 __release_region(& ioport_resource, __cil_tmp13, 16ULL);
2525#line 303
2526 __cil_tmp14 = (unsigned long )subdev;
2527#line 303
2528 __cil_tmp15 = __cil_tmp14 + 24;
2529#line 303
2530 __cil_tmp16 = *((void **)__cil_tmp15);
2531#line 303
2532 __cil_tmp17 = (void const *)__cil_tmp16;
2533#line 303
2534 kfree(__cil_tmp17);
2535#line 299
2536 i = i + 1;
2537 }
2538 ldv_19393: ;
2539 {
2540#line 299
2541 __cil_tmp18 = (unsigned long )dev;
2542#line 299
2543 __cil_tmp19 = __cil_tmp18 + 316;
2544#line 299
2545 __cil_tmp20 = *((int *)__cil_tmp19);
2546#line 299
2547 if (__cil_tmp20 > i) {
2548#line 300
2549 goto ldv_19392;
2550 } else {
2551#line 302
2552 goto ldv_19394;
2553 }
2554 }
2555 ldv_19394: ;
2556#line 306
2557 return (0);
2558}
2559}
2560#line 310 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
2561static int __unioxx5_subdev_init(struct comedi_subdevice *subdev , int subdev_iobase ,
2562 int minor )
2563{ struct unioxx5_subd_priv *usp ;
2564 int i ;
2565 int to ;
2566 int ndef_flag ;
2567 struct resource *tmp ;
2568 void *tmp___0 ;
2569 unsigned char tmp___1 ;
2570 unsigned char tmp___2 ;
2571 resource_size_t __cil_tmp12 ;
2572 struct resource *__cil_tmp13 ;
2573 unsigned long __cil_tmp14 ;
2574 unsigned long __cil_tmp15 ;
2575 struct unioxx5_subd_priv *__cil_tmp16 ;
2576 unsigned long __cil_tmp17 ;
2577 unsigned long __cil_tmp18 ;
2578 int __cil_tmp19 ;
2579 unsigned char __cil_tmp20 ;
2580 unsigned int __cil_tmp21 ;
2581 unsigned int __cil_tmp22 ;
2582 int __cil_tmp23 ;
2583 unsigned char __cil_tmp24 ;
2584 int __cil_tmp25 ;
2585 int __cil_tmp26 ;
2586 int __cil_tmp27 ;
2587 int __cil_tmp28 ;
2588 int __cil_tmp29 ;
2589 int __cil_tmp30 ;
2590 int __cil_tmp31 ;
2591 unsigned long __cil_tmp32 ;
2592 unsigned long __cil_tmp33 ;
2593 unsigned long __cil_tmp34 ;
2594 unsigned long __cil_tmp35 ;
2595 unsigned long __cil_tmp36 ;
2596 unsigned long __cil_tmp37 ;
2597 unsigned long __cil_tmp38 ;
2598 unsigned long __cil_tmp39 ;
2599 int __cil_tmp40 ;
2600 unsigned long __cil_tmp41 ;
2601 unsigned long __cil_tmp42 ;
2602 unsigned long __cil_tmp43 ;
2603 unsigned long __cil_tmp44 ;
2604 unsigned char __cil_tmp45 ;
2605 int __cil_tmp46 ;
2606 unsigned long __cil_tmp47 ;
2607 unsigned long __cil_tmp48 ;
2608 unsigned long __cil_tmp49 ;
2609 unsigned long __cil_tmp50 ;
2610 unsigned long __cil_tmp51 ;
2611 unsigned long __cil_tmp52 ;
2612 unsigned long __cil_tmp53 ;
2613 unsigned long __cil_tmp54 ;
2614 unsigned long __cil_tmp55 ;
2615 unsigned long __cil_tmp56 ;
2616 unsigned long __cil_tmp57 ;
2617 unsigned long __cil_tmp58 ;
2618 unsigned long __cil_tmp59 ;
2619 unsigned long __cil_tmp60 ;
2620 unsigned long __cil_tmp61 ;
2621 unsigned long __cil_tmp62 ;
2622 unsigned long __cil_tmp63 ;
2623 unsigned long __cil_tmp64 ;
2624
2625 {
2626 {
2627#line 314
2628 ndef_flag = 0;
2629#line 316
2630 __cil_tmp12 = (resource_size_t )subdev_iobase;
2631#line 316
2632 tmp = __request_region(& ioport_resource, __cil_tmp12, 16ULL, "unioxx5", 0);
2633 }
2634 {
2635#line 316
2636 __cil_tmp13 = (struct resource *)0;
2637#line 316
2638 __cil_tmp14 = (unsigned long )__cil_tmp13;
2639#line 316
2640 __cil_tmp15 = (unsigned long )tmp;
2641#line 316
2642 if (__cil_tmp15 == __cil_tmp14) {
2643 {
2644#line 317
2645 printk("<3>comedi%d: I/O port conflict\n", minor);
2646 }
2647#line 318
2648 return (-5);
2649 } else {
2650
2651 }
2652 }
2653 {
2654#line 321
2655 tmp___0 = kzalloc(72UL, 208U);
2656#line 321
2657 usp = (struct unioxx5_subd_priv *)tmp___0;
2658 }
2659 {
2660#line 323
2661 __cil_tmp16 = (struct unioxx5_subd_priv *)0;
2662#line 323
2663 __cil_tmp17 = (unsigned long )__cil_tmp16;
2664#line 323
2665 __cil_tmp18 = (unsigned long )usp;
2666#line 323
2667 if (__cil_tmp18 == __cil_tmp17) {
2668 {
2669#line 324
2670 printk("<3>comedi%d: error! --> out of memory!\n", minor);
2671 }
2672#line 325
2673 return (-1);
2674 } else {
2675
2676 }
2677 }
2678 {
2679#line 328
2680 *((int *)usp) = subdev_iobase;
2681#line 329
2682 printk("<6>comedi%d: |", minor);
2683#line 332
2684 i = 0;
2685 }
2686#line 332
2687 goto ldv_19411;
2688 ldv_19410:
2689 {
2690#line 333
2691 to = 10000;
2692#line 335
2693 __cil_tmp19 = i * 2;
2694#line 335
2695 __unioxx5_analog_config(usp, __cil_tmp19);
2696#line 337
2697 __cil_tmp20 = (unsigned char )i;
2698#line 337
2699 __cil_tmp21 = (unsigned int )__cil_tmp20;
2700#line 337
2701 __cil_tmp22 = __cil_tmp21 + 1U;
2702#line 337
2703 __cil_tmp23 = (int )__cil_tmp22;
2704#line 337
2705 __cil_tmp24 = (unsigned char )__cil_tmp23;
2706#line 337
2707 __cil_tmp25 = subdev_iobase + 5;
2708#line 337
2709 outb(__cil_tmp24, __cil_tmp25);
2710#line 338
2711 __cil_tmp26 = subdev_iobase + 6;
2712#line 338
2713 outb((unsigned char)72, __cil_tmp26);
2714 }
2715#line 339
2716 goto ldv_19405;
2717 ldv_19404: ;
2718 ldv_19405:
2719 {
2720#line 339
2721 tmp___1 = inb(subdev_iobase);
2722 }
2723 {
2724#line 339
2725 __cil_tmp27 = (int )tmp___1;
2726#line 339
2727 __cil_tmp28 = __cil_tmp27 & 16;
2728#line 339
2729 if (__cil_tmp28 == 0) {
2730#line 340
2731 goto ldv_19404;
2732 } else {
2733#line 342
2734 goto ldv_19406;
2735 }
2736 }
2737 ldv_19406:
2738 {
2739#line 341
2740 __cil_tmp29 = subdev_iobase + 6;
2741#line 341
2742 outb((unsigned char)0, __cil_tmp29);
2743 }
2744#line 344
2745 goto ldv_19409;
2746 ldv_19408:
2747#line 345
2748 to = to - 1;
2749#line 345
2750 if (to <= 0) {
2751#line 346
2752 ndef_flag = 1;
2753#line 347
2754 goto ldv_19407;
2755 } else {
2756
2757 }
2758 ldv_19409:
2759 {
2760#line 344
2761 tmp___2 = inb(subdev_iobase);
2762 }
2763 {
2764#line 344
2765 __cil_tmp30 = (int )tmp___2;
2766#line 344
2767 __cil_tmp31 = __cil_tmp30 & 64;
2768#line 344
2769 if (__cil_tmp31 == 0) {
2770#line 345
2771 goto ldv_19408;
2772 } else {
2773#line 347
2774 goto ldv_19407;
2775 }
2776 }
2777 ldv_19407: ;
2778#line 351
2779 if (ndef_flag != 0) {
2780#line 352
2781 __cil_tmp32 = i * 1UL;
2782#line 352
2783 __cil_tmp33 = 4 + __cil_tmp32;
2784#line 352
2785 __cil_tmp34 = (unsigned long )usp;
2786#line 352
2787 __cil_tmp35 = __cil_tmp34 + __cil_tmp33;
2788#line 352
2789 *((unsigned char *)__cil_tmp35) = (unsigned char)0;
2790#line 353
2791 ndef_flag = 0;
2792 } else {
2793 {
2794#line 355
2795 __cil_tmp36 = i * 1UL;
2796#line 355
2797 __cil_tmp37 = 4 + __cil_tmp36;
2798#line 355
2799 __cil_tmp38 = (unsigned long )usp;
2800#line 355
2801 __cil_tmp39 = __cil_tmp38 + __cil_tmp37;
2802#line 355
2803 __cil_tmp40 = subdev_iobase + 6;
2804#line 355
2805 *((unsigned char *)__cil_tmp39) = inb(__cil_tmp40);
2806 }
2807 }
2808 {
2809#line 357
2810 __cil_tmp41 = i * 1UL;
2811#line 357
2812 __cil_tmp42 = 4 + __cil_tmp41;
2813#line 357
2814 __cil_tmp43 = (unsigned long )usp;
2815#line 357
2816 __cil_tmp44 = __cil_tmp43 + __cil_tmp42;
2817#line 357
2818 __cil_tmp45 = *((unsigned char *)__cil_tmp44);
2819#line 357
2820 __cil_tmp46 = (int )__cil_tmp45;
2821#line 357
2822 printk(" [%d] 0x%02x |", i, __cil_tmp46);
2823#line 358
2824 __const_udelay(4295UL);
2825#line 332
2826 i = i + 1;
2827 }
2828 ldv_19411: ;
2829#line 332
2830 if (i <= 11) {
2831#line 333
2832 goto ldv_19410;
2833 } else {
2834#line 335
2835 goto ldv_19412;
2836 }
2837 ldv_19412:
2838 {
2839#line 361
2840 printk("\n");
2841#line 364
2842 __cil_tmp47 = (unsigned long )subdev;
2843#line 364
2844 __cil_tmp48 = __cil_tmp47 + 8;
2845#line 364
2846 *((int *)__cil_tmp48) = 5;
2847#line 365
2848 __cil_tmp49 = (unsigned long )subdev;
2849#line 365
2850 __cil_tmp50 = __cil_tmp49 + 24;
2851#line 365
2852 *((void **)__cil_tmp50) = (void *)usp;
2853#line 366
2854 __cil_tmp51 = (unsigned long )subdev;
2855#line 366
2856 __cil_tmp52 = __cil_tmp51 + 16;
2857#line 366
2858 *((int *)__cil_tmp52) = 196608;
2859#line 367
2860 __cil_tmp53 = (unsigned long )subdev;
2861#line 367
2862 __cil_tmp54 = __cil_tmp53 + 12;
2863#line 367
2864 *((int *)__cil_tmp54) = 24;
2865#line 368
2866 __cil_tmp55 = (unsigned long )subdev;
2867#line 368
2868 __cil_tmp56 = __cil_tmp55 + 140;
2869#line 368
2870 *((unsigned int *)__cil_tmp56) = 4095U;
2871#line 369
2872 __cil_tmp57 = (unsigned long )subdev;
2873#line 369
2874 __cil_tmp58 = __cil_tmp57 + 176;
2875#line 369
2876 *((struct comedi_lrange const **)__cil_tmp58) = & range_unipolar5;
2877#line 370
2878 __cil_tmp59 = (unsigned long )subdev;
2879#line 370
2880 __cil_tmp60 = __cil_tmp59 + 200;
2881#line 370
2882 *((int (**)(struct comedi_device * , struct comedi_subdevice * , struct comedi_insn * ,
2883 unsigned int * ))__cil_tmp60) = & unioxx5_subdev_read;
2884#line 371
2885 __cil_tmp61 = (unsigned long )subdev;
2886#line 371
2887 __cil_tmp62 = __cil_tmp61 + 208;
2888#line 371
2889 *((int (**)(struct comedi_device * , struct comedi_subdevice * , struct comedi_insn * ,
2890 unsigned int * ))__cil_tmp62) = & unioxx5_subdev_write;
2891#line 373
2892 __cil_tmp63 = (unsigned long )subdev;
2893#line 373
2894 __cil_tmp64 = __cil_tmp63 + 224;
2895#line 373
2896 *((int (**)(struct comedi_device * , struct comedi_subdevice * , struct comedi_insn * ,
2897 unsigned int * ))__cil_tmp64) = & unioxx5_insn_config;
2898#line 375
2899 printk("<6>subdevice configured\n");
2900 }
2901#line 377
2902 return (0);
2903}
2904}
2905#line 380 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
2906static int __unioxx5_digital_write(struct unioxx5_subd_priv *usp , unsigned int *data ,
2907 int channel , int minor )
2908{ int channel_offset ;
2909 int val ;
2910 int mask ;
2911 int __cil_tmp8 ;
2912 int __cil_tmp9 ;
2913 unsigned long __cil_tmp10 ;
2914 unsigned long __cil_tmp11 ;
2915 unsigned long __cil_tmp12 ;
2916 unsigned long __cil_tmp13 ;
2917 unsigned char __cil_tmp14 ;
2918 unsigned int __cil_tmp15 ;
2919 int __cil_tmp16 ;
2920 unsigned char __cil_tmp17 ;
2921 int __cil_tmp18 ;
2922 unsigned char __cil_tmp19 ;
2923 int __cil_tmp20 ;
2924 int __cil_tmp21 ;
2925 int __cil_tmp22 ;
2926 unsigned long __cil_tmp23 ;
2927 unsigned long __cil_tmp24 ;
2928 unsigned long __cil_tmp25 ;
2929 unsigned long __cil_tmp26 ;
2930
2931 {
2932 {
2933#line 384
2934 __cil_tmp8 = channel & 7;
2935#line 384
2936 mask = 1 << __cil_tmp8;
2937#line 386
2938 channel_offset = __unioxx5_define_chan_offset(channel);
2939 }
2940#line 387
2941 if (channel_offset < 0) {
2942 {
2943#line 388
2944 printk("<3>comedi%d: undefined channel %d. channel range is 0 .. 23\n", minor,
2945 channel);
2946 }
2947#line 391
2948 return (0);
2949 } else {
2950
2951 }
2952#line 395
2953 __cil_tmp9 = channel_offset + -1;
2954#line 395
2955 __cil_tmp10 = __cil_tmp9 * 1UL;
2956#line 395
2957 __cil_tmp11 = 64 + __cil_tmp10;
2958#line 395
2959 __cil_tmp12 = (unsigned long )usp;
2960#line 395
2961 __cil_tmp13 = __cil_tmp12 + __cil_tmp11;
2962#line 395
2963 __cil_tmp14 = *((unsigned char *)__cil_tmp13);
2964#line 395
2965 val = (int )__cil_tmp14;
2966 {
2967#line 397
2968 __cil_tmp15 = *data;
2969#line 397
2970 if (__cil_tmp15 != 0U) {
2971#line 398
2972 val = val | mask;
2973 } else {
2974#line 400
2975 __cil_tmp16 = ~ mask;
2976#line 400
2977 val = __cil_tmp16 & val;
2978 }
2979 }
2980 {
2981#line 402
2982 __cil_tmp17 = (unsigned char )val;
2983#line 402
2984 __cil_tmp18 = (int )__cil_tmp17;
2985#line 402
2986 __cil_tmp19 = (unsigned char )__cil_tmp18;
2987#line 402
2988 __cil_tmp20 = *((int *)usp);
2989#line 402
2990 __cil_tmp21 = __cil_tmp20 + channel_offset;
2991#line 402
2992 outb(__cil_tmp19, __cil_tmp21);
2993#line 404
2994 __cil_tmp22 = channel_offset + -1;
2995#line 404
2996 __cil_tmp23 = __cil_tmp22 * 1UL;
2997#line 404
2998 __cil_tmp24 = 64 + __cil_tmp23;
2999#line 404
3000 __cil_tmp25 = (unsigned long )usp;
3001#line 404
3002 __cil_tmp26 = __cil_tmp25 + __cil_tmp24;
3003#line 404
3004 *((unsigned char *)__cil_tmp26) = (unsigned char )val;
3005 }
3006#line 406
3007 return (1);
3008}
3009}
3010#line 410 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
3011static int __unioxx5_digital_read(struct unioxx5_subd_priv *usp , unsigned int *data ,
3012 int channel , int minor )
3013{ int channel_offset ;
3014 int mask ;
3015 unsigned char tmp ;
3016 int __cil_tmp8 ;
3017 int __cil_tmp9 ;
3018 int __cil_tmp10 ;
3019 unsigned int __cil_tmp11 ;
3020 unsigned int __cil_tmp12 ;
3021 int __cil_tmp13 ;
3022 unsigned int __cil_tmp14 ;
3023
3024 {
3025 {
3026#line 413
3027 __cil_tmp8 = channel & 7;
3028#line 413
3029 mask = 1 << __cil_tmp8;
3030#line 415
3031 channel_offset = __unioxx5_define_chan_offset(channel);
3032 }
3033#line 416
3034 if (channel_offset < 0) {
3035 {
3036#line 417
3037 printk("<3>comedi%d: undefined channel %d. channel range is 0 .. 23\n", minor,
3038 channel);
3039 }
3040#line 420
3041 return (0);
3042 } else {
3043
3044 }
3045 {
3046#line 423
3047 __cil_tmp9 = *((int *)usp);
3048#line 423
3049 __cil_tmp10 = __cil_tmp9 + channel_offset;
3050#line 423
3051 tmp = inb(__cil_tmp10);
3052#line 423
3053 *data = (unsigned int )tmp;
3054#line 424
3055 __cil_tmp11 = (unsigned int )mask;
3056#line 424
3057 __cil_tmp12 = *data;
3058#line 424
3059 *data = __cil_tmp12 & __cil_tmp11;
3060 }
3061#line 426
3062 if (channel_offset > 1) {
3063#line 427
3064 __cil_tmp13 = 2 << channel_offset;
3065#line 427
3066 channel = channel - __cil_tmp13;
3067 } else {
3068
3069 }
3070#line 428
3071 __cil_tmp14 = *data;
3072#line 428
3073 *data = __cil_tmp14 >> channel;
3074#line 429
3075 return (1);
3076}
3077}
3078#line 449 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
3079static int __unioxx5_analog_write(struct unioxx5_subd_priv *usp , unsigned int *data ,
3080 int channel , int minor )
3081{ int module ;
3082 int i ;
3083 int tmp ;
3084 unsigned char tmp___0 ;
3085 int __cil_tmp9 ;
3086 unsigned long __cil_tmp10 ;
3087 unsigned long __cil_tmp11 ;
3088 unsigned long __cil_tmp12 ;
3089 unsigned long __cil_tmp13 ;
3090 unsigned char __cil_tmp14 ;
3091 signed char __cil_tmp15 ;
3092 int __cil_tmp16 ;
3093 unsigned long __cil_tmp17 ;
3094 unsigned long __cil_tmp18 ;
3095 unsigned long __cil_tmp19 ;
3096 unsigned long __cil_tmp20 ;
3097 unsigned char __cil_tmp21 ;
3098 int __cil_tmp22 ;
3099 unsigned long __cil_tmp23 ;
3100 unsigned long __cil_tmp24 ;
3101 unsigned long __cil_tmp25 ;
3102 unsigned long __cil_tmp26 ;
3103 unsigned long __cil_tmp27 ;
3104 unsigned long __cil_tmp28 ;
3105 unsigned int __cil_tmp29 ;
3106 unsigned long __cil_tmp30 ;
3107 unsigned long __cil_tmp31 ;
3108 unsigned long __cil_tmp32 ;
3109 unsigned long __cil_tmp33 ;
3110 unsigned long __cil_tmp34 ;
3111 unsigned long __cil_tmp35 ;
3112 unsigned int __cil_tmp36 ;
3113 unsigned int __cil_tmp37 ;
3114 unsigned int __cil_tmp38 ;
3115 unsigned char __cil_tmp39 ;
3116 unsigned int __cil_tmp40 ;
3117 unsigned int __cil_tmp41 ;
3118 int __cil_tmp42 ;
3119 unsigned char __cil_tmp43 ;
3120 int __cil_tmp44 ;
3121 int __cil_tmp45 ;
3122 int __cil_tmp46 ;
3123 int __cil_tmp47 ;
3124 int __cil_tmp48 ;
3125 int __cil_tmp49 ;
3126 int __cil_tmp50 ;
3127 unsigned long __cil_tmp51 ;
3128 unsigned long __cil_tmp52 ;
3129 unsigned long __cil_tmp53 ;
3130 unsigned long __cil_tmp54 ;
3131 unsigned long __cil_tmp55 ;
3132 unsigned long __cil_tmp56 ;
3133 unsigned char __cil_tmp57 ;
3134 int __cil_tmp58 ;
3135 unsigned char __cil_tmp59 ;
3136 int __cil_tmp60 ;
3137 int __cil_tmp61 ;
3138
3139 {
3140#line 454
3141 module = channel / 2;
3142#line 455
3143 __cil_tmp9 = channel % 2;
3144#line 455
3145 i = __cil_tmp9 << 1;
3146 {
3147#line 458
3148 __cil_tmp10 = module * 1UL;
3149#line 458
3150 __cil_tmp11 = 4 + __cil_tmp10;
3151#line 458
3152 __cil_tmp12 = (unsigned long )usp;
3153#line 458
3154 __cil_tmp13 = __cil_tmp12 + __cil_tmp11;
3155#line 458
3156 __cil_tmp14 = *((unsigned char *)__cil_tmp13);
3157#line 458
3158 __cil_tmp15 = (signed char )__cil_tmp14;
3159#line 458
3160 __cil_tmp16 = (int )__cil_tmp15;
3161#line 458
3162 if (__cil_tmp16 >= 0) {
3163 {
3164#line 459
3165 __cil_tmp17 = module * 1UL;
3166#line 459
3167 __cil_tmp18 = 4 + __cil_tmp17;
3168#line 459
3169 __cil_tmp19 = (unsigned long )usp;
3170#line 459
3171 __cil_tmp20 = __cil_tmp19 + __cil_tmp18;
3172#line 459
3173 __cil_tmp21 = *((unsigned char *)__cil_tmp20);
3174#line 459
3175 __cil_tmp22 = (int )__cil_tmp21;
3176#line 459
3177 printk("<3>comedi%d: module in position %d with id 0x%0x is for input only!\n",
3178 minor, module, __cil_tmp22);
3179 }
3180#line 462
3181 return (0);
3182 } else {
3183
3184 }
3185 }
3186 {
3187#line 465
3188 __unioxx5_analog_config(usp, channel);
3189#line 467
3190 tmp = i;
3191#line 467
3192 i = i + 1;
3193#line 467
3194 __cil_tmp23 = tmp * 1UL;
3195#line 467
3196 __cil_tmp24 = module * 4UL;
3197#line 467
3198 __cil_tmp25 = __cil_tmp24 + __cil_tmp23;
3199#line 467
3200 __cil_tmp26 = 16 + __cil_tmp25;
3201#line 467
3202 __cil_tmp27 = (unsigned long )usp;
3203#line 467
3204 __cil_tmp28 = __cil_tmp27 + __cil_tmp26;
3205#line 467
3206 __cil_tmp29 = *data;
3207#line 467
3208 *((unsigned char *)__cil_tmp28) = (unsigned char )__cil_tmp29;
3209#line 469
3210 __cil_tmp30 = i * 1UL;
3211#line 469
3212 __cil_tmp31 = module * 4UL;
3213#line 469
3214 __cil_tmp32 = __cil_tmp31 + __cil_tmp30;
3215#line 469
3216 __cil_tmp33 = 16 + __cil_tmp32;
3217#line 469
3218 __cil_tmp34 = (unsigned long )usp;
3219#line 469
3220 __cil_tmp35 = __cil_tmp34 + __cil_tmp33;
3221#line 469
3222 __cil_tmp36 = *data;
3223#line 469
3224 __cil_tmp37 = __cil_tmp36 & 65280U;
3225#line 469
3226 __cil_tmp38 = __cil_tmp37 >> 8;
3227#line 469
3228 *((unsigned char *)__cil_tmp35) = (unsigned char )__cil_tmp38;
3229#line 473
3230 __cil_tmp39 = (unsigned char )module;
3231#line 473
3232 __cil_tmp40 = (unsigned int )__cil_tmp39;
3233#line 473
3234 __cil_tmp41 = __cil_tmp40 + 1U;
3235#line 473
3236 __cil_tmp42 = (int )__cil_tmp41;
3237#line 473
3238 __cil_tmp43 = (unsigned char )__cil_tmp42;
3239#line 473
3240 __cil_tmp44 = *((int *)usp);
3241#line 473
3242 __cil_tmp45 = __cil_tmp44 + 5;
3243#line 473
3244 outb(__cil_tmp43, __cil_tmp45);
3245#line 474
3246 __cil_tmp46 = *((int *)usp);
3247#line 474
3248 __cil_tmp47 = __cil_tmp46 + 6;
3249#line 474
3250 outb((unsigned char)87, __cil_tmp47);
3251#line 477
3252 i = 0;
3253 }
3254#line 477
3255 goto ldv_19442;
3256 ldv_19441: ;
3257#line 478
3258 goto ldv_19439;
3259 ldv_19438: ;
3260 ldv_19439:
3261 {
3262#line 478
3263 __cil_tmp48 = *((int *)usp);
3264#line 478
3265 tmp___0 = inb(__cil_tmp48);
3266 }
3267 {
3268#line 478
3269 __cil_tmp49 = (int )tmp___0;
3270#line 478
3271 __cil_tmp50 = __cil_tmp49 & 16;
3272#line 478
3273 if (__cil_tmp50 == 0) {
3274#line 479
3275 goto ldv_19438;
3276 } else {
3277#line 481
3278 goto ldv_19440;
3279 }
3280 }
3281 ldv_19440:
3282 {
3283#line 480
3284 __cil_tmp51 = i * 1UL;
3285#line 480
3286 __cil_tmp52 = module * 4UL;
3287#line 480
3288 __cil_tmp53 = __cil_tmp52 + __cil_tmp51;
3289#line 480
3290 __cil_tmp54 = 16 + __cil_tmp53;
3291#line 480
3292 __cil_tmp55 = (unsigned long )usp;
3293#line 480
3294 __cil_tmp56 = __cil_tmp55 + __cil_tmp54;
3295#line 480
3296 __cil_tmp57 = *((unsigned char *)__cil_tmp56);
3297#line 480
3298 __cil_tmp58 = (int )__cil_tmp57;
3299#line 480
3300 __cil_tmp59 = (unsigned char )__cil_tmp58;
3301#line 480
3302 __cil_tmp60 = *((int *)usp);
3303#line 480
3304 __cil_tmp61 = __cil_tmp60 + 6;
3305#line 480
3306 outb(__cil_tmp59, __cil_tmp61);
3307#line 477
3308 i = i + 1;
3309 }
3310 ldv_19442: ;
3311#line 477
3312 if (i <= 3) {
3313#line 478
3314 goto ldv_19441;
3315 } else {
3316#line 480
3317 goto ldv_19443;
3318 }
3319 ldv_19443: ;
3320#line 483
3321 return (1);
3322}
3323}
3324#line 486 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
3325static int __unioxx5_analog_read(struct unioxx5_subd_priv *usp , unsigned int *data ,
3326 int channel , int minor )
3327{ int module_no ;
3328 int read_ch ;
3329 char control ;
3330 unsigned char tmp ;
3331 unsigned char tmp___0 ;
3332 unsigned short tmp___1 ;
3333 unsigned short tmp___2 ;
3334 unsigned long __cil_tmp12 ;
3335 unsigned long __cil_tmp13 ;
3336 unsigned long __cil_tmp14 ;
3337 unsigned long __cil_tmp15 ;
3338 unsigned char __cil_tmp16 ;
3339 signed char __cil_tmp17 ;
3340 int __cil_tmp18 ;
3341 unsigned long __cil_tmp19 ;
3342 unsigned long __cil_tmp20 ;
3343 unsigned long __cil_tmp21 ;
3344 unsigned long __cil_tmp22 ;
3345 unsigned char __cil_tmp23 ;
3346 int __cil_tmp24 ;
3347 unsigned char __cil_tmp25 ;
3348 unsigned int __cil_tmp26 ;
3349 unsigned int __cil_tmp27 ;
3350 int __cil_tmp28 ;
3351 unsigned char __cil_tmp29 ;
3352 int __cil_tmp30 ;
3353 int __cil_tmp31 ;
3354 int __cil_tmp32 ;
3355 int __cil_tmp33 ;
3356 int __cil_tmp34 ;
3357 int __cil_tmp35 ;
3358 int __cil_tmp36 ;
3359 int __cil_tmp37 ;
3360 int __cil_tmp38 ;
3361 int __cil_tmp39 ;
3362 int __cil_tmp40 ;
3363 int __cil_tmp41 ;
3364 int __cil_tmp42 ;
3365
3366 {
3367#line 492
3368 module_no = channel / 2;
3369#line 493
3370 read_ch = channel % 2;
3371 {
3372#line 496
3373 __cil_tmp12 = module_no * 1UL;
3374#line 496
3375 __cil_tmp13 = 4 + __cil_tmp12;
3376#line 496
3377 __cil_tmp14 = (unsigned long )usp;
3378#line 496
3379 __cil_tmp15 = __cil_tmp14 + __cil_tmp13;
3380#line 496
3381 __cil_tmp16 = *((unsigned char *)__cil_tmp15);
3382#line 496
3383 __cil_tmp17 = (signed char )__cil_tmp16;
3384#line 496
3385 __cil_tmp18 = (int )__cil_tmp17;
3386#line 496
3387 if (__cil_tmp18 < 0) {
3388 {
3389#line 497
3390 __cil_tmp19 = module_no * 1UL;
3391#line 497
3392 __cil_tmp20 = 4 + __cil_tmp19;
3393#line 497
3394 __cil_tmp21 = (unsigned long )usp;
3395#line 497
3396 __cil_tmp22 = __cil_tmp21 + __cil_tmp20;
3397#line 497
3398 __cil_tmp23 = *((unsigned char *)__cil_tmp22);
3399#line 497
3400 __cil_tmp24 = (int )__cil_tmp23;
3401#line 497
3402 printk("<3>comedi%d: module in position %d with id 0x%02x is for output only",
3403 minor, module_no, __cil_tmp24);
3404 }
3405#line 500
3406 return (0);
3407 } else {
3408
3409 }
3410 }
3411 {
3412#line 503
3413 __unioxx5_analog_config(usp, channel);
3414#line 505
3415 __cil_tmp25 = (unsigned char )module_no;
3416#line 505
3417 __cil_tmp26 = (unsigned int )__cil_tmp25;
3418#line 505
3419 __cil_tmp27 = __cil_tmp26 + 1U;
3420#line 505
3421 __cil_tmp28 = (int )__cil_tmp27;
3422#line 505
3423 __cil_tmp29 = (unsigned char )__cil_tmp28;
3424#line 505
3425 __cil_tmp30 = *((int *)usp);
3426#line 505
3427 __cil_tmp31 = __cil_tmp30 + 5;
3428#line 505
3429 outb(__cil_tmp29, __cil_tmp31);
3430#line 506
3431 __cil_tmp32 = *((int *)usp);
3432#line 506
3433 __cil_tmp33 = __cil_tmp32 + 6;
3434#line 506
3435 outb((unsigned char)86, __cil_tmp33);
3436#line 507
3437 __cil_tmp34 = *((int *)usp);
3438#line 507
3439 tmp = inb(__cil_tmp34);
3440#line 507
3441 control = (char )tmp;
3442 }
3443#line 510
3444 goto ldv_19454;
3445 ldv_19453: ;
3446 ldv_19454:
3447 {
3448#line 510
3449 __cil_tmp35 = *((int *)usp);
3450#line 510
3451 tmp___0 = inb(__cil_tmp35);
3452#line 510
3453 control = (char )tmp___0;
3454 }
3455 {
3456#line 510
3457 __cil_tmp36 = (int )control;
3458#line 510
3459 if (__cil_tmp36 >= 0) {
3460#line 511
3461 goto ldv_19453;
3462 } else {
3463#line 513
3464 goto ldv_19455;
3465 }
3466 }
3467 ldv_19455: ;
3468 {
3469#line 514
3470 __cil_tmp37 = (int )control;
3471#line 514
3472 __cil_tmp38 = __cil_tmp37 & 8;
3473#line 514
3474 if (__cil_tmp38 != 0) {
3475 {
3476#line 515
3477 printk("COMEDI: 4 bytes error\n");
3478 }
3479#line 516
3480 return (0);
3481 } else {
3482
3483 }
3484 }
3485#line 519
3486 if (read_ch != 0) {
3487 {
3488#line 520
3489 __cil_tmp39 = *((int *)usp);
3490#line 520
3491 __cil_tmp40 = __cil_tmp39 + 6;
3492#line 520
3493 tmp___1 = inw(__cil_tmp40);
3494#line 520
3495 *data = (unsigned int )tmp___1;
3496 }
3497 } else {
3498 {
3499#line 522
3500 __cil_tmp41 = *((int *)usp);
3501#line 522
3502 __cil_tmp42 = __cil_tmp41 + 4;
3503#line 522
3504 tmp___2 = inw(__cil_tmp42);
3505#line 522
3506 *data = (unsigned int )tmp___2;
3507 }
3508 }
3509#line 524
3510 return (1);
3511}
3512}
3513#line 528 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
3514static void __unioxx5_analog_config(struct unioxx5_subd_priv *usp , int channel )
3515{ int chan_a ;
3516 int chan_b ;
3517 int conf ;
3518 int channel_offset ;
3519 int __cil_tmp7 ;
3520 unsigned long __cil_tmp8 ;
3521 unsigned long __cil_tmp9 ;
3522 unsigned long __cil_tmp10 ;
3523 unsigned long __cil_tmp11 ;
3524 unsigned char __cil_tmp12 ;
3525 unsigned int __cil_tmp13 ;
3526 unsigned int __cil_tmp14 ;
3527 int __cil_tmp15 ;
3528 int __cil_tmp16 ;
3529 int __cil_tmp17 ;
3530 int __cil_tmp18 ;
3531 int __cil_tmp19 ;
3532 int __cil_tmp20 ;
3533 int __cil_tmp21 ;
3534 int __cil_tmp22 ;
3535 unsigned char __cil_tmp23 ;
3536 int __cil_tmp24 ;
3537 unsigned char __cil_tmp25 ;
3538 int __cil_tmp26 ;
3539 int __cil_tmp27 ;
3540 int __cil_tmp28 ;
3541 int __cil_tmp29 ;
3542 unsigned long __cil_tmp30 ;
3543 unsigned long __cil_tmp31 ;
3544 unsigned long __cil_tmp32 ;
3545 unsigned long __cil_tmp33 ;
3546
3547 {
3548 {
3549#line 532
3550 channel_offset = __unioxx5_define_chan_offset(channel);
3551#line 533
3552 __cil_tmp7 = channel_offset + -1;
3553#line 533
3554 __cil_tmp8 = __cil_tmp7 * 1UL;
3555#line 533
3556 __cil_tmp9 = 67 + __cil_tmp8;
3557#line 533
3558 __cil_tmp10 = (unsigned long )usp;
3559#line 533
3560 __cil_tmp11 = __cil_tmp10 + __cil_tmp9;
3561#line 533
3562 __cil_tmp12 = *((unsigned char *)__cil_tmp11);
3563#line 533
3564 conf = (int )__cil_tmp12;
3565#line 534
3566 chan_b = 1;
3567#line 534
3568 chan_a = chan_b;
3569 }
3570 {
3571#line 537
3572 __cil_tmp13 = (unsigned int )channel;
3573#line 537
3574 __cil_tmp14 = __cil_tmp13 & 1U;
3575#line 537
3576 if (__cil_tmp14 == 0U) {
3577#line 538
3578 __cil_tmp15 = channel & 7;
3579#line 538
3580 chan_a = chan_a << __cil_tmp15;
3581#line 539
3582 __cil_tmp16 = channel + 1;
3583#line 539
3584 __cil_tmp17 = __cil_tmp16 & 7;
3585#line 539
3586 chan_b = chan_b << __cil_tmp17;
3587 } else {
3588#line 541
3589 __cil_tmp18 = channel + -1;
3590#line 541
3591 __cil_tmp19 = __cil_tmp18 & 7;
3592#line 541
3593 chan_a = chan_a << __cil_tmp19;
3594#line 542
3595 __cil_tmp20 = channel & 7;
3596#line 542
3597 chan_b = chan_b << __cil_tmp20;
3598 }
3599 }
3600 {
3601#line 545
3602 conf = conf | chan_a;
3603#line 546
3604 __cil_tmp21 = ~ chan_b;
3605#line 546
3606 conf = __cil_tmp21 & conf;
3607#line 548
3608 __cil_tmp22 = *((int *)usp);
3609#line 548
3610 outb((unsigned char)1, __cil_tmp22);
3611#line 549
3612 __cil_tmp23 = (unsigned char )conf;
3613#line 549
3614 __cil_tmp24 = (int )__cil_tmp23;
3615#line 549
3616 __cil_tmp25 = (unsigned char )__cil_tmp24;
3617#line 549
3618 __cil_tmp26 = *((int *)usp);
3619#line 549
3620 __cil_tmp27 = __cil_tmp26 + channel_offset;
3621#line 549
3622 outb(__cil_tmp25, __cil_tmp27);
3623#line 550
3624 __cil_tmp28 = *((int *)usp);
3625#line 550
3626 outb((unsigned char)0, __cil_tmp28);
3627#line 552
3628 __cil_tmp29 = channel_offset + -1;
3629#line 552
3630 __cil_tmp30 = __cil_tmp29 * 1UL;
3631#line 552
3632 __cil_tmp31 = 67 + __cil_tmp30;
3633#line 552
3634 __cil_tmp32 = (unsigned long )usp;
3635#line 552
3636 __cil_tmp33 = __cil_tmp32 + __cil_tmp31;
3637#line 552
3638 *((unsigned char *)__cil_tmp33) = (unsigned char )conf;
3639 }
3640#line 553
3641 return;
3642}
3643}
3644#line 562 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
3645static int __unioxx5_define_chan_offset(int chan_num )
3646{ int __cil_tmp2 ;
3647
3648 {
3649#line 565
3650 if (chan_num < 0) {
3651#line 566
3652 return (-1);
3653 } else
3654#line 565
3655 if (chan_num > 23) {
3656#line 566
3657 return (-1);
3658 } else {
3659
3660 }
3661 {
3662#line 568
3663 __cil_tmp2 = chan_num >> 3;
3664#line 568
3665 return (__cil_tmp2 + 1);
3666 }
3667}
3668}
3669#line 591
3670extern void ldv_check_final_state(void) ;
3671#line 597
3672extern void ldv_initialize(void) ;
3673#line 600
3674extern int __VERIFIER_nondet_int(void) ;
3675#line 603 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
3676int LDV_IN_INTERRUPT ;
3677#line 606 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
3678void main(void)
3679{ struct comedi_device *var_group1 ;
3680 struct comedi_devconfig *var_group2 ;
3681 int tmp ;
3682 int tmp___0 ;
3683 int tmp___1 ;
3684
3685 {
3686 {
3687#line 668
3688 LDV_IN_INTERRUPT = 1;
3689#line 677
3690 ldv_initialize();
3691#line 699
3692 tmp = unioxx5_driver_init_module();
3693 }
3694#line 699
3695 if (tmp != 0) {
3696#line 700
3697 goto ldv_final;
3698 } else {
3699
3700 }
3701#line 708
3702 goto ldv_19490;
3703 ldv_19489:
3704 {
3705#line 711
3706 tmp___0 = __VERIFIER_nondet_int();
3707 }
3708#line 713
3709 if (tmp___0 == 0) {
3710#line 713
3711 goto case_0;
3712 } else
3713#line 749
3714 if (tmp___0 == 1) {
3715#line 749
3716 goto case_1;
3717 } else {
3718 {
3719#line 785
3720 goto switch_default;
3721#line 711
3722 if (0) {
3723 case_0:
3724 {
3725#line 737
3726 unioxx5_attach(var_group1, var_group2);
3727 }
3728#line 748
3729 goto ldv_19486;
3730 case_1:
3731 {
3732#line 773
3733 unioxx5_detach(var_group1);
3734 }
3735#line 784
3736 goto ldv_19486;
3737 switch_default: ;
3738#line 785
3739 goto ldv_19486;
3740 } else {
3741 switch_break: ;
3742 }
3743 }
3744 }
3745 ldv_19486: ;
3746 ldv_19490:
3747 {
3748#line 708
3749 tmp___1 = __VERIFIER_nondet_int();
3750 }
3751#line 708
3752 if (tmp___1 != 0) {
3753#line 709
3754 goto ldv_19489;
3755 } else {
3756#line 711
3757 goto ldv_19491;
3758 }
3759 ldv_19491: ;
3760 {
3761#line 813
3762 unioxx5_driver_cleanup_module();
3763 }
3764 ldv_final:
3765 {
3766#line 820
3767 ldv_check_final_state();
3768 }
3769#line 823
3770 return;
3771}
3772}
3773#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
3774void ldv_blast_assert(void)
3775{
3776
3777 {
3778 ERROR: ;
3779#line 6
3780 goto ERROR;
3781}
3782}
3783#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
3784extern int __VERIFIER_nondet_int(void) ;
3785#line 844 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
3786int ldv_spin = 0;
3787#line 848 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
3788void ldv_check_alloc_flags(gfp_t flags )
3789{
3790
3791 {
3792#line 851
3793 if (ldv_spin != 0) {
3794#line 851
3795 if (flags != 32U) {
3796 {
3797#line 851
3798 ldv_blast_assert();
3799 }
3800 } else {
3801
3802 }
3803 } else {
3804
3805 }
3806#line 854
3807 return;
3808}
3809}
3810#line 854
3811extern struct page *ldv_some_page(void) ;
3812#line 857 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
3813struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
3814{ struct page *tmp ;
3815
3816 {
3817#line 860
3818 if (ldv_spin != 0) {
3819#line 860
3820 if (flags != 32U) {
3821 {
3822#line 860
3823 ldv_blast_assert();
3824 }
3825 } else {
3826
3827 }
3828 } else {
3829
3830 }
3831 {
3832#line 862
3833 tmp = ldv_some_page();
3834 }
3835#line 862
3836 return (tmp);
3837}
3838}
3839#line 866 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
3840void ldv_check_alloc_nonatomic(void)
3841{
3842
3843 {
3844#line 869
3845 if (ldv_spin != 0) {
3846 {
3847#line 869
3848 ldv_blast_assert();
3849 }
3850 } else {
3851
3852 }
3853#line 872
3854 return;
3855}
3856}
3857#line 873 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
3858void ldv_spin_lock(void)
3859{
3860
3861 {
3862#line 876
3863 ldv_spin = 1;
3864#line 877
3865 return;
3866}
3867}
3868#line 880 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
3869void ldv_spin_unlock(void)
3870{
3871
3872 {
3873#line 883
3874 ldv_spin = 0;
3875#line 884
3876 return;
3877}
3878}
3879#line 887 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
3880int ldv_spin_trylock(void)
3881{ int is_lock ;
3882
3883 {
3884 {
3885#line 892
3886 is_lock = __VERIFIER_nondet_int();
3887 }
3888#line 894
3889 if (is_lock != 0) {
3890#line 897
3891 return (0);
3892 } else {
3893#line 902
3894 ldv_spin = 1;
3895#line 904
3896 return (1);
3897 }
3898}
3899}
3900#line 1049 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
3901__inline static void *kcalloc(size_t n , size_t size , gfp_t flags )
3902{
3903
3904 {
3905 {
3906#line 1056
3907 ldv_check_alloc_flags(flags);
3908#line 1058
3909 ldv_kcalloc_14(n, size, flags);
3910 }
3911#line 1059
3912 return ((void *)0);
3913}
3914}
3915#line 1071 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
3916void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
3917{
3918
3919 {
3920 {
3921#line 1077
3922 ldv_check_alloc_flags(ldv_func_arg2);
3923#line 1079
3924 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
3925 }
3926#line 1080
3927 return ((void *)0);
3928}
3929}
3930#line 1082 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5958/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/unioxx5.c.p"
3931__inline static void *kzalloc(size_t size , gfp_t flags )
3932{ void *tmp ;
3933
3934 {
3935 {
3936#line 1088
3937 ldv_check_alloc_flags(flags);
3938#line 1089
3939 tmp = __VERIFIER_nondet_pointer();
3940 }
3941#line 1089
3942 return (tmp);
3943}
3944}